Monthly Archives: November 2014

2型糖尿病患者のHbA1c, 収縮期血圧, LDL-C値コントロールはどれくらいが妥当なのか?

まさひろ@メディカル担当です.

実に数ヶ月ぶりの論文抄録です.
更新が滞ってしまい, 大変申し訳ありません.

今回のお題論文はこちらです↓
All-cause mortality in patients with type 2 diabetes in association with achieved hemoglobin a1c, systolic blood pressure, and low-density lipoprotein cholesterol levels.
http://www.ncbi.nlm.nih.gov/pubmed/25347712
こちらは全文フリーで論文が手に入ります. → PDF

【論文は妥当か?】

【Patient】 台湾にて2型糖尿病に罹患した18歳以上の患者12,643人
【Exposure】 HbA1c, 収縮期血圧, LDL-C値のコントロール幅
【Comparison】 比較なし
【Outcome】 全死亡
研究デザイン A retrospective cohort study(後ろ向きコホート研究)

【結果は何か?】
得られたデータを解析した結果, A1c, 収縮期血圧(SBP, mmHg), LDL-C(mg/dl)と全死亡とはU字カーブの関係を示し,
以下の値の範囲にコントロールすると最も全死亡を低くコントロールできた.

項目 コントロール範囲 相対リスク比(95%CI)
HbA1c(%) 7.0–8.0 0.69 (0.62–0.77)
SBP (mmHg) 130–140 0.80 (0.72–0.90)
LDL-C (mg/dL) 100–130 0.68 (0.61–0.75)

*年齢・性別の他に, 心筋梗塞、うっ血性心不全、脳卒中、悪性新生物、慢性腎疾患の既往、
インスリン使用、降圧薬の使用、任意の脂質低下薬、抗血小板薬の使用といった交絡因子で調整済み

【結果は役に立つか?】
2型糖尿病に関しては以前から言われている通り, 厳格な血糖, 血圧, 脂質コントロールはむしろ有害であるということを裏付ける結果ではないでしょうか.
観察研究ですが, 非常に貴重な報告であると思っております.


JJCLIP#16 抗インフルエンザ薬の予防効果は如何程?

まさひろ@メディカル担当です.
毎月恒例, 薬剤師のジャーナルクラブ開催のお知らせでございます.

平成26年度第8回薬剤師のジャーナルクラブ開催のお知らせ

開催日時:平成26年12月14日(日曜日)
■午後20時45分頃 仮配信
■午後21時00分頃 本配信
なお配信時間は90分を予定しております.

※ツイキャス配信はこちらから→http://twitcasting.tv/89089314

ツイキャス司会進行は、精神科薬剤師くわばらひでのり@89089314先生です.
ご不明な点などありましたら, 薬剤師のジャーナルクラブFacebookページから、又はtwitterアカウント@pharmasahiroまでご連絡いただけると幸いです.

[症例15:抗インフルエンザ薬の予防効果は如何程?]

【仮想症例シナリオ】
あなたは, 保険薬局の薬剤師です.
本格的な冬の寒さが到来し, 徐々にではありますが風邪などの急性疾患で来局する患者が増えてきていました.
そんなある平日の昼下がり, 午前の外来業務が終わり一息ついていたところ,
とある女性が突然やってきました.

「どうも娘の通う保育園でインフルエンザに罹った子がいるみたいなんです. 家族全員で予防接種を受けようと思っていたらもう流行していてびっくり!今年は予防接種じゃなくて, インフルエンザの薬を予防でもらった方がいいのかしら?」

こちらの女性(30代)は, 普段抗ヒスタミン剤の内服薬や皮膚科外用薬といった処方薬を受け取りに来局される方で, 薬のことだけではなくご自身やご家族の健康に関する相談もよく受けており, あなたも女性のことはよく覚えていました.

【女性とご家族について】
共働き(30代の旦那さま)で保育園に通う娘さん(4歳)と, 親夫婦(60代)の5人家族.
娘さんとご主人は持病や定期服用薬はなし.
親夫婦に関しては現病や服用薬などの詳細はわからない.

