見出し画像

Radiomics超入門:モルフォロジカル特徴#Moran’s I index

Moran's I indexは、空間的な自己相関の指標です [Moran1950][Dale2002]。

$$
F_{morph.moran.i} = \frac{N_{v,gl}} {\sum_{k_1=1}^{N_{v,gl}}\sum_{k_2=1}^{N_{v,gl}} w k_1 k_2} \frac {\sum_{k_1=1}^{N_{v,gl}}\sum_{k_2=1}^{N_{v,gl}} w k_1 k_2 (X_{gl,k_1}-\mu)(X_{gl,k_2}-\mu)} {\sum_{k=1}^{N_{v,gl}} (X_{gl,k}-\mu)^2}, k_1\not =k_2
$$

$${N_{v,gl}}$$は、ROI 内のボクセル数、$${μ}$$は$${X_{gl}}$$の平均値(ボクセル信号強度の平均)、$${wk_1k_2}$$はROI マスクのボクセル$${X_{c,gl}}$$のうち、ボクセル$${k_1}$$と$${k_2}$$との間の逆ユークリッド距離で表される重み係数です[DaSilva2008]。

Moran's I index の値が 1.0 に近い場合は空間的自己相関が高く、0.0 に近い場合は空間的自己相関がなく、-1.0 に近い場合は空間的反自己相関が高いことを示します。

解像度が高いボリューム(たくさんのボクセルを含むROI)では、Moran's I indexは計算コストがかかります。計算しやすくするために、ROIのボクセルセットをダウンサンプリングして近似した値を得ることもできますが、その場合は精度が犠牲になります。

実践

ImagePlus[] imgAndMask = TestDataLoader.digital_phantom1();
MorphologicalFeatures molph = new MorphologicalFeatures(imgAndMask[0], imgAndMask[1], 1);
Double v = molph.calculate(MorphologicalFeatureType.MoransIIndex.id());
System.out.println(MorphologicalFeatureType.MoransIIndex+" : "+ v);
//出力
========== roi range ==========
x min 0.0 x max 4.0
y min 0.0 y max 3.0
z min 0.0 z max 3.0
===============================
MoransIIndex : 0.03970350823081247

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


この記事が気に入ったらサポートをしてみませんか?