top of page
抽象雲

3D Slicer徹底解説!確認からセグメンテーションまで医療画像用の処理ツールを実際につかってみよう!

  • 広報担当
  • 7月18日
  • 読了時間: 9分

更新日:8月7日

3D Slicer
3D Slicer

MRIやCTなどの医用画像を扱うとき、単に表示するだけでなく、必要な領域を抽出したり、解析しやすい形に整えたりする作業が欠かせません。特に脳の構造を詳しく確認したい場合や、研究データとして利用する際には、画像のセグメンテーションや微調整の作業が重要になります。


こうした処理を効率的に行えるツールとして、多くの研究者や医療従事者に利用されているのが「3D Slicer」です。無料で利用できるオープンソースソフトウェアで、領域抽出や形状の編集、データの視覚的な確認までを一貫して行える点が魅力です。特にセグメンテーション(segmentation)作業や細かな手直しを行うときに、その柔軟性と拡張性が大きな助けとなります。


本記事では、筆者が日常的に利用している3D Slicerを用いて、脳MRIデータを例にしながら、基本的なセグメンテーションの流れや画像の調整方法を紹介します。研究や臨床の現場で役立つ実践的な使い方を、できるだけシンプルに解説していきます。


3D Slicerとは

3D Slicerは、医療や生物医学分野を中心に広く利用されている無料かつオープンソースのソフトウェアで、3D画像やメッシュデータの可視化、処理、解析を一つの環境で行うことができます。MRIやCTといった医用画像の表示や編集だけでなく、関心領域のセグメンテーション、異なるモダリティ間での画像登録、統計解析など、多様な機能を備えています。また、拡張モジュールを追加することで、手術計画やナビゲーションシステムへの応用といった高度な処理にも対応可能です。


その柔軟性と拡張性から、3D Slicerは臨床研究や教育、外科的計画、さらにはAIを用いた画像解析の前処理ツールとしても活用されています。Pythonを用いたスクリプト処理や独自モジュールの開発も可能で、個別の研究目的やワークフローに合わせたカスタマイズができる点も大きな特徴です。


筆者は、主に脳MRIや全身のCT画像を対象として、この3D Slicerを日常的に利用しています。本記事では、特に脳MRIデータを例に、インストールから基本的な画像処理、セグメンテーションの実践までを順を追って紹介し、これから使い始める方にも役立つ情報をまとめていきます。


インストール方法(Mac版)

  1. まずはGoogleで3D Slicerについて検索を行います。

3D Slicerの検索
3D Slicerの検索
  1. 3D Slicerのダウンロードページをクリックし、OSにあったバージョンをダウンロードします。

ダウンロード画面
ダウンロード画面
  1. ダウンロードしたパッケージをクリックします。

パッケージを開く
パッケージを開く
  1. ライセンスを同意します。

ライセンス同意
ライセンス同意
  1. ドラッグ&ドロップで移動します。

ドラッグ&ドロップ
ドラッグ&ドロップ

ダウンロードが終わったらインストールします。

これでインストールが完了しました。おめでとうございます!


DICOMデータの読み込み

3D Slicerをインストールしたら、CTやMRIデータを読み込んで3D モデルを構築します。


まずは取得したDICOMファイルを、デスクトップや外付けハードディスク、あるいは Box などのクラウドストレージに保存しておきましょう。


  1. 3D Slicerを起動して、「Data」をクリックします。

初回の起動には時間がかかりますので、しばらくお待ちください。

Dataをクリック
Dataをクリック

「App Data」からでも構いませんので、お好みの方法でデータを読み込んでください。


  1. (1)→(2)→(3)の順番で処理したいファイルを選択して、インポートします。

ファイル選択
ファイル選択

⑴の「Choose File(s) to Add」は個別のファイルを読み込みますが、フォルダごとまとめてインポートしたい場合は「Choose Directory to Add」を直接クリックしたほうが手早く行えます。

  1. 「OK」を押して、3Dモデルを構築します。

OKボタンをクリック
OKボタンをクリック

ここまで、データ読み込みが完了します。おめでとうございます!


DICOMデータの前処理

