Radiomics超入門:モルフォロジカル特徴#VolumeDensityとAreaDensity
Volume Density(体積密度)
Volume Density(体積密度)は、ROI 体積と比較体積の割合です。
$$
F_{morph.v.dens} = \frac {V} {V_{comparison}}
$$
Area Density(面積密度)
Area Density(面積密度)は、ROI 面積と比較面積の割合です。
$$
F_{morph.a.dens} = \frac {A} {A_{comparison}}
$$
比較体積と比較面積
比較体積・比較面積とは、その名の通り、比較のためだけに用意された体積と面積で、再現性のある計算方法で作成されます。比較体積や比較面積の計算方法には代表的ないくつかの種類があります。
Axis-Aligned Bounding Box (AABB)
ROIメッシュの頂点集合$${X_{vx}}$$またはROIメッシュ凸包頂点集合$${X_{vx,convex}}$$のAxis-aligned bounding box(AABB)を使って計算される体積と面積。どちらのROIメッシュを用いても同じ結果が得られることが前提です。このバウンディングボックスは、ROIメッシュの空間座標系の$${(x,y,z)}$$基準軸に沿って構成され、(基準軸に沿っている状態で)メッシュを囲う最小のボックスになります。
Volume Density (AABB)は別名で$${extent}$$とも呼ばれます[ElNaqa2009][Solomon2011]。Area Density(AABB)の参考文献[VanDijk2016]。
Oriented Minimum Bounding Box (OMBB)
AABBは、基準軸に沿うという制約があるため、厳密にはROIを囲む最小のボックスではありません。例えば、ROIオブジェクトの主要な軸など、異なる軸に沿ってボックスを回転・位置調整して配置することで、より小さなボックスを得ることができます。このように計算されるボックスがOriented minimum bounding boxです。
ROIメッシュの頂点集合$${X_{vx}}$$または$${X_{vx,convex}}$$のOriented Minimum Bounding Box (OMBB) は、頂点集合を囲むように構成された、可能な限り小さな体積を持つボックスです。
ROI オブジェクトの軸を計算するために、3次元回転キャリパーを用いた手法が考案されています [ORourke1985]。この技法は計算が複雑であるため、より少ない計算量で近似する方法で計算するのが一般的です([Barequet2001]や[Chan2001]を参照)。
IBSIリファレンスマニュアルでは、OMBBは計算の複雑さから非推奨となっています。参考値も非公開となっているため、プログラムの正確さを検証することもできません。
Approximate enclosing ellipsoid (AEE)
主成分分析(PCA)によって得られた固有値を用いて得られる楕円体の体積と面積を用いる方法です。詳細は本解説の"PCAで得られる特徴"を参照してください。
Minimum volume enclosing ellipsoid (MVEE)
Minimum Volume Enclosing Ellipsoid(MVEE, 最小体積包囲楕円体)は、近似された包囲楕円体(AEE)とは異なり、ROIを囲む最小の楕円体です。MVEEを直接計算することは通常不可能であるため、近似計算されます。例えば[Todd2007][Ahipasaoglu2015]のように、様々な近似アルゴリズムが記述されており、それらは通常、Khachiyanのバリセントリック座標降下法[Khachiyan1996]を応用したものです。
IBSIリファレンスマニュアルでは、MVEEは計算の複雑さから非推奨となっています。参考値も非公開となっているため、プログラムの正確さを検証することもできません。
Convex hull
Convex hull(凸包)は、ROI メッシュの頂点集合 $${X_{vx}}$$ を囲み、頂点集合 $${X_{vx,convex}}$$ と対応する面から構成されます。
ROI メッシュからConvex hull で得られた頂点集合の体積と面積は、メッシュベースの ROI ボリューム体積および面積と同じ方法で計算されます。
Volume Density (Convex hull)は、別名で$${solidity}$$とも呼ばれます。
実践
RadiomicsJを用いて計算してみます。データはIBSIリファレンスのデジタルファントムです。
IBSIリファレンスで非推奨特徴となっているOMBBとMVEEを用いた体積密度・面積密度は、RadiomicsJに非実装のため、除外しています。
ImagePlus[] imgAndMask = TestDataLoader.digital_phantom1();
MorphologicalFeatures molph = new MorphologicalFeatures(imgAndMask[0], imgAndMask[1], 1);
//volume density
Double v_aabb_frac = molph.calculate(MorphologicalFeatureType.VolumeDensity_AxisAlignedBoundingBox.id());
Double v_aee_frac = molph.calculate(MorphologicalFeatureType.VolumeDensity_ApproximateEnclosingEllipsoid.id());
Double v_convexhull_frac = molph.calculate(MorphologicalFeatureType.VolumeDensity_ConvexHull.id());
//area density
Double a_aabb_frac = molph.calculate(MorphologicalFeatureType.AreaDensity_AxisAlignedBoundingBox.id());
Double a_aee_frac = molph.calculate(MorphologicalFeatureType.AreaDensity_ApproximateEnclosingEllipsoid.id());
Double a_convexhull_frac = molph.calculate(MorphologicalFeatureType.AreaDensity_ConvexHull.id());
System.out.println("Volume densities; ");
System.out.println(MorphologicalFeatureType.VolumeDensity_AxisAlignedBoundingBox +":"+ v_aabb_frac);
System.out.println(MorphologicalFeatureType.VolumeDensity_ApproximateEnclosingEllipsoid +":"+ v_aee_frac);
System.out.println(MorphologicalFeatureType.VolumeDensity_ConvexHull +":"+ v_convexhull_frac);
System.out.println("Area densities ; ");
System.out.println(MorphologicalFeatureType.AreaDensity_AxisAlignedBoundingBox +":"+ a_aabb_frac);
System.out.println(MorphologicalFeatureType.AreaDensity_ApproximateEnclosingEllipsoid +":"+ a_aee_frac);
System.out.println(MorphologicalFeatureType.AreaDensity_ConvexHull +":"+ a_convexhull_frac);
//出力
3D [dev] 1.6.0-scijava-2-pre11-daily-experimental daily
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Volume densities; //ここから
VolumeDensity_AxisAlignedBoundingBox:0.8692708015441895
VolumeDensity_ApproximateEnclosingEllipsoid:1.1728172047931376
VolumeDensity_ConvexHull:0.9608520086153389
Area densities ;
AreaDensity_AxisAlignedBoundingBox:0.8662290785993848
AreaDensity_ApproximateEnclosingEllipsoid:1.3551287251708304
AreaDensity_ConvexHull:1.03286884407712
※出力は依存ライブラリからのログが多いですが、「Volume densities; 」以下が結果になっています。
参考文献
Chris Solomon and Toby Breckon. Features. In Fundamentals of Digital Image Processing, chapter 9, pages 235–262. John Wiley & Sons, Ltd, Chichester, UK, jan 2011.
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