質問: image jでの細胞面積の測定について imagejを使って、骨格筋細胞面積の計測を考えています。骨格筋細胞の辺縁をimagejのthretholdでうまく認識できないため、画像をまずphotoshopにて取り込み、細胞の辺縁をペンでなぞり、白黒の新たな画像を作り、それをimagejで解析しようとしました。まずprocess-binary-make binaryを行い、その後find edgesを行いました。そこまではうまく、辺縁を認識できているようでしたが、スケールを設定の上、analyze particlesを行っても約200程度ある細胞の内の10程度しか認識してくれません。どうも線と線が接しているような場合は認識してくれないような、印象がありました。細胞同士接していることは多々ありますので、そのような場合にどうすれば、細胞として認識してくれるのか、わかる方いらっしゃいましたら、ぜひご教授いただきたく存じます。どうも文章ではうまくニュアンスが伝わらないのですが。 なお、binary-watershedも行いましたが、いらん所を分割してしまい、全く使えませんでした。先輩に聞いたところ、昔のversionではできた。などど言われました。ちなみに今使用しているバージョンは1.37です。1.40でも試しましたが、同じ結果でした。 よろしくお願いします。
回答: どうすればimagejで不明瞭な細胞の境界を識別させられるかはわからないので、境界線を手でなぞる場合について書いてみます。 photoshopのペンツールで細胞の輪郭をなぞる時(imagejのペンシルツールでも同じ事が出来ると思います)、線の太さが1ピクセルだとimagejで境界線として認識されません。必ず2ピクセル以上の太さが必要です。2ピクセル以上の太さの閉じた境界線を描いておけば、境界線の内側の面積を求めるのにmake binaryやfind edgesをする必要は全くありません。 面積を求めたい画像を開いた状態でimage/adjust/thresholdを呼び出して、境界線が黒く、面積を求めたい領域が赤くなるようにスライドバーを動かします。8bitの画像で境界線のグレーバリューが0なら、1-255が赤くなるように、境界線のグレーバリューが255なら、0-254が赤くなるようにしておくと確実です。 その後はthresholdのウィンドウはそのままにして、面積を求めたい画像のウィンドウをアクティブにし、analyze particlesを実行して下さい。set measurementsの設定がデフォルトのままなら、それぞれの領域の面積と、グレーバリューの平均値、最大値、最小値などが測定できるはずです。 analyze particlesのスケールの設定によっては境界線の外側全てが1つのparticleと認識されたり、面積の小さい細胞が測定されなかったりするので、スケールの値を適宜変更したり、show nothingからshow outlinesに変更してどこがparticleとして測定されたかを確認しておくと良いでしょう。 このやり方では、image/adjust/thresholdをいじらないと境界線自体の面積を求めてしまうので、くっ付いた境界線は一つのparticleと認識されてしまいます。境界線がくっ付いている場合はparticleの数が少なくなるので気づきやすいですが、境界線が離れていると気づかない可能性もあります。flood fillツールで細胞外を境界線と同じ色で塗りつぶしてしまえば問題なさそうですが、うっかり間違えないようにくれぐれもご注意を。