Analyze Particlesのsummarize stackデータの配列処理の方法?

484 views
Skip to first unread message

Atushi Nakano

unread,
Aug 15, 2016, 4:14:06 AM8/15/16
to ImageJ-jp
初歩的な質問申し訳ありません。

マルチウェルプレート(6well)の各Wellにある粒子を数えるマクロを作成しています。

各Wellは、7x7の49枚で撮影しstackにして、2値化して
  run("Analyze Particles...", "summarize stack");
で、数を数えています。

このときに、Countだけを取り出して、49x6wellの配列にしたいと思っています。

getResult("Column", row) では、"Summary of ****.tif" のrowが取り出せないのですが、
どうすれば良いでしょうか?
getResultの直前に、selectWindowをもってきてもいますが、ダメでした。

仕方がないので、其々をtxtで保存してexcelのマクロでなんとかしようと思案中ですが、
もし、配列処理ができるようであれば御教示いただければ幸いです。

また、この処理を行っているときはBatchModeで行っていますが、
Summary of ****.tifのwindowだけは最前面に表示されてしまいます。
それどころか、バックグランドでなく、他にExcel等を使っていると、一番上にpop upしてきます。
これを抑制するにはどうすればよろしいでしょうか。




Kota Miura

unread,
Aug 15, 2016, 10:22:27 PM8/15/16
to ImageJ-jp
中野さん


On Monday, August 15, 2016 at 5:14:06 PM UTC+9, Atushi Nakano wrote:

マルチウェルプレート(6well)の各Wellにある粒子を数えるマクロを作成しています。

各Wellは、7x7の49枚で撮影しstackにして、2値化して
  run("Analyze Particles...", "summarize stack");
で、数を数えています。

このときに、Countだけを取り出して、49x6wellの配列にしたいと思っています。

countだけを使いたいのであれば

 count = nResults;

とすれば、個数を取得することができます。
 

getResult("Column", row) では、"Summary of ****.tif" のrowが取り出せないのですが、
どうすれば良いでしょうか?
getResultの直前に、selectWindowをもってきてもいますが、ダメでした。

getResultは、Resultのウィンドウに特化している関数なので、Summaryの表に対しては機能しません。
どうしてもアクセスしたい時には、Resultsのウィンドウを表示させない設定でAnalyze Particlesを行い、表示されたSummaryのウィンドウをRenameして"Results"にすればgetResultsでアクセスできます。
 

仕方がないので、其々をtxtで保存してexcelのマクロでなんとかしようと思案中ですが、
もし、配列処理ができるようであれば御教示いただければ幸いです。

また、この処理を行っているときはBatchModeで行っていますが、
Summary of ****.tifのwindowだけは最前面に表示されてしまいます。
それどころか、バックグランドでなく、他にExcel等を使っていると、一番上にpop upしてきます。
これを抑制するにはどうすればよろしいでしょうか。

これはマクロからの制御はできないと思います。データをマクロから取得したらすぐにSummaryのウィンドウを閉じる、といった方法をためしてみるとよいかもしれません。GUIのより自由な制御は少々敷居が高くなりますがJythonなど、ImageJのクラスに直接アクセスする言語から可能なので、どうしても気になる場合は、そちらを学習してみるのも手です。
Reply all
Reply to author
Forward
0 new messages