0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

医療用超音波診断装置の動画情報の活用~その2 Slicer の利用~

Last updated at Posted at 2025-05-11

(1)まず、CT画像で3D表示をやってみる

3Dslicer (https://www.slicer.org/)は、画像を3D 表示することができる無料ソフトである(今では多くの病院でCTからの3D表示を実際おこなっている。もちろんそれは有料ソフトをつかったもの)。

素材は、ここ20年ずっと、大きな病院から病診連携のさい提供されている、CD-ROM(AOC診断画像ディスク)からのCT画像である。
今回、ぼくにとって、使う経験ははじめてだった。
まず、WEBで紹介されているやり方にならってみたが、うまく表示できず、結局ChatGPTに聞きながら、ずいぶん違った手続きが必要だったので、ここに簡単に紹介する。

ネットより、3D slicerダウンロード後

① CD内のDICOMフォルダ内の画像ファイル(例 785個)をPCデスクトップに保存。しかし、その画像ファイルには、拡張子、.dcmがついていない!

 ⇒785個の画像ファイルすべての名前の末尾に、拡張子、.dcmをつける

(方法)C:\dicom_workを作成し、その中に785個のファイルをいれ、さらに.batファイルを作成
 *作成した .bat ファイルは、同じ C:\dicom_work フォルダの中に置いてOK
.bat の中身(このままコピペOK)
   @echo off
   cd /d "C:\dicom_work"
   for %%f in (*) do (
   ren "%%f" "%%f.dcm"
   ) 
   pause

(参考) 内容の意味:
cd /d:対象フォルダへ移動
for %%f in (*):全ファイルを対象
ren "%%f" "%%f.dcm":ファイル名の末尾に .dcm を追加
pause:結果を確認できるように一時停止

その後、
rename_dicom.bat などの名前で保存(拡張子 .bat)
右クリック → 管理者として実行

実行後の確認
 フォルダ内のファイルがすべて 00000001.dcm のようになる

*最初、デスクトップでつくっていたら、やっているうちにデスクトップ上のすべての書類名に.dcmがついてしまい、手動で名前をもとにもどさねばならなかったので、注意が必要

② このフォルダを 3D Slicer で Import DICOM files → 読み込み(load) ⇒ これだけではだめだった。読み込んだファイルから、3D表示を邪魔しているファイルを一部手動で削除する必要があった(左側に表示)

不要(どころか表示を邪魔する)Warning例
 Scout 撮影前の位置合わせ画像(1枚) ❌ 不要
 Dose Report 放射線量のテキスト画像 ❌ 不要
 Lung 5mm / 4th 5mmなど 実際のCTスライス ✅ 読み込むべき

そして、ようやく本来の手順へ

③左上のモジュ-ル、クリック、プルダウンから「Volime Rendering」選択。

 左側のDisplayのSelect a presetから適当なものを選んで、それから、左上方の「Volume」表示左の眼をクリック(そうすると、目が開き、3D表示が右上にあらわれる)

image.png

*表示の調整方法

マウス操作:

左ドラッグ:回転

右ドラッグ:ズーム

ホイール:スライス調整

「Shift + 左ドラッグ」でより柔らかく動かせる

④「胆のうの抽出と表示」

Segment Editor モジュールに入る
  上部「Modules」から Segment Editor を選択
  Add ボタンで新しいセグメントを作成(名前例:gallbladder)

Threshold(CT値で胆のう領域を抽出)
  胆のうは中に胆汁があり、CT値が低く(-20〜+30 HUくらい)、周囲とコントラストがあるため、それを利用。

手順
 Threshold ツールを選択
 スライダーで範囲を指定:
  最小値:-50〜0  最大値:+50〜100
※この範囲内だけがセグメントに塗られる

抽出範囲が緑に表示される → 良ければ Apply をクリック→ Show 3D をクリックして立体表示確認

Scissors(3Dの空間範囲でくりぬく)
  3D表示されたVolumeから、空間的に「胆のうの位置だけ」残すように切り抜く

手順

Scissors ツールを選択

Operation を「Erase outside」に設定

下記の「効果範囲」を 3D に変更

3Dビューで、ドラッグして胆のうのある範囲を選択(立体切り抜き)

Apply をクリック

*左の「Segmentations」で Show 3D を押すと、切り出された立体だけが表示される

*Segment Editorで Smoothing(滑らか化)を適用すると綺麗な形になる

image.png

実際のところ、CTでは、Scissors処理が胆のう近くに多く、大変だった

(2)次にエコー画像で

200枚の超音波スライス画像(.jpg)を3D Slicerに読み込んで、Volume(体積データ)として扱うには、以下のような手順が必要。

  1. 画像を連番ファイルに揃える(すでに済)
    slice_001.jpg
    slice_002.jpg
    ...
    slice_200.jpg

  2. Slicerに読み込む(Image Stackとして)

Slicer起動

メニュー:Add Data (Add Dicom dataでない!)または Ctrl + A

ダイアログで .jpg をすべて選択

✔️「Show Options」ボタンをクリック(表示されない場合は下にスクロール)

「Single file」ではなく「Image Stack」にする(重要)

OKを押すと 3D Volume として読み込まれる

*「JPEG画像は階調が荒く、モノクロ濃淡が不正確な場合があり、PNG や TIFF に変換してから読み込むとより適切です」との注意もあったが、今回JPEGでもかなりうまくいくことがわかった

CTの時と同様、Segment Editor モジュールにはいり、Threshold(CT値で胆のう領域を抽出)を、胆のう部分だけが緑になるように(実際はピンポイントはむずかしいが、そのような傾向になるように)値を設定し、3D表示した。
矢印の先がどうやら胆のうである。
image.png
 

拡大すると、うまくいっている
CTの時、Scissors処理が胆のう近くに多く大変だった。だが、エコーの時は、胆のうはその周囲から最初から分離していた
image.png
 

Scissors(矢印)とは:胆のう以外の表示を囲って順にけすだけのこと
このSlicerでは、自分のオリオジナルでは「jpgをThreshold後、白黒2極のpngに変換」という作業を、一気におこなえた。
image.png

(参考)エコー画像でのpngをとりこんで、直接3D表示をいてみた
 もう、Thresholdしてあるので、(slicerでthresholdせず)直接3D表示でも、下記のように、それなりの画像ができた。
image.png

(3)まとめ

  自己作成のオリジナルアプリ群での3D表示を、Slicerと比較すると。

slicer: けっこうきれい。辺縁もスムース。
   今回は、ThresholdとScissorsしかつかってないが、paint,drawなどほか   のツールが充実
   また、わざわざpng化せずともjpgのままThreshold→白黒2極化、を自動でしてくれる。

とはいえ、Slicerをもってしても、なかなかスムーズにはいかない。また、胆管までの3D表示はむずかしそう。

結局、slicerをつかったとしても、現状では、3Dで「見やすく患者に提示できる」ようにはなるが、新たな診断知見を得ることはむずかしいそう。

だが胆のうの周囲との分離は、CT画像よりエコー画像のほうがしやすいことがわかった(CTでは、Scissors処理が胆のう近くに多く大変だった)。

 *まあ、これは、普段CTやエコーをみていて納得できる観察であるが。

(4)今後の予定

その3 以降では
①応用範囲を 盲腸~虫垂 /S状結腸~直腸 に広げる
②3D表示にこだわらず、スクロール+ピクセル表示も含め、診断にいかせるところがないか探っていく
③3D表示については:虫垂の有無、S状結腸の蛇行がアルファか逆アルファか?の判別に役立つことを期待

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?