CTやMRIやXrayなど、DICOMデータを見る機会は増えてきています。ひと昔前は、Macしか使えない無料のOsiriXが1択だったので、DICOMを見る必要のある獣医師はMacに切り替えた方も多いと思います。現在は、選択肢が増えました。Windowsで無料で使えるソフトがあります。今回は、3D Slicerを紹介します。日本語のチュートリアルはほぼなかったので、日本語の解説をします。なお、薬事法の申請はなされていないようなので診療に使用するのはできず、研究用として利用されるのがいいと思われます。
目次
- 3D Slicerのダウンロード
- DICOMデータを見る
- アノテーションを付ける
- 3Dを構築する
- 3Dモデルを修正、STL保存する
3D Slicerのダウンロード
3D Slicer ダウンロードはこちらから。https://www.slicer.org/
3D Slicer HPより:3D Slicerは、医用画像情報学、画像処理、および3次元視覚化のためのオープンソースソフトウェアプラットフォームです。米国NIHと世界的な開発者コミュニティからのサポートを通じて20年以上にわたって構築されたスライサーは、医師、研究者、および一般の人々に無料で強力なクロスプラットフォーム処理ツールを提供します。
Fedorov A., Beichel R., Kalpathy-Cramer J., Finet J., Fillion-Robin J-C., Pujol S., Bauer C., Jennings D., Fennessy F., Sonka M., Buatti J., Aylward S.R., Miller J.V., Pieper S., Kikinis R. 3D Slicer as an Image Computing Platform for the Quantitative Imaging Network. Magnetic Resonance Imaging. 2012 Nov;30(9):1323-41. PMID: 22770690.
DICOMデータを見る
ダウンロードして、3D slicer を起動。起動するにあたっては、Windowsのアカウント名に漢字が入っているとダメ。
Load DICOM Data を押す。
右側の一番上のウィンドウの中の目的の患者を押す。
ターゲットとなる、スライスを選択する。造影剤投与前、投与後などの複数の撮影を選択することもできる。
Loadを押したら、以下の画面が表示される。何も表示されていないので、表示方法を変更する。
Four-UP
Red slice only
真ん中の枠を左にドラッグすることで、窓を大きくすることができる。
マウスホイールのスクロールで、前後のスライドに移動。
Cntrl + マウスホイールのスクロール で拡大、縮小。
Shift + 左クリックのドラッグ で平行移動。
赤色のバーの左のすごく小さい画鋲のマークを押すと、右のように撮影したシリーズを選択するパネルが出てくる。ここで、別の撮影を選択すると右の枠に別の撮影が映し出される。2つの輪っかのマークを押すと、輪っかが外れた状態と、くっついた状態の二つになる。輪っかがついた状態で、スクロールをすると、2つの撮影が同期されて、画像のスライスが同時に動く。
以下は、造影剤投与直後と投与後の2つの撮影を同時に表示した状態。
Volumeというアイコンを押すと、コントラストを変更することができる。プリセットを選択するとコントラストが自動で調整される。
Manual Min/Max とすると、手動でコントラストを変更できる。
アノテーションを入れる
角度、距離などのアノテーションを入れるには、青色の上矢印の右の下矢頭を押す。メニューから必要なものを選択する。
Ruler:定規のメモリを作成
ROI:関心領域を作成
Fiducial:ポイントを作成
Line:距離を測りつつ、直線を作成
Angle:角度を測りつつ、2つの直線を作成
Open Curve:開いたカーブを作成。右クリックで終わる
Closed Curve:閉じたカーブを作成。右クリックで終わる
Plane:長方形を作成
上の順番で下の画像に表示した。アノテーションの名前の変更は、アノテーションを選択する位置にポインタを持っていき、右クリックを押してrenameで変更できる。
アノテーションを消すには、Dataというところを押して、左の枠内に出てくるアノテーションの名前を選択して、右クリックでDeleteを選択し削除する。
3Dを構築する(サーフェスレンダリング)
3Dを作ってみましょう。Segment Editorを押す。
+Add をおす。
適当に名前を変える。Nameの上でダブルクリック。ここではSegment_1としている。
Effectsの中から、Thresholdを選択する。
Threshold Rangeを調整して、右側のウィンドウを見ながら3Dで見たい臓器だけに色がつくようにThresholdを調節する。今回は、骨を対象とする。骨だけが赤くなるように調整した。その後、Applyを押す。
Applyを押した後に、Show 3Dを押す。しばらく時間がかかる。
ビューを、3D onlyにする。何も映ってないけど、心配いらない。
画鋲マークの隣の隣の太陽みたいなマークを押す。マウスオーバーするとCenter the 3D view on the scene と書いてある。
すると、急に3Dが現れる。
マウスホイールのスクロールで、拡大縮小。
マウスホイールを押しながらマウス移動で、平行移動。
左クリックのドラッグで、回転。
3Dモデルの修正・STL保存の仕方
よく見ると、肩甲骨にたくさんの穴が開いている。修正したい。
EffectsからSmoothingを選択する。
Smoothing methodを選ぶ。穴を閉じたいので、Closing (fill holes)を選択する。
Kernel size を決めて、Applyを押す。Kernel sizeは、穴埋めのサイズとだいたい同じ。サイズを大きくすると、穴埋めの効果はよいが、副作用的に他のアーティファクトを起こす。
今回は、Kernel size 10mmでApplyを押す。
骨がガタガタしているのを直したいなら、Smooth methodをmedian にして実行するとよい。今回は、それを実行するとまた穴が開いてしまうのでやめた。
ところどころに、不要なデブリが浮いているので、削除する。EffectsからハサミScissorsを選択する。Erase insideで、選択範囲の内側を削除する。
不要な範囲を選択しているところ。左クリックのドラッグで選択する。
削除後の図。
できた3Dデータを、3DプリンターやBlenderで扱えるSTLファイルとして保存する。Segmentationsを選択。
Export/import models and labelmapsのところで、Output typeをModelsを選択する。その後、Exportを押す。Exportを押しても特に変化しない。
左上のSAVEを押す。
押すと以下のウィンドウが開く。
Segment_1というのが、骨の3Dモデルだ。それだけをチェックし、File FormatをSTLにしてSaveを押す。
以上です。
この後、STLをBlenderに読み込んで、さらに整形してみたいと思います。
ボリュームレンダリングの仕方