抗インフルエンザ薬がインフルエンザの発症に対してどの程度予防効果があるのか,
あなたはこの臨床疑問を解決すべくpubmedを検索した結果, 次のような論文を見つけました.

[文献タイトルと出典]
Laninamivir octanoate for post-exposure prophylaxis of influenza in household contacts: a randomized double blind placebo controlled trial.
Pubmed : http://www.ncbi.nlm.nih.gov/pubmed/23732307
PDF → http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3738841/pdf/10156_2013_Article_622.pdf


今回もわたくしがシナリオ作成を担当させていただきました.

インフルエンザ, どうも今年は流行のペースが早いようですね.
インフルエンザ患者数が前週より倍増、今シーズンで最多
予防接種から薬までいろいろな情報やら個々人の想いがネット上で錯綜している印象です.
どういった情報が妥当なのか, またそう判断するにはどういったことに注意して情報を吟味すればよいのか,
そういったことも今回の抄読会で取り扱ってゆけたらと思っています.

@syuichiao先生のブログにインフルエンザに関して非常にわかりやすい記事があります. ぜひご参考にしていただければと思います.

今回はRCTを取り扱いますので,
ランダム化比較試験を10分で読むワークシートもご活用ください.

いつものように, 放送中に頂くコメントへは随時お答えさせていただきます.
皆様にとって, 貴重で愉しい抄読会となれるよう鋭意努力いたします.

それでは, ネットの世界で皆様とお会いできることを心待ちにしております.

薬剤師のジャーナルクラブ(Japanese Journal Club for Clinical Pharmacists:JJCLIP)とは、薬剤師がEBMを実践するための学びの場を提供するSNSコミュニティです.現在は@89089314先生、@syuichiao先生、そしてわたくし@pharmasahiroの3名をコアメンバーとして運営しております.


Xcode + Vuforia + Unityのセットアップ 2回目

前回ではVuforiaのサンプルコードの実行を行いました。

Xcode + Vuforia + Unityのセットアップ 1回目

今回は続きを行っていきます。基本にするのは次の記事です。

無料ライブラリ「Vuforia」でARアプリを作る!①【発掘篇】

Vuforia SDK with Xcode 6.1

今回はVuforia SDKを使ってXcodeから開発はしない予定なので、ここでは何もしません。調べた事柄だけ並べます。

Vuforia is NOT friendly to Xcode 6.1, but compatible.

ライブラリの悲しさはOSやIDEなどのアップデートで環境が壊れてしまうことでして、Vuforiaも例外ではありません。

Vuforia, Unity and IOS8 troubles.

具体的には次の二点が問題になります。

  1. Vuforiaは64bitに対応していない
  2. iOS 7以降ではカメラの実行に明示的に許可を得る必要がある

後者はよく出る「〜〜はカメラへのアクセスを求めています」っていうダイアログが出るあれだと思います。あれで許可を得ないとカメラが使えないので画面が真っ暗になる、はず。

とはいえサンプルコードが実行できたことを考えると、何とかなっちゃうことも事実ですね。

64bit未対応&カメラアクセス許可への対処

64bit未対応なので(arm64では動かない)32bit向けに作ればよさそうです。これはサンプルコードで実施した覚えがあります。

カメラへのアクセスを行うためのコードは随所にかかれてますね。iOS開発では本当にこういう方々の情報が頼りになります。たまにうまくいかないこともあったり間違っていたりすることもあるんですが。

この辺りは次のポストが参考になります。というかコレだのみです。

iOS 8, Xcode 6 and Vuforia 3.0 compatibility

Vuforia SDK with Xcode 6.1 using iOS 7.1.1 SDK

昔のXcodeでビルドできたのなら、そのバージョンのXcodeを使い続けるってことも考えられます。特に必要になるのはiOS SDKなので、それだけ抜き出してXcode 6.1で使うってこともできなくはないです。

