t_kahi’s blog

KNIMEやCellProfiler、創薬に関する記事と,日々のメモです

【CellProfiler】MeasureObjectIntensityで取得できる特徴量について

こんばんは,@PKです.

以前,CellProfilerに関する記事を書いたときに,「MeasureObjectIntensity」モジュールで取得できる特徴量について,細かく触れることができませんでした.

t-kahi.hatenablog.com

今回は「MeasureObjectIntensity」でどのような特徴量を取得できるのかについて紹介したいと思います.

MeasureObjectIntensity

各オブジェクト内の強度値を測定してくれるオブジェクトです.

わかりやすい特徴量は説明不要と思うので,定義だけ載せます.

  • IntegratedIntensity: オブジェクト内のピクセル強度の総和
  • MeanIntensity: オブジェクト内のピクセル強度の平均値
  • StdIntensity: オブジェクト内のピクセル強度の標準偏差
  • MaxIntensity: オブジェクト内のピクセル強度の最大値
  • MinIntensity: オブジェクト内のピクセル強度の最小値
  • IntegratedIntensityEdge: オブジェクトのエッジ部分のピクセル強度の総和
  • MeanIntensityEdge: オブジェクトのエッジ部分のピクセル強度の平均値
  • StdIntensityEdge: オブジェクトのエッジ部分のピクセル強度の標準偏差
  • MaxIntensityEdge: オブジェクトのエッジ部分のピクセル強度の最大値
  • MinIntensityEdge: オブジェクトのエッジ部分のピクセル強度の最小値
  • LowerQuartileIntensity: オブジェクト内の第1四分位数のピクセル強度値
  • UpperQuartileIntensity: オブジェクト内の第3四分位数のピクセル強度値
  • MedianIntensity: オブジェクト内のピクセル強度の中央値
  • Location_MaxIntensity_X, Location_MaxIntensity_Y: ピクセル強度値が最大値を示す(X,Y)座標

それでは残りの特徴量について,それぞれ記載していきます.

MADIntensity

MADIntensity : オブジェクト内のピクセル強度のMedian absolute deviation(MAD : 中央値絶対偏差)

中央絶対偏差 (MAD) は、各値 (Xi からXの中央値を引いた値) の絶対値の中央値としてて以下のように計算されます.
MAD = median(|Xi – median(Xi)|)

一般的にデータの分散を考えるときは標準偏差を使います.しかし,明らかな外れ値がある場合や非正規分布の場合は,標準偏差はそれらの影響を強く受けてしまいます.
中央絶対偏差を使うことで,そのような場合の分布の分散を表すことができます. データのばらつきは四分位範囲でも考えることができますが,中央絶対偏差のほうがより正確らしいです.
Median Absolute Deviation - Statistics How To

中央絶対偏差は外れ値の除去の際に役に立ちます..
画像解析の際に,変なノイズが入って画像解析に影響を与えることは多々あるので,結構使えると思いました.
Using the Median Absolute Deviation to Find Outliers

Location_CenterMassIntensity_X, Location_CenterMassIntensity_Y

Location_CenterMassIntensity_X, Location_CenterMassIntensity_Y : オブジェクト内のピクセル強度を加味した重心の(X,Y)座標.

ピクセル強度値で重みづけされたオブジェクトの重心の(X,Y)座標を示しており,例えばオブジェクト内のピクセル強度値が左右で大きく異なる場合などは,オブジェクトの形だけをもとに算出した重心とずれてくることが考えられます.

MassDisplacement

MassDisplacement : 二値化オブジェクトとグレーレベルオブジェクトの重心間の距離

この中で一番わかりにくかった特徴量でした.
幸いなことに「MassDisplacement」に関する質問と回答があったのでこちらを参考しました.
Mass Displacement - Image Analysis - Image.sc Forum

CellProfilerの「MeasureObjectintensity」のソースコードには以下のような説明が書いてありました. CellProfiler/measureobjectintensity.py at master · CellProfiler/CellProfiler · GitHub

# The mass displacement is the distance between the center
# of mass of the binary image and of the intensity image. The
# center of mass is the average X or Y for the binary image
# and the sum of X or Y * intensity / integrated intensity

グレーレベルオブジェクトの重心とは,先ほど「Location_CenterMassIntensity」で算出した重心を意味しています.
一方で,二値化オブジェクトは,オブジェクトのピクセル強度を加味せず,すべて1とした場合の重心を意味しています.
この差分をとるということは,蛍光強度がオブジェクト内で偏っているほど,「MassDisplacement」の値は大きくなります.

つまり,オブジェクト内のに蛍光強度の偏りがある際に,その偏り度合いの指標として「MassDisplacement」を使用することができます.