概要
組織中の細胞の分布パターンを画像解析から評価するため、Fiji(ImageJ)で使えるマクロを作成した。
評価基準にはHSI(Hopkins-Skellam index)という指数を用いている。
HSI(Hopkins-Skellam index)とは
HSIとは植物集団における個体の分布パターンを分類するためHopkinsとSkellamにより考案された指標である。ある領域内の点群についてこれを求めると、分布がランダムであればHSIは1に近く、凝集・集合が起こっている状態では1より大きく、regularに分布していれば1より小さくなる(Hopkins & Skellam, 1954)。
使用法
画像の前準備
1)Fiji(またはImageJ)で画像を開く
2)カラー画像の場合は8bit画像に直す
Image > Type > 8-bit
3)着目したい粒子のみが選択されるよう、Thresholdを設定する
Image > Adjust > Threshold →(設定)→ Apply
粒子群の位置測定
4)測定内容の設定:
Analyze > Set Measurements...
→ Center of mass
にチェック☑︎ → OK
5)粒子の重心座標を測定:
Analyze > Analyze Particles...
・着目する粒子群以外に小さな塵などが認識されている場合は、
"Size"の下限を引き上げることで解析対象から除外できる。
・Display Results
にチェック☑︎を入れておくと、測定終了後に
結果がResultウィンドウで表示される。
HSIの算出 - マクロの実行
6)以下のマクロを実行する。
マクロウィンドウはPlugins > New > Macro
などから開ける。
macro "obtainHSI"
{
getDimensions(width, height, channels, slices, frames);
r1sum=0;
r2sum=0;
for(k=0;k<1000;k++)
{
for(j=1;j<nResults();j++)
{
r1sum=r1sum+getNearestDistanceSquare(random()*width,random()*height);
r2sum=r2sum+getNearestDistanceSquare(getResult("XM",j),getResult("YM",j));
}
}
showMessage(r1sum/r2sum);
function getNearestDistanceSquare(x,y)
{
nearestDistanceSquare=width*width+height*height;
for(i=1;i<nResults();i++)
{
DistanceSquare=(getResult("XM",i)-x)*(getResult("XM",i)-x)+(getResult("YM",i)-y)*(getResult("YM",i)-y);
if(DistanceSquare<nearestDistanceSquare&&0<DistanceSquare)
{
nearestDistanceSquare=DistanceSquare;
}
}
return nearestDistanceSquare
}
}