iOS SDKのみインストール

Is it possible to install iOS 7 SDK on Xcode 6?

Can you use XCode6 with IOS7.1 SDK

現状必要なさそうなので、特に実施しませんでした。

Vuforia SDKの辛さ

さて、とりあえずサンプルアプリが動きましたが、これからは自分で作成したマーカーに対して、自分で作成した3Dモデルの表示をやる必要があります。その手順がこちら。

無料ライブラリ「Vuforia」でARアプリを作る!③【自作モデルデータに置き換え篇】 | 日本VTR実験室

つ、辛い。AR系のアプリでは基本的に、コードをプログラマが、3Dモデルをデザイナーが分担して作成していくことになると思いますが(兼業できる方を除く)、経験上3Dオブジェクトを動かしたりするときのチューニングでは互いにファイルのやりとりを行っていきます。そのときにデザイナーが理解し難い形式のファイルが入ったりしちゃうと本当にやりにくいんです。お互いに何をやっているかわからない状態になってしまうと、ほんとうに辛い。

また別の問題として、マルチデバイス対応の問題があります。iOS向けのコードは、Objective-CもSwiftもAndroidにそのまま移植はできないため、都度書き直す必要があります。ここで、3Dモデルの更新を行うたびにiOS用のアプリとAndroid用のアプリを全く別の手順で作成するとなると、まあ辛いです。

そして何より、3Dモデルの動きとかライティングとかを変化させたいとき、それを確認する手段がコードを書いて実機で実行するしかないのはつらいです。

というわけで、Vuforia SDK+Xcodeだけでのアプリの作成は諦めました。

Vuforia + Unity!

上記のような問題にぶち当たりましたので、別手段をとります。具体的にはVuforiaのUnity Extensionを用いて開発を試みます。

Unityについて

Unityはマルチプラットフォームのゲームエンジンです。その手の業界ではUnreal Engineと人気を二分するとかしないとか言われていますが、このあたりの業界の動きは早すぎる上にあまり詳しくないのでわからないです。

Unityの最大の特徴は、そのコミュニティーの大きさです。無料版で商用利用可能なUnityの存在やアセットストアの存在からか、様々なツールとの連携がとれます。また、iOSやAndroidのアプリ作成が無料で可能です。Oculus RiftもUnityから開発ができますね。

とはいえ僕はUnityに詳しくないのであとでこの辺りを参考にして学習していきます。

Unity入門 (全26回) – プログラミングならドットインストール #dotinstall

初心者でもできる! 7日間で作るUnityゲーム開発

UnityをC#で超入門してみる #1 Unity入門の章

Unityのセットアップ

まずはUnityのセットアップから。今回はUnity Pro(有償)ではなくUnity(無償)を使っていきます。Unity Pro + iOS Pro + Android Proってなるとえらい金額になってしまうのです。行うことは、Unityのダウンロードとアカウントの作成です。またか。

[Unity] Unity for Mac インストール

macの場合、ダウンロードとインストールはhomebrewを用いてもできるようです。が、僕は試していません。homebrew-caskを有効にした上で、次でたぶんOK?

brew cask install unity

Unity Extension – Vuforia 3.0の開発環境構築

無事Unityのインストールもできたところで、次はUnityからVuforiaを使っていきます。

さて。何度か書いていますが、iOSは動きが早いのでVuforiaをがんばってその上で使っていく状況です。で、さっき書きましたが、Unityは動きが早いです。何か嫌な予感がしますので、人柱erの方々に頼っていきます。

とはいえ、VuforiaのUnity Extensionについては、かなり分かりやすい手順が公開されているのでこちらを参照します。「どうせXcode 6.1対応が必要なんだろうなあ」と思いながらやっていきます。

ゲームツクール第1回 Unity x VuforiaでARカメラを作ろう!

20140514在校生向けUnity&AR講座

