ImageJ のロゴ | |
開発元 | Wayne Rasband (NIH) |
---|---|
初版 | Version 0.46 and Earlier |
最新版 |
1.54h
/ 2023年12月15日[1] |
リポジトリ | |
対応OS | Windows、macOS、Linux、他 |
プラットフォーム | クロスプラットフォーム(Javaベース) |
サイズ |
約 7MB(JavaVMなし 展開後) 約 108MB(JavaVMあり 展開後) |
種別 | 画像処理 |
ライセンス | パブリックドメイン |
公式サイト | ImageJ ホーム |
ImageJはオープンソースでパブリックドメインの画像処理ソフトウェアである[2][3][4]。Javaの仮想マシン上で動作し、プラグインやマクロによる拡張性が高い[4]。科学研究における画像解析に広く利用され、生物学ではデファクト・スタンダードの解析ツールとなっている。
デジタルカメラで撮影した写真などの画像処理に用いられる写真編集ソフトウェアでは、誰でも使える直感的な操作性を重視するため、逆に内部の演算がわかりにくくなることがある。これに対してImageJでは、各種画像処理に用いられる数値計算のパラメータが分かりやすいユーザーインターフェイスを備えており、ピクセルの数値を元に再現性の高い計算処理を行うことが可能である。ユーザーによって書かれたプラグイン群は、さまざまな画像処理・解析の課題に対応している(#拡張性の項を参照)。同時にその拡張性の容易さゆえ、画像処理の教育の現場でもポピュラーである[5][6]。また、オープンソースであるため、処理過程をすべて確認することができる。計算過程にブラックボックスがない、という点でも科学研究での使用に適している。ソースコードはGitHubで公開されている[7]。
Windows版とLinux版においてはJava1.8のVMが組み込まれており、Javaの実行環境がなくても作動する。Mac OS X版においては、OSに応じて異なるバージョンをダウンロードする必要がある[8]。またPlatform Independent版においてはJavaVMが入っていないため、実行にはJava実行環境を用意する必要がある(そもそもPlatform Independent版はJava実行環境がすでにあるデバイス向けのバージョンである)[9]。
ダウンロードアプリケーションとしての他、Javaアプレットとしても動作する。
ImageJは、アメリカ国立衛生研究所 (NIH) でWayne Rasbandにより開発が始められた[4]。最初のリリースは1997年である[4]。ImageJにはその思想的祖先としてWayne Rasbandが開発を行ったNIH Imageがある[4]。NIH Imageの最初のリリースは1987年の春であり、電気泳動のゲルのバンドを定量化することを目的としていた。開発言語はPascalであった。開発のきっかけはApple Macintosh IIであり、その拡張性、GUI、グラフィックス、開発言語Pascalのサポートに刺激をうけた、とWayne Rasband自身が語っている。この草創期のNIH Imageでは、ドラム式スキャナにより画像を入力し、ジョイスティックを使ってROIの設定を行うというインターフェイスであった。
NIHImageは動作環境がMac OSのみという制約があった[4]ため、サン・マイクロシステムズがJava言語をリリースしたことをきっかけとし、90年代後半にJava仮想マシン上で動作するImageJが構想されその開発が始まった。メニューの外見・構成はNIH Imageの多くを継承し、その機能も引き続き科学研究に適した特徴を有している。NIHを退職したWayne Rasbandは2015年現在でも自宅から日々開発を続行しており新たな機能を追加し続けている。
1/8/16ビット整数グレースケール、32ビット浮動小数グレースケール、および24ビットRGB/32ビットRGBAカラー画像[10]を編集、解析、画像処理、保存、および印刷することができる。同時に処理できる画像の数は、物理メモリの搭載量およびOSのアプリケーションメモリ空間の制限に依存する。
より詳しい解説はImageJ User Guideを参照のこと。
Javaプラグインや、記録可能なマクロによる機能拡張が可能である[4]。ImageJが内蔵するJavaコンパイラを用いて、撮影、解析、画像処理などのさまざまな追加機能を手軽に自作し、プラグインの形で導入できる。世界中の研究者が各自の用途に合わせて独自のプラグインを開発しており、これらの多くがImageJホームページにて公開され手軽に入手できる。優秀なプラグインは正式版の機能に加えられることも多い。
さまざまなプラグインをあらかじめ同梱したパッケージも何種類か配布されている。なかでもメジャーなのはFiji(Fiji Is Just ImageJ)である[11][4]。ImageJのコマンドは500ほどであるが、Fijiでは900ほどになる。豊富な3次元画像解析機能の他に、プラグインの自動アップデート機能やスクリプティング機能(JavaScript、Jython、JRuby、BeanShell、Clojure、ImageJ Macro)とオリジナルのエディタが特徴的である。2018年からFijiはImageJの後継となる通称ImageJ2の開発チームが融合し、事実上ImageJ2の配布プラットフォームともなった。ImageJ2はFijiのチームが開発してきたImglib2を中核としており、スクリプトやプラグインを書くことでその多様でジェネリックな機能を使用することが可能である。
ImageJを使って解析した結果・画像を論文に掲載する際には、論文に次の引用を行うことが推奨されている。ダウンロードは無料であるが、こうした形でのクレジットが助成金を得て開発を続行するために今後も必要となる。
以下のリストは比較的古い内容である。これに限らず日々新しいプラグインが公表されているので、目的に応じて検索することをお勧めする。