起動直後の画面は4つのビューに分割されています。うち3つは断面画像の表示で、それぞれ以下のように呼ばれます。

  • Axial(アキシャル/軸位断面)

    身体を水平にスライスした断面。水平断面、軸位断面とも呼ばれます。

  • Sagittal(サジタル/矢状断面)

    身体を左右に分ける断面。

  • Coronal(コロナル/冠状断面)

    身体を前後に分ける断面。前額面とも呼ばれます。

残る1つの紫色ビューには、これらの断面上でマークした位置情報をもとに再構築された 3D 表面モデル が表示されます。

各断面
各断面

モジュールとは、独立したツールやアルゴリズムをまとめたものです。

必要に応じてモジュールを選択して、データの前処理をしてください!

例えば、

  • Add Scalar Volumes:複数のスカラーボリュームを対応するボクセルごとに加算し、新しいボリュームを生成します。

  • Brain Deface from T1/T2 image:T1/T2 脳画像から自動的に顔面領域を除去し、被験者の匿名性を保護します。

  • Cast Scalar Volume:スカラーボリュームのデータ型や数値レンジを変換します。

  • Compare Volumes:複数のボリュームを重ね合わせたりスライドバーで比較し、差分を可視化します。

  • Create a DICOM Series:メモリ上のボリュームデータを DICOM ファイルのシリーズとしてエクスポートします。

  • Crop Volume:指定領域でボリュームを切り出し、関心領域のみを抽出します。

……といったように、各モジュールがそれぞれ特定の処理を担当しています。

モジュール
モジュール

セグメンテーションで使うモジュール:Segment Editor

色設定

Segment Editor は先ほどのモジュール一覧にも含まれていますが、よく使うモジュールはこのメニューからも起動できます。

モジュール選択
モジュール選択
Segment Editor
Segment Editor

「Add」は色を追加し、 「Remove」は色を削除します。

色の追加と削除
色の追加と削除

色を変更できます。

色の変更
色の変更

⑴ 使いたい色の名前で検索できます。

⑵ 3D Slicer にはあらかじめ各部位向けのカラープリセットが用意されているので、そのまま使えます。

⑶ 好みに応じて色をカスタマイズすることも可能です。

色の選択
色の選択

以下は⑶「色自定義」をクリックした後の画面です。

色の指定
色の指定

ぺん

ペン選択・画像拡大

ペンを選択して、必要に応じて一つの断面画像を拡大します。

ペンの指定
ペンの指定

色選択・ペンサイズ変更

使いたい色を選択して、ペンのサイズを変更します。

ペンのサイズ変更
ペンのサイズ変更

ペンが塗れる輝度の変更

ペンが塗れる輝度( intensity )を変更すると、ペンで塗る際に、指定した強度の範囲に該当する部分にのみ色が表示されます。

ペン輝度を変更するには、まず⑴のチェックボックスをオンにします。すると⑵のスライダーで強度を調整できるようになります。また、画像上で⑶のようにカーソルを動かすと、⑷に表示される数値から、輝度の範囲を確認できます。

輝度の範囲変更
輝度の範囲変更

編集範囲変更

ここをクリックすると編集範囲を変更できます。たとえば「Outside all segments」を選ぶと、別の色で塗っても既に塗られた領域を上書きせず、セグメント外の部分のみが着色されます。

編集範囲指定
編集範囲指定

ペンと同様に、消しゴムと塗りつぶしにもレベルトレースにも輝度やサイズなどの調整機能があります。


消しゴム

消しゴムを選択します。

消しゴムの選択
消しゴムの選択

塗りつぶし

塗りつぶしとは、画像上で、輪郭を描くようにクリックし、囲いたい領域をぐるっと一周します。

メリットとしては、少ない操作で広範囲を正確に着色できます。

「塗りつぶし」を選択します。

塗りつぶし
塗りつぶし

レベルトレース

レベルトレースとは、等高線のように境界を自動追跡し、その輪郭に沿った領域を一気に選択・マスクできる機能です。

メリットとしては、手作業でポリゴンを引くより速く正確に境界を抽出できます。

レベルトレースを選択します。

