ImageJマクロの使い方 | ショートカット登録方法も
この記事は、ImageJマクロの使い方が分からない方向けです。とりあえずこれを読めばネットで調べたコードを動かせるようになります。
ImageJに拡張機能が色々付いた状態のソフトである「Fiji」は少し方法が異なります。以下の目次で、【Fiji】と書かれたページまでジャンプして下さい。
1.マクロの実行
例として、以下のコードを使います。実行すると画面に「Hello World」と表示されます。
print("HelloWorld");
"File"→"New"→”Text Window”をクリック。
(ショートカットキー:Ctrl + Shift + N)
コードを書き、"Macros"→”Run Macro”をクリック。
(ショートカットキー:Ctrl + R)
※コードの一部を選択した状態で上記の操作をすると、任意の行だけを実行することもできます。
「print("HelloWorld");」を実行した場合は、このような表示が出ます。
2.マクロの保存
テキストウィンドウの"File"→"Save as"をクリック。
(ショートカットキー:Ctrl + Sでもいけます。初回は上書き保存されないので)
ImageJのフォルダの中の、Pluginsというフォルダをダブルクリック。macrosに保存するほうが一般的かもしれませんが、後でショートカット登録したいのでPluginsフォルダに入れます。
ファイル名の先頭に日付などの数字を入れるのがおすすめです。後でショートカットに登録する際、探すのが少し楽になります。
拡張子(末尾の文字列)は「~.ijm」で保存。「.txt」だと動きませんでした。
3.保存したマクロの実行
まずImageJ(またはFiji)を再起動します(×ボタンで閉じて、また起動する)。
※新しくPluginsフォルダに追加したマクロは、再起動しないと使えるようにならない。
※一度使えるようになった後でコードの中身を変えて上書き保存した場合は、再起動の必要なし。
※ファイル名を変えた場合は再起動が必要。
"Plugins"の中から探して、クリックするだけ。
名前の先頭に日付を入れない場合だと、一番下のほうに居ました。
4.ショートカット登録方法
"Plugins"→"Shortcuts"→Add Shortcut"の順にクリック。
shortcutは好きなキーを選び、Commandはマクロを選ぶ。
※日付をつけた理由は、この時に見つけやすいからです。
ショートカット登録は再起動不要です。もう使えるようになっています。
※"Plugins"→"Shortcuts"で、自分が登録したショートカットを確認できます。
ショートカット解除は"Plugins"→"Shortcuts"→Remove Shortcut"。解除の際は再起動が必要です。
5.処理を記録する & 自分で書いてみる
私は、以下の3つの組み合わせで試行錯誤しながら書いています。
- Recorderでとりあえず記録してみる
- 四則演算とかfor文if文などの基本文法は、公式ホームページ(英語)「ImageJ Macro Language - NIH」を見る
- 色々な方がネットで公開してくれてるコードを参考にする
【Recorderの使い方】
"Plugins"→"Macros"→”Record”をクリックすると、レコーダーが開きます。
この状態で行った処理が全て記録されます。例えば、”Image”→"Type"→”16-bit”をクリックすることで画像を白黒16ビットにしてみると、以下のように記録されます。
白黒16ビットに変換したいときは「run("16-bit");」と書けば良い、ということが分かりました。こんな感じで、自分がやりたい処理をどう書けばいいのか?調べることができます。
ここから先はImageJに拡張機能が色々付いた状態のソフトである「Fiji」での方法です。
【Fiji】1.マクロの実行
例として、以下のコードを使います。実行すると画面に「Hello World」と表示されます。
print("HelloWorld");
"File"→"New"→”Text Window”をクリック。
(ショートカットキー:Ctrl + Shift + N)
テキストエディタが開く。拡張子が「.ijm」ならOK。
「.ijm」でないなら、"Language"→”IJ1 Macro”の順にクリック。そうすると「.ijm」に変わるはずです。
(ショートカットキー:Alt + L からの Alt + I)
※1個前の手順で"New"→"script"をクリックしても同じテキストエディタが開くのですが、
LanguageがNoneになっており、IJ1 Macroにする必要があります。
そのため、1個目の手順では"New"→"Text Window"という手順で紹介しました。
コードを書き、Runボタンをクリック。
(ショートカットキー:Ctrl + R)
※コードの一部を選択した状態で上記の操作をしても、全体が実行されました。任意の行だけ実行する方法は調査中です。分かったら追記します。
「print("HelloWorld");」を実行した場合は、このような表示が出ます。
【Fiji】2.マクロの保存
テキストウィンドウの"File"→"Save as"をクリック。
(ショートカットキー:Ctrl + Sでもいけます。初回は上書き保存されないので)
Fijiのフォルダの中の、Pluginsというフォルダをダブルクリック。
Pluginsフォルダの中の、Macrosというフォルダをダブルクリック。ややこしいですが、Pluginsの中のMacrosフォルダです。
アンダーバーを1つ以上含め、かつ拡張子は「.ijm」で保存。
ImageJは不要ですがFijiはアンダーバーが無いとダメでした。
また、ファイル名の先頭に日付などの数字を入れるのがおすすめです。
後でショートカットに登録する際、探すのが少し楽になります。
【Fiji】3.保存したマクロの実行
まずImageJ(またはFiji)を再起動します(×ボタンで閉じて、また起動する)。
※新しくPluginsフォルダに追加したマクロは、再起動しないと使えるようにならない。
※一度使えるようになった後でコードの中身を変えて上書き保存した場合は、再起動の必要なし。
※ファイル名を変えた場合は再起動が必要。
"Plugins"→"Macros"の中から探して、クリックするだけ。
"Plugins"に保存すると、縦に長いPluginsメニューの一番下に居ます。
一番下の三角ボタンを押すと出てくるはず。
それでは分かりにくいので、Pluginsの中のMacrosに入れることにしています。
【Fiji】4.ショートカット登録方法
"Plugins"→"Shortcuts"→Add Shortcut"の順にクリック。
shortcutは好きなキーを選び、Commandはマクロを選ぶ。
※日付をつけた理由は、この時に見つけやすいからです。
ショートカット登録は再起動不要です。もう使えるようになっています。
※"Plugins"→"Shortcuts"で、自分が登録したショートカットを確認できます。
ショートカット解除は"Plugins"→"Shortcuts"→Remove Shortcut"。解除の際は再起動が必要です。
【Fiji】5.処理を記録する & 自分で書いてみる
私は、以下の3つの組み合わせで試行錯誤しながら書いています。
- Recorderでとりあえず記録してみる
- 四則演算とかfor文if文などの基本文法は、公式ホームページ(英語)「ImageJ Macro Language - NIH」を見る
- 色々な方がネットで公開してくれてるコードを参考にする
【Recorderの使い方】
"Plugins"→"Macros"→”Record”をクリックすると、レコーダーが開きます。
この状態で行った処理が全て記録されます。例えば、”Image”→"Type"→”16-bit”をクリックすることで画像を白黒16ビットにしてみると、以下のように記録されます。
白黒16ビットに変換したいときは「run("16-bit");」と書けば良い、ということが分かりました。こんな感じで、自分がやりたい処理をどう書けばいいのか?調べることができます。
以上、ImageJマクロの使い方でした。最初の頃、ネットで使えそうなコードを見つけても保存や実行の仕方が分からなくて大変という思いをしたので、この記事を書きました。
当サイトでは自分が生物系の画像処理に使用したコードを公開していきます。全自動化するような凄いものは作っていないのですが、
日々の作業をちょっと楽にしたり、誰かが似たようなコードを書くときの手掛かりになれば幸いです。