見出し画像

自動操作の中に手動操作を組み込む|Wet研究者がコスパ良く手抜きをするためのimageJマクロ・その2


結論

自動操作の中に手動操作を組み込むには WaitForUser(); を使えばいい。


Demo

WaitForUser(); を使うと、
- ROIの選択だけ手動でやる
- 2値化のThresholdだけ手動で決める
みたいなのが実装できる。

マニュアルと自動化の間を狙って手抜きするにはほぼ必須。

ためしに、開いている画像に対して、

【自動】縮小・回転
<手動>ROIを選ぶ
【自動】Clear Outside
【自動】Crop
【自動】RGBチャネル分離
【自動】Red以外Close
<手動>Threshold選ぶ
【自動】2値化
【自動】Watershedかける
【自動】Particle analysis

をしてみる。
手動で選んだROIの赤チャネルの細胞数をカウントする、もの。

コードがこちら。

▲Code 1|.ijmのDLはここから


操作をしたい画像だけを開いた状態でこれを動かすと、ROIを選ぶ直前でマクロが一時停止する。


ROIを長方形なり丸なり多角形なりで選んで「OK」を押すと先に進む。


今度はThresholdの値決めで止まるので、手動で値を決めて「OK」を押す。

【注意】このとき押すのは「OK」ボタン。Thresholdのウィンドウの「Apply」を押してしまうとその先のマクロが動かない。最初からやり直し。

最後まで動いて、細胞カウントしておしまい。


今回のコードにフォルダ内全処理を組み合わせると、ひたすらROI選び→TH選び→ROI選び→TH選び...が繰り返される。マクロに使われてる感が出てたのしい。


いいなと思ったら応援しよう!