レベルトレース
レベルトレース

Grow from Seeds

Grow from Seedsとは、手動で着色したスライスをシード(種)としてマークし、その情報をもとに隣接する断面へ自動的にセグメンテーションを拡張する機能です。

メリットとしては、少数のシード設定だけで多数の断面を一括補完できるため、全断面を手動でセグメントする手間を大幅に削減できます。


▶︎ 手順

  1. ⑴⑵で 輝度(intensity) と 編集範囲 を設定する

  2. ⑶ Initialize をクリックして、シードから各断面へセグメントを初期化

  3. 初期化結果を確認し、修正したい箇所 をブラシ等で補正

  4. 修正が不要であれば、⑷ Apply をクリックして処理を確定


▶︎ 例

全100枚の断面で、10枚ごとに手動でセグメントを作成したとします。

Grow from Seeds を実行すると、手動ラベルを付けた10枚の情報をもとに、残りの90枚の断面にも自動的に領域が拡張され、短時間でボリューム全体をセグメント化できます。


Grow from Seedsを選択します。

Grow from Seeds
Grow from Seeds

セグメンテーションで使うツール:交差線(cross hair)

交差線とは、他のスライス平面が各スライス平面とどのように交差しているかを表示します。

交差線
交差線

例えば、軸位断面を合わせて、冠状断面と矢状断面のスライダーを動かすことで、軸位断面で行った着色が各断面上にどのように反映されるかを確認できます。

スライス移動
スライス移動

データの保存

  1. 「save」を押します。

save
save
  1. 保存するファイルを選択します。

変更がないファイルは保存しないほうがよいでしょう。後でデータを整理する際に混乱を招く可能性があります。

たとえば、元の NIfTI 形式の脳MRI データ(.nii ファイル)は、編集を加えない限り保存対象から外してください。

ファイルの選択
ファイルの選択
  1. ファイル名を変更できます。

ファイル名の変更
ファイル名の変更
  1. 保存形式(拡張子)を変更できます。

保存形式の指定
保存形式の指定
  1. 保存する場所を変更して、保存します。

場所を指定して保存
場所を指定して保存

以上で、脳MRI画像セグメンテーションが終わります!

おめでとうございます!🥳



補足:BodyCT画像セグメンテーション

DICOMデータ・セグメンテーションファイルの読み込み

以前は脳MRI画像に対してセグメンテーションファイルを新規作成していましたので、ここでは既存の完了済みまたは途中まで作成されたセグメンテーションファイルの開き方をご紹介します。

セグメンテーション対象のファイルを開く際のモードを、Volume モードから Segmentation モードに変更します。

segmentationモードの起動
segmentationモードの起動

BodyCT画像の前処理

メニューから「volumes」モジュールを選びます。

Volumesモジュール1
Volumesモジュール1
Volumesモジュール2
Volumesモジュール2

4番目の「CT-Abdomen (腹部)」を選択します。

右側の断面像で変化が確認でき、CT腹部画像に適した表示になります。

必要に応じて、脳CTの場合は3番目の CT-Brain を選択してください。

CT-Abdomen
CT-Abdomen

見やすいようにスライダーを調整します。

スライダー
スライダー

まとめ

3D Slicerは、医用画像の処理や解析を効率化できる強力なツールです。特に、セグメンテーションや画像の調整といった作業を行う上で、その多機能性と無料で利用できる点は大きな魅力です。研究においても、複雑なワークフローを一つのソフトで完結できることは大きなメリットとなります。


今回紹介した脳MRIを例とした基本的な操作を通じて、3D Slicerの活用イメージが掴めたのではないでしょうか。最初は操作に慣れるまで時間がかかるかもしれませんが、実際のデータを扱いながら少しずつ機能を試していくことで、自分の研究や業務に合わせた使い方が見つかるはずです。


3D Slicerはオープンソースであり、世界中のユーザーや開発者によって日々改良されています。公式のチュートリアルやフォーラムを活用すれば、さらに高度な解析や自動化も可能です。ぜひこの機会に、3D Slicerを取り入れて、医用画像解析の新しいワークフローを作り上げてみてください。

bottom of page