ImageJを使った画像解析実習
ー大量の画像データに対する処理の自動化ー
第194回農林交流センターワークショップ
「 植物科学・作物育種におけるフェノーム解析
- はじめて画像解析を行う研究者のための入門実習 - 」
2015-9-18 13:00-14:30 (実習90分)
実習主担当 相阪 有理
エルピクセル(株)
はじめに
画像解析の流れ
生データ
コンピュータ/ImageJ
解析結果
加工済データ
画像解析の流れ(つづき)
大量の生データ
コンピュータ/ImageJ
解析結果
加工済データ
ムリ…
コンピュータによる情報処理
• 正確な逐次実行と条件分岐 (融通がきかない)
• 圧倒的な繰返し実行能力
→ C1 → D1
A → B E
→ C2 → …
例:連続画像から統計情報を取得
演習の目標: 解析を自動化してみましょう。
処理の自動化
自動化の方法色々
• 学生さんポスドクさんが頑張る
• ImageJのマクロを作成/利用
• ImageJのプラグインを作成/利用 (Java)
• 専用プログラムを作成/利用 (OpenCV等)
• 外注
マクロによる自動化の特色
マクロとは…
(複数の画像の各々に対し)
ImageJのコマンドの組合せを逐次実行する仕組
→ 単純作業の繰り返しの自動化
• お手軽
– 無料
– マクロレコーダを用いて対話的作成も可能
(→作業ログにもなる。解析の再現可能性。)
• 高速な処理や複雑な処理は苦手
「バッチ処理」
マクロのレコーディング
• メニュー > Plugins > Macros > Record…
このような窓が表示される。
演習: Recorder窓を表示した状態で、ImageJを操作してみましょう。
マクロの保存とインストール
簡易エディタが開かれる
続いて、File > Save As… でマクロをファイルに保存できる
さらに、Plugins > Macros > Install… でマクロを利用可能に
マクロの適用
• インストール済のマクロは、メニューの
Plugins > Macros の下部に現れる。
→ 選択することで利用可能
演習: 簡単なマクロを作って遊んでみましょ
う。
例: 二値化、領域選択 etc.
バッチ処理
• Process > Batch > Macro…
で、あるディレクトリの下にある複数の画像ファイルにマクロを適用でき
る。
入力ディレクトリ
出力ディレクトリ(前もって作成しておく)
マクロ
作っておいたマクロを使うこともできる
準備ができたら実行
マクロに関する注意等
• http://rsbweb.nih.gov/ij/docs/macro_reference_guide.pdf
• マクロファイルは、.txt か .ijm という拡張子を持
たなくてはならない。
• 常用するためにはマニュアルに目を通した方が
良いが、Plugins > Macros > Record… でRecorderを
開き、使える「パーツ」を採取→編集、でもそ
れなりに使える。→ 本日の演習
マクロ cheat sheet(上級者向)
• 繰り返し
• 条件分岐
• 関数定義
// ← コメント
for (i=0; i<10; i++) {
j = 10*i;
print(j);
}
i = 0;
while (i < 10) {
print(i);
i = i + 1;
}
i = 0;
do {
print(i);
i = i + 10;
} while (i<=90);
// ans = "Yes”;
if (ans=="yes”)
print ("true");
else
print("false");
function dispose(title) {
selectWindow(title) ;
run ("Close") ;
}
最後の演習
これまでに、
• 1画像の閾値設定/二値化→領域抽出
– Image > Adjust > Threshold
• ROIの特徴量計測
– Analyze > Analyze Particles
を手動で行う方法を学んできました。
これらを(1) マクロにまとめ、(2) 大量の画像を
自動解析してみましょう。
ヒント: マクロレコーダ → (マクロ保存) → バッチ実行

ImageJを使った画像解析実習〜大量の画像データに対する処理の自動化〜