まずはUnity Extensionをインポートします。Unity側の用語では、Assetのインポートになるんでしょうか。

  1. New Project… でCreate New Projectから適当な名前でプロジェクト作成
  2. Assets > Import Package > Custom Packageから、Unity Extension (vuforia-unity-android-ios-3-x-x.unitypackageという名前のファイル)を選択
  3. すべてにチェックが入った状態で、importをクリック

すると、Vuforiaがメニューに追加されているはずです。

Vuforia公式にはAsset Storeからの購入でも良いと書かれていますが、検索に引っかかりませんでした。何かあったんですかね…?

Unity Extension – Vuforia 3.0を使ってみる

まずはマーカー画像の前処理を行います。今度はWebブラウザでの作業ですね。この辺りは先程のSlideshareの資料が詳しく説明していただけているのでそちらの参照を強く薦めます。

20140514在校生向けUnity&AR講座

なお、マーカー画像は笑い男マークでいきます。

  1. Target Managerからデータベース作成(今回はLaughingMan)
  2. LaughingMan をクリックしデータベースを開き、Add Targetからデータベースに画像を追加
  3. Target Nameに”LaughingMan”, Target Typeに”Single Image”, Target Dimensionに”600″を入力
  4. 画像ファイルを選択してアップロード
  5. LaughingManをクリックしてデータベースを選択、Download Selected Databaseをクリック
  6. Unity Editorを選択してダウンロード

ハマりどころは、次の二点でした。

  • データベース名, Target Nameともにスペースや記号などが使えません(アンダースコアは可)
  • 利用できる画像ファイルは8 bitグレースケールか24 bit RGBのJPGかPNGだけです

なお、600なんて大きすぎる値を入力してしまったので後で10に調整しています。単位はよくわからないです。

画像の形式が合致しない時のmacでの対処法は、プレビューからJPG形式で書き出せばOKです。以下、スライドに従って設定していきます。設定時のメモです。

  • Image Targetのインスペクタ(右側に表示されている)のImage Target Behaviorの設定で、DatasetはWebから作成したデータベース名、Image TargetはTarget Nameを入力する
  • Image TargetのImage Target BehaviorからWidthを10に設定する

で、モデルを読み込むのですが、今回は簡単のためCubeを作成して代わりにします。こんな感じ。

ARCameraの位置も見下ろすように調整しました。

Directional Lightも作成して…

Main Cameraを削除。Build SettingsからPlatformでiOSを選択、Switch Platformをクリック(いらないかも)して、端末をmacに接続。Build & Run。

するとクラッシュします。うええええええ…。

Unity + VuforiaをiPhone 6 Plusに対応させる

クラッシュした原因として、僕のiPhoneがiPhone 6 Plusなことが理由としてありそうなので、そこの対処を行います。

Unity3D – Unity+VuforiaがiPhone6+でクラッシュする on @Qiita

Info.plistにキー”Initial interface orientation”を加え、値を”Landscape (left home button)”に設定、リビルド。

今度はうまくできました。せっかくなので、次を参考にして自動化を試みます。

Unity iOSビルド時にinfo.plistに設定を自動で登録する

Unity3D – Unity+VuforiaがiPhone6+でクラッシュするので、自動でInfo.plistを書き換えるようにしてみたメモ on @Qiita

頑張って作成したファイルをAssets/Editor/PlistMod.csに保存すると、今度は実行できるようになります。成し遂げた。

MMD対応

せっかくなので、表示するものをCubeから変更しましょう。今回はMMDを読み込めるようにします。

Stereoarts Homepage

MMD4Mecanimを使用してMMDモデルにUnityで踊って頂いてみた。 by @hiroyuki_hon on @Qiita

配布元のサイトの手順に従い、アセットをDLして、プロジェクトに追加します。

読み込むならもちろんチルノちゃんですよね!ゆきはね式チルノで頑張ります。

【東方MMD】⑨【モデル配布】 (0:30)

フォルダをどかんとUnityのプロジェクトに登録していくのですが、すっごく負荷がかかります…。祈りながら待ちましょう。モーションもお借りします。

