- ベストアンサー
細胞面積の測定について Image J
- Image Jを使用して骨格筋細胞の面積を計測する方法について質問があります。
- Image Jでは骨格筋細胞の辺縁をうまく認識できず、Photoshopを使用して認識を改善しました。
- しかし、細胞同士が接している場合にうまく認識できず、解析できる細胞数が限られてしまいます。そのような場合にどのように対処すればよいか教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
どうすれば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ツールで細胞外を境界線と同じ色で塗りつぶしてしまえば問題なさそうですが、うっかり間違えないようにくれぐれもご注意を。
その他の回答 (2)
- guragura77
- ベストアンサー率68% (153/225)
ANo.1&2です。 実物を確認できないのでごく基本的なところから疑ってかかるような回答になってしまいますが、その点はご容赦ください。 >2ピクセル以上で画像を作っていました。 そうだとすると、今ある情報から思いつく原因は ・Photoshopで鉛筆ツールでなくブラシツールを使って線を描いた ・境界線が閉じていなかった くらいです。 Thresholdをいじらないと境界にならないという事は、境界線のグレーバリューが一定でない、という事を意味しているのではないかと思います。ブラシツールで描いた場合は線の色に濃淡ができるので、Thresholdを1-255や0-254にした時には境界線になりません。画像を拡大して境界線を見た時に、黒一色になっているか確認してみてください。 線が閉じてない場合は、言わずもがな。線が黒一色なのにParticleにならないのなら、境界がきちんと閉じているか確認して下さい。
補足
何度もご回答いただきありがとうございます。 ご指摘いただいた件ですが、 画像を拡大して確認いたしましたが、境界線は閉じていました。また鉛筆ツールで線を描いていましたので、境界線のグレーバリューは0で背景の白が255となっていました。 この条件でAnalyze particlesを行った際に計測される約20の細胞と、計測されないほぼ180の細胞の違いが結局比べてみてもよくわからないのです。 しかし、今回のアドバイスでImageJに対する理解がだいぶ今までより深化しました。 アドバイスを参考にし、最終的に次の手順でかなり正確に測定できました。まず細胞写真を取り込んで8bitとした後に、ImageJのペンツールで細胞の間を白く書いていき、その後Binary Dataとすることで、ほぼ正確に細胞面積を測定することができました。 今回はご教授いただき大変ありがとうございました。またわからない点ありましたら、質問させてください。よろしくお願いします。
- guragura77
- ベストアンサー率68% (153/225)
ANo.1です。 誤解がありそうなので追加回答します。 >ピクセル数の問題はありませんでした。 これは「2ピクセル以上の太さで描いてあった」という意味でしょうか? こちらでもPhotoshopを使って確かめましたので出来るはずだと思うのですが、出来ないのだとしたらちょっとどうすれば良いかわかりません。 しかし「1ピクセルで描いたけど、目に見えるから境界線になってるはずだ」という意味なら、それは間違いです。 グレーバリューが5の画像上にグレーバリューが0で太さが1ピクセルの線を斜めに引くと 5 5 5 5 5 5 0 5 5 5 5 5 0 5 5 5 5 5 0 5 5 5 5 5 0 5 5 5 5 5 0 5 5 5 5 5 0 5 5 5 5 5 という風になります。このグレーバリュー0の線は目には見えてもAnalyse Particleなどでは境界線として作用しない、と言っています。この時、0が黒で5が赤になるようThresholdを設定しても、グレーバリュー5のピクセル全てを1つのParticleと認識します。斜めに接しているピクセルは「繋がっている」と認識されるからでしょう。 2ピクセルで線を描けば 5 5 5 5 0 0 5 5 5 0 0 0 5 5 0 0 0 0 5 0 0 0 0 5 0 0 0 0 5 5 0 0 0 5 5 5 こうなって、境界線になります。上下にあるグレーバリュー5の塊は別のParticleになります。 手で描いた線に斜めの部分がない、なんて事はまずありませんから、1ピクセルの線で境界を描くのは無理です。ですから「2ピクセル以上の太さの線」が必要なんです。 JPEGで高圧縮にすれば境界として描いた線がボケて、元が細くても実質太くなったような状態になりますから(そのかわりグレーバリューも変化しますが)Thresholdをいじれば境界に出来なくもないのでしょう。 しかしそのやり方は意図しなかった部分まで境界線にしてしまう危険性がありますし、画像の持っている情報を捨てているわけですから、Particle内のグレーバリューを測る必要が出てきた場合などには応用できません。 止めた方が良いと思います。 線の太さの変え方がわからないという事なら、ImageJの場合ペンシルツールのボタンをダブルクリックすれば設定画面が出ます。Edit/Options/Line Widthからでも変更可能です。
補足
ご返答ありがとうございます。 2ピクセル以上で画像を作っていました。 なかなか、実物をみて、確認していただけないと、難しいかもしれません。 画像を添付してメールしたいところですが。 画像圧縮は確かに情報をdropしますので、デンシトメトリーの際にはTIFFでやっています。窮余の策でした。
お礼
このたびはご教授いただきありがとうございました。ImageJは正直先輩のマニュアルを意味もわからず使っていたところがあるので、少しづつ自分のものにしていきたいと思っています。 ところで、さっそくもともとの画像で行ってみました。ピクセル数の問題はありませんでした。Thresholdで境界が黒、他が赤となるようにし、Analyze Particlesを行いましたが、やはりうまく認識されませんでした。Thresholdをいじって、何回か計測しなおしましたが、1)そもそもparticleとして認識しない、2)もしくは一つの大きなparticleとして認識するのどちらかとなってしまいます。そこで、もともとの画像うがTIFFで保存していたものを、JPEGで保存しなおして測定したところ、うまくthresholdをいじると測定することができました。それもJPEGの圧縮度を上げるほど、うまくいくという、ちょっと時代に逆行するようなある意味面白い現象でした。 いろいろ条件を変えて、最適の条件を見つけたいと思います。ご回答ありがとうございました。今後もよろしくお願いいたします。