「ファントム」とは?
ファントム(phantom)は,名詞として「幻影」や「幽霊」,形容詞として「実体のない」や「錯覚の」といった意味をもつ英単語です。
X線CTやMRI,PETなどのイメージング分野では,「物理ファントム」や「数値ファントム」,「デジタルファントム」といったワードが出てきます。
開発サイドでは,新規開発した画像再構成・画像処理アルゴリズムの性能評価では,まずは実際の測定データ(実データ)ではなく,模擬の測定データ(シミュレーションデータ)を用いることが多いです。
そして,シミュレーションデータは,「数値ファントム」や「デジタルファントム」を用いて,イメージング装置のシステムモデルに従って解析的に計算したり,モンテカルロシミュレーションにより確率的に計算したりします。
現場サイドでは,物理ファントムの実データを収集し,各種の評価に用います。
物理ファントム (Physical phantom)
実際のイメージング装置の性能や,撮影された画像の画質を評価するための人工的な模擬物体であり,ハードウェアやソフトウェアの性能評価や性能比較,品質管理に不可欠なものです。非常に高価で,数十万でも買えないはずです。
代表的な物理ファントムの一部をモダリティー毎に示します。
X線CT
(出典) https://epos.myesr.org/poster/esr/ecr2020/C-11362/methods%20and%20materials
MRI
(出典) https://www.acrobio.co.jp/products/radiodiagnosis/pro-mri.html
PET
(出典) https://physicsworld.com/a/whole-body-pet-for-your-pet/
(出典) https://doi.org/10.1186/s40658-022-00518-3
数値ファントム (Numerical phantom)
数値ファントムは,その名の通り,数値情報のみで記述されたオブジェクトであり,球・円柱・直方体などの数式で表現された幾何プリミティブや,座標データで記述されたメッシュ(ポリゴン)などの組合せで表現された「連続的な」オブジェクトを指します。
(出典) https://docs.blender.org/manual/ja/2.79/modeling/meshes/primitives.html
デジタルファントム (Digital phantom)
デジタルファントムは,画像(画素値の集合)として表現された「離散的な」オブジェクトです。数値ファントムを離散化したものはデジタルファントム(数値ファントムのデジタルファントム)です。
数値ファントムとデジタルファントムのメリット・デメリット
X線CTやPETのシミュレーション計算や画像再構成計算の根幹をなす演算は,被写体となる物理量分布の投影計算(線積分計算)です。正確かつ高速な投影計算が求められます。
数値ファントムは,連続的なオブジェクトなので,投影計算の際に,デジタルファントムでは発生する離散化誤差が発生しません。つまり,厳密な投影値の計算が可能です。デジタルファントムも解像度を上げれば(画素サイズを小さくすれば)離散化誤差は小さくなりますが,計算コストは解像度に対して比例的に増加します。
一方,デジタルファントムは,手間を惜しまなければ,自分で「お絵描き」して凝ったファントムを作れますが,数値ファントムは,基本的には単純な形状の幾何プリミティブの組合せに限定されるため,あまり凝ったファントムは作れません。CADソフトなどを使って,精緻なメッシュデータを自作することは可能と思いますが,おそらく大変です(未経験)。
インターネット上には,人体を含めて,様々なオブジェクトの3Dモデル(メッシュデータ)が無料公開・有料公開されているので,それらを使うこともひとつの手です。例えば,BodyParts3D(下図)から人体の各パーツのメッシュデータ(objファイル)を無料でダウンロード可能です。このデータを使いこなせれば強いです(私はまだ使いこなせておらず)。
代表的なファントム
いくつか紹介します。
私は使ったことないのですが,ODLというPythonライブラリでは,ここで紹介するファントムを含めて,様々なデジタルファントムを作成できるようです。Tomopediaというサイトに関連情報が集約されています(私もじっくり見たことはない)。
Shepp-Logan 頭部ファントム
ヒトの頭部を(かなり大胆に)模したファントム。ファントムを縁取っている高輝度領域(白い部分)が頭蓋骨に相当します。内部にいくつかの領域がありますが,外形も含めて,すべて楕円球で構成されています。形状パラメータはWikipediaに情報あります。
MySimu (後述)で作成した画像👇
※画像ビューワーはAmideです。
オリジナルのShepp-Loganファントムは非常に低コントラストなファントムですが,高コントラスト化(背景と内部の構造の輝度値の差を大きく)して利用されることもしばしばあります。
上図では,画素値の表示レンジをフルレンジ[0.0,2.0]の場合(上段)と,内部の構造が見えるように[0.95,1.05]に絞った場合(下段)を示しています。低コントラストなので,フルレンジで表示すると内部の構造は薄っすらしか見えません。これは,脳内の組織コントラスト(X線に対する吸収差によって生じるコントラスト)が低いことの表現です。
高コントラストな被写体の場合,画像再構成アルゴリズムに弱点や不備があったり,最悪,実装にバグがあっても,ぱっと見では問題なさげなことがありますが,低コントラストな被写体に変えた途端,有意な値のズレや偽像(アーチファクト)といった問題があぶり出される場合もあります。そのため,X線CTの分野では,高コントラストに改変したShepp-Loganファントムを使うことが「ズル」と考えられる場合もあります。
FORBILD 頭部ファントム
Shepp-Loganファントムと同じく,ヒトの頭部を模したファントム。こちらも低コントラストファントムであり,X線CTの画像再構成アルゴリズムの性能評価でよく用いられています。このサイトによると,脳組織や骨だけでなく,脳脊髄液,血液,眼球,空洞(おそらく鼻腔)などを模した構造物で構成されている模様です。
(出典) https://pubmed.ncbi.nlm.nih.gov/22713335/
Defriseファントム
コーンビームX線CTにおける「コーンビームアーチファクト」の評価に用いられるファントム。複数の扁平な楕円球または円柱がZ軸方向(体軸方向,X線源の回転軸方向)に等間隔で並んでいるために,Z方向の周波数成分が大きく,コーンビームアーチファクトを評価しやすく,また視覚的にも確認しやすくなっています。
コーンビームX線CTは,3次元空間(x,y,z)において,X線源がz=0の面内において単一の円軌道上を移動する場合(下図),z=0の面以外は厳密に画像再構成できません。厳密な画像再構成には,基本的に,被写体の全ての周波数情報が必要ですが,単一の円軌道では一部の周波数情報が欠損するため,厳密な画像再構成ができません。z=0の面から離れるほど,系統的な誤差が大きくなり,その誤差のことをコーンビームアーチファクトと呼びます。コーンビームの拡がり角(コーン角と呼ばれる)が大きくなると,アーチファクトも強く生じます。
(出典) https://en.wikipedia.org/wiki/Cone_beam_computed_tomography
コーンビームアーチファクトの分かりやすい画像👇
https://www.researchgate.net/figure/Defrise-phantom-and-its-reconstructions-with-analytical-and-iterative-algorithms-Smaller_fig4_23472670
MySimuで作成したファントム作品集
私は,下記の機能を有するX線CTシミュレータを自作して,色々とやっています。
- 幾何プリミティブ・メッシュデータの3次元画像への変換 (Voxelization)
- 幾何プリミティブ・メッシュデータ・3次元画像のコーンビーム投影データ計算 (Forward Projection)
- コーンビーム画像再構成 (Image Reconstruction)
- 画像処理 (Image Processing)
- 画像解析 (Image Analysis)
- 画質評価機能 (Image Quality Evaluation)
言語はC++/OpenMP/CUDAです。そのソフトは公開しておらず,公開予定もありません🙇
今後の記事も含めて,私のQiitaではそのシミュレータをMySimuと呼ぶことにします。
今後,MySimuで作成したファントムをここで紹介する予定です。
- 球を敷き詰めたファントム
- メッシュデータをボクセル化したファントム,など
以上です