Radiomics超入門:モルフォロジカル特徴#Volume(体積)
Volume ( Mesh )
メッシュベースの体積 $${V}$$ は ROI メッシュから計算されます[Zhang2001]。
テトラへドロン(三角メッシュから構成されるピラミッド状の3Dオブジェクト,4 面体)は、各三角面 k と、原点によって形成されます。各テトラへドロンの原点を$${(0,0,0)}$$ にした場合、その(符号付き)体積は次のように計算されます。
$$
V_k = \frac {a \cdot \left( b×c\right) } {6}
$$
ここで a、b、c は三角面 kの頂点です。ベクトルの計算になります(つまり、$${a.Dot(b.Cross(c)) / 6}$$)。計算される値は符号付き体積となり、その値は正になったり負になったりします(法線の向きの影響があるため)。負になると変なので、体積$${V}$$は、各テトラへドロンの体積の総和の絶対値をとることによって計算されます。体積の符号は法線の符号によって決定されるため、法線はROIの外側または内側を向いているものとして一貫して定義されている必要があります。
$$
F_{morph,vol} = V = \bigg\lvert {\displaystyle\sum_{k=1}^{N_{fc}} V_k} \bigg\rvert
$$
ここで、$${N_{fc}}$$は三角面の数です。
陽電子放射断層撮影法(PET)では、ROIの体積は一般的に放射性トレーサーに関連した名称を持つことがあります。例えば、18F-FDGの場合、代謝活性腫瘍体積あるいは代謝腫瘍体積(MATVまたはMTV)などと呼ばれます。
Volume(Voxel counting)
実際の臨床では、体積をボクセルカウントして計算することも一般的に行われています。
多数のボクセル(1000個以上など)からなる体積の場合、ボクセルカウントとメッシュベースアプローチの違いは無視できる範囲です。しかし、ボクセル数が少ない場合(10~100個など)、ボクセルカウントはメッシュベースアプローチに比べて体積を過大評価することがあります。そのため、これは参照としてのみ使用され、体積を変数として必要とする他のモルフォロジカル特徴の計算には使用されません。
ボクセルカウントによる体積は次のように計算されます。
$$
F_{morph,approx,vol} = {\displaystyle\sum_{k=1}^{N_{v}} V_k}
$$
ここで$${N_v}$$ はROIのモルフォロジカルマスク内のボクセル数、$${V_k}$$はボクセル k の体積を表します。
実践
では、IBSIのデジタルファントムを使って実際に計算してみます。本解説では、RadiomicsJライブラリを使っていきます。
ImagePlus[] imgAndMask = TestDataLoader.digital_phantom1();
MorphologicalFeatures molph = new MorphologicalFeatures(imgAndMask[0], imgAndMask[1], 1);
Double volumeMesh = molph.calculate(MorphologicalFeatureType.VolumeMesh.id());
System.out.println("Volume (Mesh):" + volumeMesh);
Double volumeVoxelCounting = molph.calculate(MorphologicalFeatureType.VolumeVoxelCounting.id());
System.out.println("Volume (Voxel Counting):" + volumeVoxelCounting);
// 出力
3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily//これは依存ライブラリであるImageJ 3D Viewerのログなので無視します。
Volume (Mesh):556.3333129882812
Volume (Voxel Counting):592.0
今回は、Javaで計算する例を示しますが、Pythonの方でも簡単に計算できます。Pythonの場合は、例えばvedoを使えば、こちらのポストのように計算できるようです。
RadiomicsJの引用はこちら
Kobayashi, T. RadiomicsJ: a library to compute radiomic features. Radiol Phys Technol 15, 255–263 (2022). https://doi.org/10.1007/s12194-022-00664-4
RadiomicsJのリンク
https://github.com/tatsunidas/RadiomicsJ
Stay visionary