人間ドックでもらったDICOMデータを3Dモデルに変換してUnityに入れて遊んでみた

2019-09-07 #Unity

先日人間ドックに行ったんですが、CD-ROMで検査結果のデータをもらうプラン(+1000円)を申し込んでみました。 せっかくなので届いたファイルをポリゴンデータに変換して書き出してUnityでプカプカ浮かせて遊んでみました。 変換の手順がちょっとややこしかったので、いつか誰かの何かの役にたつかもしれないのでやり方を残しておきます。

手元の環境はmacOSです。


OsiriXをダウンロード

まずDICOMデータを3Dモデルに変換するためにニュートン・グラフィックス さんの OsiriX 1 というアプリケーションを使用するので、下記のリンクからダウンロードしてきます。

OsiriXはmacOS上で0円からでも使う事が可能なDICOMビューワで、値を調整して書き出すことでMRI/MRAやCTの画像をobjファイルなどに書き出す事が可能になります。

OsiriX - ニュートン・グラフィックス - Newton Graphics, Inc. http://www.newton-graphics.co.jp/osirix

ダウンロードページからOsiriX Lite 日本語対応版をダウンロードしましょう。

DICOMデータの取り込み

次にデータですが、CD-ROMで受け取ったデータのファイル構成は病院によって様々だと思うので割愛しますが、こんな感じで拡張子が無い連番のデータとして連番のフォルダの中に格納されているかと思います。

メニューの「読み込み」からファイルの入ったディレクトリを選択し、確認のダイアログでは「リンクをコピー」をクリックします。 取り込まれたらこんな感じに表示されます。



2Dビューワ、3Dボリュームレンダリング、3Dサーフェイスレンダリング

次にメニューの「2Dビューワ」をクリックして開きます。 こんな画面が表示されます。



次にメインメニューの「3Dビューワ」から「3Dボリュームレンダリング」を選択します。 このような感じのウィンドウが表示されます。



アニメGIFのように左上のツールメニュー「マウスボタン」から左から5つ目の四角いアイコンのツールで3Dモデルのプレビューをくるくる回し、一番左端のツールで上下にドラッグしてどの状態を3Dとして書き出すかを調整します。

次にメインメニューの「3Dビューワ」から「3Dサーフェイスレンダリング」を選択します。



ダイアログが表示されますので、下記の値を入力します。

  • 間引き処理 -> 1
  • 平滑化 -> [先ほど覚えた値] 2
  • 第1サーフェスのピクセル値 -> 1000 

すると3dのサーフェイスが表示されます。

.objファイル書き出し

「3D-SR 書き出し」から「Wavefrontに書き出し(.obj)」を選びます。



Unityで動かしてみる

あとはUnityで読み込んで動かしてみるだけです。 ボーンを入れてアニメーションさせるなり、動脈がステージのレーシングゲームを作るなり、プロジェクションマッピングさせるなりして遊びましょう!




  1. OsiriXはオシr…ではなくオザイリクスと読みます [return]
  2. 1~100の間の値を入れる。よくわからなかったら100で動く時も… [return]
Profile

石原 悠 / Yu Ishihara

東京都杉並区在住。デザインとプログラミングとヨーグルト作りが好きです。