ImageJはNIHで開発されたJavaベースの画像処理ソフトウェアです。
生物学研究では標準的に使われています。
ImageJはオープンソースのため多数のディストリビューションが存在しますが、特にFijiがよく使われます。(そのため「Fiji is just ImageJ」と言われる。)
画像解析で「こういう処理がしたい」と思ったとき、Fijiにはその機能が大体は入っています。(ただし高度なものは除く。高度なことはMATLABかPythonで実装しましょう。)
以下ImageJを使っていくうえで基本的な機能をまとめます。
Stack(スタック)
例えば動画を撮った場合には、ImageJには複数の画像の集まりとして読み込まれます。保存の場合もtif形式であれば、複数の画像を一つの集まり(スタック)として1つのファイルに保存することができます。
スタックとしては動画のような時間軸方向のつながりもありますが、他にも深さ(z方向)を変化させた場合のスタック(つまり3次元データをスライスしてできたスタック)や、RGBのような波長の違いによるつながり(チャンネル)があります。
ImageJではこれらの3つのつながりを別々として、スタックとすることができて、最大で5次元情報となるハイパースタックを扱うことができます。
ハイパースタックもtifファイルとして保存することができます。しかし、これをMATLAB等で読み込みと、5次元のスタックも3次元として読み込まれます。順番としては、チャンネル、zスタック、タイムスタックの順になっています。
LookUp
よくやる作業は、[Image]タブの[Ajust]の[Brightness/Contrast]で、輝度を線形変換することです。またLookUp tablesで色を変えることもできます。
LookUpは見え方を変えるだけなので、画像の輝度値は全く変えていないのがポイントです。
表示の方法を変えているだけです。保存したものを他のソフトで見ると全く変わってないことがあります。
ただし、[Apply]ボタンを押すと見え方が採用され、輝度値が変化します。
ROI(region of interest)
画像の領域を指定してマークを付けたり、そのピクセルを関心領域として設定する機能です。
スタック画像の場合は、スライスも指定してマークできます。
四角や丸のボタンがROIの取り方の設定です。
[crtlキー + t]コマンドで囲んだROIをROI manegerに登録できます。
[Measure]で領域に対する情報が表示されます。
ROIは画像にOverlayとして付属させることができますし、また画像とは別のroiファイルとして保存することができます。
メタ情報
1 pixel当たりの長さ(つまり解像度)などのメタ情報も設定することができて、tifファイル形式なら保存できます。情報は[Properties...]などで見ることができます。
この長さ情報を基に[Scale bar...]でスケールバーをつけることもできます。
macro(マクロ)
マクロは一連の処理を記録して自動化する機能です。
[Plugin]の[Macros]の[Record...]で記録が開始し、その後自分がした処理が記録されていきます。Excelのマクロと似た感じで、非常に便利です。マクロはijmファイルとして保存できます。
plugin
マクロと似てますが、ImageJの機能を拡張することができる機能です。pluginはImageJのホームページ等で多数紹介されています。jarファイル(コンパイルされたjavaの実行ファイル)をpluginフォルダに入れるとインストールされます。
自分でオリジナルのpluginを開発することもできて、Javaで書くことができます。