WAVEFILE fullver. モーション

またものすごい負荷がかかるので、祈りながら待ちます。で、こんな感じで配置。

実行。

成し遂げたのぜ。

結論

  1. モバイルのARアプリは、少なくともXcode 6.1 + Vuforia 3.0 + Unity 4.5.5 で作成できる
  2. 3DモデルはFBX形式にすれば読み込める
  3. チルノちゃんマジフェアリー

have a fun!


Xcode + Vuforia + Unityのセットアップ 1回目

ARの技術研究のために、Xcode + Vuforia + Unityのセットアップをします。ゴールは、任意の画像を認識させて任意の3Dオブジェクトを表示させることとします。

第一回目ではiOSの開発環境構築(Xcode 6.1利用)と、Vuforiaのサンプルコード実行を目指します。

iOSの開発環境構築

これは基本的にはXcodeのセットアップをすれば完了。ただ、今回ARをやりたいので、カメラ必須。ということで実機を使って開発できるようにセットアップしていきます

iOSのデベロッパー登録

世の中にこの手のノウハウは溢れているのでその利益を享受します。

ひさびさにiOSデベロッパー登録やってみた(・ω・)ノシ (1)Apple ID作成

ハマったどころは国際電話番号と、英語での住所登録でした。気がついたらiOSのデベロッパー登録料がかなり安くなっててびっくり。

XcodeにAppleIDを登録…する前に。

自分のアカウントが何かを整理。Individualで登録した場合、自分一人チームのteam agentに相当します。この辺りから公式のドキュメントが本気出してきているので、読みながら手を動かしていきます。

App Distribution Guide

この辺りから急に難易度高くなってくるんですよね…。公式ドキュメントに従うと、この次がAppleIDをXcodeに登録するっぽいのでとりあえず登録します。

XcodeにAppleIDを登録(するも失敗するの巻)

Xcodeを立ち上げて、Preferences… > Accountsタブから追加。この辺りは公式ドキュメントを参照ください。

で、Xcodeのプロジェクトを立ち上げて、TeamをNoneから自分のアカウントに変更しようとするとエラーが出るわけです。

iOS開発で一度は通っておきたいし訪れておきたいミスの一つ「デバイスを登録していない」です!デバイスを登録しなくても使えるアカウントもあるんですけれど残念ながら僕はそうじゃないのです。

大人しくMember Centerからデバイスの登録をします。

デバイスの登録

Member Centerを開きます。でデバイスの登録が見当たらないわけですが、Certificates, Identifiers & Profilesの欄を見ると端末の管理をすると書いてあるのでそこからやっていけそうな予感です。

とまあ、ここから実機で開発するために、証明書を作成したりします。キーチェーンアクセスとか使ってCSRを作ったりするあれですね!

よく分かる!iOS アプリ開発に必要な証明書ファイルの作成方法 | アドカレ2013 : SP #4|クラスメソッドブログ

iOS端末実機で動作させるために証明書などを準備する – 混沌とした備忘録

とまあこういう時代がありました。Xcode5ではこうなります!

[iOS 7] アプリ開発入門 1からはじめるiOS7 – プロビジョニングプロファイルの作り方|クラスメソッドブログ

すごい!Xcode単体で完結する!しかも大体ワンクリック!すばらしい!それがXcode6ではこうなります!

ios developerに開発用デバイスを追加する(xcode6.0, ios8) by @chocotobeanjam on @Qiita

退化しているじゃないですか!やだー!!ちなみに8以降の手順は不要です。

こんなんしてプロビジョニングプロファイルとデバイスの登録が完了しました。適当なプロジェクト作って実機で走らせてみたら動いていたので、次にとりかかります

Vuforia SDKの用意

おおまかに言って、アカウント作成してダウンロードして環境構築すればOKでしょう。と、思ったら甘かった。Xcode 6.1対応があります。

Vuforiaのデベロッパー登録

