Bio Technical フォーラム

  • バイオ関連の実験をする上での、試薬、機器、プロトコールなどの情報交換の場です。
  • 新しいテーマで話を始める場合、質問をする場合は「新しいトピックを作る」から書き込みをしてください。
  • 質問に対して解答できる方は是非、書き込んで下さい。
  • このフォーラムにふさわしくないと管理人が判断した投稿は予告なく削除します。

新しいトピックを作る | トピック一覧 | 研究留学ネットに戻る

ひとつ前のフォーラム(readのみ)

このスレッドをはてなブックマークに追加このスレッドをはてなブックマークに追加

ImageJを用いた画像解析について トピック削除
No.1093-TOPIC - 2012/11/02 (金) 15:35:06 - リンクス
はじめまして。
現在、マウスのTail suspension testを行っているのですが、
取得した画像をImageJで解析する方法が分からず困っています。

解析方法としましては、
隣接した二つのスライスで、それぞれマウスの面積を割り出し、
その重複部分の割合から、マウスが動いているか止まっているかを
判断しようと考えています。

二値化と、各スライスでの面積測定は出来たのですが、
隣接スライスの面積の差分というのはどう算出すればいいのでしょうか?

どなたかご教示頂ければ幸いです。
 
- このトピックにメッセージを投稿する -



7件 ( 1 〜 7 )  前 | 次  1/ 1. /1


(無題) 解決済み 削除/引用
No.1093-7 - 2012/11/04 (日) 01:41:24 - リンクス
toyo様

有難うございます!
御丁寧なお答えに心より感謝致します。
もう一度やり直したらちゃんとRecorderにも反映されました。

本当に助かりました。
解決済みにさせて頂きます。
お答え頂いた皆様に改めてお礼を申し上げます。

(無題) 削除/引用
No.1093-6 - 2012/11/03 (土) 22:51:46 - toyo
ROI Managerのマクロ化は可能なはずです。
http://rsbweb.nih.gov/ij/developer/macro/functions.html#roiManager

Macro Recorderでも認識してくれたと思うので、質問者さんの環境で
なぜ認識されないのかよくわからないのですが・・・

Analyze Particlesを実行してROI ManagerにROIが登録済みであれば、

roiManager("Associate", "true");
numROIs = roiManager("Count");
for(k=0; k<numROIs-1; k++) {
roiManager("Select",newArray(k,k+1));
roiManager("XOR");
//roiManager("Add");
run("Measure");
}

でROI間の面積の差を測定できると思います。
(XORをとった後ROI Managerに登録する必要がないことに気づいたので、
上のコードでは省きました。)

(無題) 削除/引用
No.1093-5 - 2012/11/03 (土) 22:31:07 - リンクス
qq様、im様、toyo様

お答えくださり有難うございます。
非常に参考になりました。

スタックを複製してimage calculatorを開く方法を試みたのですが、残念ながらout of memoryと表示されてしまいました。画像が少し重すぎたようです。

toyo様にお教え頂いた後者の方法だと上手く行きそうです。
この作業がMacro化できると嬉しいんですが、ROI Managerウィンドウの作業はRecorderで認識してくれないようで。。
硬派なだけに、手作業だと時間がかかってしまうのがちょっとしんどいですね。
ROI Managerの作業をMacroにする方法があれば助かるのですが、どなたか御存知ないでしょうか?

(無題) 削除/引用
No.1093-4 - 2012/11/02 (金) 20:54:40 - toyo
qqさんの方法について勝手に補足させてください。
(勘違いだったらすみません)。
8bitの画像を例にとると、各画素は0から255までの値しか取れないので、
2値化画像をimage calculatorで引き算すると、0から255を引いた
ピクセルの値は-255ではなく0になってしまいます。
image calculatorを使うとき"32-bit(float) result"にチェックを入れると
この問題は解決されますが、IntDensなどの算出には負の値は負のままで
計算されるので、正しい答えが得られないのではないでしょうか。
そこで32-bitのresultの画像に対して絶対値をとり(Process->Math->Abs)、
MeasureしてIntDensなどを調べれば良いと思います.

それから、もう少し硬派?な方法を考えてみましたので以下に示します。

マウスが検出できるように、それぞれのスライスで適切な閾値を設定します。
(質問者さんのように2値化までやってもよいと思います。)
次にAnalyze->Analyze Particles... を実行すると、マウスを含む複数の
領域がROIとしてROI Managerに登録されます。
File->New->Imageで元画像と縦横のサイズが同じ画像を新規に作成し、
比較したい2つのROIを、ROI Manager上でCtrlキーを押しながら順に
選択します(複数ROIの同時選択)。
ROI Manager上で右クリックし、"XOR"を選ぶと、2つのROIの差分領域だけが
選択されます。
この状態でROI Managerの"Add"ボタンを押すと、差分領域が新たなROIと
して登録されます。
新たなROIを選んだ状態でROI Managerの"Measure"ボタンを押すと、
その領域の面積などが計測できます。

(無題) 削除/引用
No.1093-3 - 2012/11/02 (金) 18:57:10 - im
画像の差分は、ImageJのProcessの中のImage Calculatorを選べばできるんじゃないでしょうか?
二値化するときに「マウスのいる画像」-「同じ場所でマウスのいない画像」みたいな処理をしたら、使ってる機能のような気もするので、求めているものは違うのかもしれませんね。
マウスはどのように処理するものなのか知りませんが、例えば、ここにあるpluginとかは使えたりしないのでしょうか?
http://www.phage.dk/plugins/wrmtrck.html

(無題) 削除/引用
No.1093-2 - 2012/11/02 (金) 18:47:47 - qq
スタックを2値化したら、スタックを複製します。
複製したスタックの最初のスライスをdelete sliceして、最後のスライスに add sliceします。
process>image calculatorを開いて、二つのスタックのsubtractをとると、差分のスタックが作成されるので、作成された差分画像をmeasureして、IntDensを読むといかがでしょうね。

ImageJを用いた画像解析について 削除/引用
No.1093-1 - 2012/11/02 (金) 15:35:06 - リンクス
はじめまして。
現在、マウスのTail suspension testを行っているのですが、
取得した画像をImageJで解析する方法が分からず困っています。

解析方法としましては、
隣接した二つのスライスで、それぞれマウスの面積を割り出し、
その重複部分の割合から、マウスが動いているか止まっているかを
判断しようと考えています。

二値化と、各スライスでの面積測定は出来たのですが、
隣接スライスの面積の差分というのはどう算出すればいいのでしょうか?

どなたかご教示頂ければ幸いです。

7件 ( 1 〜 7 )  前 | 次  1/ 1. /1


パスワードを入力してチェックした記事を チェックした記事を

このトピックにメッセージを投稿する
名前 
メール   アドレス非公開
   タイトル 
本文      
設定  クッキーを保存(次回の入力の手間を省けます)
上に上げない(トピックの一覧で一番上に移動させません)
解決(問題が解決した際にチェックしてください)
暗証  半角英数字8-12文字の暗証番号を入れると、あとで削除、修正ができます。
送信 

〔使い方〕
  • 「アドレス非公開」をチェックすれば、自分のメールアドレスを公開しないで他の方からメールを受け取れます。
  • 問題が解決した際には、解決ボタンをチェックして解決した旨のコメントをつけてください。これは、初めにトピックを作った人と管理人のみが可能です。
  • 半角カタカナ、機種依存文字(全角ローマ数字、○の中の数字等)は文字化けの原因となりますので使わないでください。