世の中にこの手のノウハウは溢れております。が、iOSの世界の進歩が早過ぎるので、すぐに情報が陳腐化しちゃうのが悩みの種ですね。

とはいえ、今回はこの2つの記事を参考にします。

無償ARライブラリVuforiaをiOSで楽しむ[導入編]

無料ライブラリ「Vuforia」でARアプリを作る!①【発掘篇】

こちらのほうは国際電話番号や英語での住所登録がない分簡単ですね。

Vuforia SDKのインストール

公式ページから引用すると…
“”"
1. SDKの入っている圧縮ファイルをダウンロードしてね
2. 展開してね
“”"
この大雑把さかっこいいです。

Vuforia Sampleコードのインストール

公式ページの通りにSDKを展開したフォルダ直下のsampleフォルダにサンプルコードのフォルダを配置します。

で、VuforiaSamples.xcodeprojを開いてXcodeから実行すると、大量の警告が出ます。

警告は最悪無視するものとして、コンパイラのエラーメッセージらしきものはこの辺り(中略してます)。

ld: warning: ignoring file ../../build/lib/arm/libVuforia.a, missing required architecture x86_64 in file ../../build/lib/arm/> libVuforia.a (2 slices)
Undefined symbols for architecture x86_64:
“QCAR::WordResult::getClassType()”, referenced from:
-[TextRecoEAGLView renderFrameQCAR] in TextRecoEAGLView.o
“QCAR::ImageTarget::getClassType()”, referenced from:
-[VirtualButtonsViewController onQCARUpdate:] in VirtualButtonsViewController.o
“QCAR::TextTracker::getClassType()”, referenced from:
-[TextRecoViewController doInitTrackers] in TextRecoViewController.o
-[TextRecoViewController doLoadTrackersData] in TextRecoViewController.o
-[TextRecoViewController doStartTrackers] in TextRecoViewController.o
-[TextRecoViewController prepareROI] in TextRecoViewController.o
-[TextRecoViewController doStopTrackers] in TextRecoViewController.o
-[TextRecoViewController doDeinitTrackers] in TextRecoViewController.o
:
:
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)>

「そんな命令知らんわボケ」って言われていることだけはわかります。これをなんとかしていきます。

Vuforiaのサンプルアプリ実行環境構築

まず自分の環境を考えると、Xcodeの最新版使ってたり、iOSの最新版使ってたりといろいろライブラリのバグを踏みそうな環境なのです。そう考えると、単純な策は「過去の環境を構築してそこで色々やる」になるわけですが、せっかくなのでXcode6.1での開発環境構築を目指します。

そんな時には人柱erの方々が本当に頼りになります。Vuforiaコミュニティーから関係ありそうな投稿を拾ってきました。

iOS 8, XCode 6 and Vuforia 3.0 compatibility

おおまかに3つのことを実行せよと書いてありますのでやりましょう。僕はここで大ハマリしました。

  • SampleApplicationShaderUtils.mに次を追記

    #import <OpenGLES/ES2/glext.h>

  • Build SettingsのArchitecturesから、Architecturesにarmv7とarmv7sのみが含まれることを確認

  • Build SettingsのArchitecturesから、Valid Architecturesのarm64を削除

ハマったポイントは、”Target”のBuild Settingsではなく、”Project”のBuild Settingsを編集してしまったこと。コレで一日潰れました。

で、修正した後にビルドするとまた膨大なエラーが出るのですが、致命的なのは次の「警告」です

ld: warning: ignoring file ../../build/lib/arm/libVuforia.a, missing required architecture i386 in file ../../build/lib/arm/libVuforia.a (2 slices)

この原因は、iOS Simulatorを対象にビルドしようとしたからです。

iOS – How can I solve my build and installation issues

実機を対象にビルドすると、無事ビルドできます。

認識するための画像は、Qualcom Vuforia Developer Portal の Resources > Samples > Image Targets を開き、下段のShow Target Imagesリンクを開くと、PDFファイルが開くのでそれを認識させます。

長くなったので一旦切ります。