Re - ImageJで学ぶ!: 2015-07-12

2015年7月18日土曜日

第2回 ImageJのインストールと医用画像表示で学ぶ!

前回はImageJの概要について述べました。今回はImageJのインストール方法と画像表示の基本を例を示しながら解説します。
Windowsを使える環境にあるユーザーを対象としています。

ImageJ(ImageJ ver1.49)のインストール方法


Java仮想マシンの確認

ImageJはJava仮想マシン上で動作します。
ImageJの中に内包されたJREで動作するので、Javaを別途インストールする必要はありません。
しかし、これから先、自分で何か作ってみたいという方は、OpenJDK(1.8以上を推奨)をインストールされることをお薦めいたします。

自分のPCにJavaがあるかを調べるには、Program Files(x86)またはProgram Filesの中にOracleのJavaフォルダがあり、その中にJava6またはJava8のJREがインストールされているか確認して確かめられます。

インストールするPCのスペック

Windowsを使用する場合は、Windows7(32bit)以上のOSで、物理メモリは最低2GB以上は搭載してある方が望ましいでしょう。

ImageJ ver1.49の起動時のメモリサイズはデフォルトで640MBとなっています。
ここからプログラムを実行するために必要なメモリ領域を確保しますが、足りなくなった場合は、ImageJに設定されたメモリの最大値まで使用量を自動で拡大します。
Windows7(32bit)で、3.3GB以上の物理メモリが搭載されている場合は、Java仮想マシンは3.3Gのおよそ半分の1.7GBまでしかメモリを消費しないほうがよいため、最大値を変更する場合はこの点に注意して、最大値を1500MBまでの範囲に留め、ImageJで大きな画像データを処理する際には、別のアプリケーションは閉じておくなどの考慮が必要です。

インストール手順

PCがインターネットに繋がっていることを確認した後、ブラウザーから"ImageJ インストール"などの検索ワードを使って、"http://imagej.nih.gov/ij/download.html"のアドレスにアクセスし、Windows用の最新のImageJをダウンロードしましょう。2015/7時点では、バージョン1.49が最新となっています。

ダウンロードできるパッケージはJava仮想マシンが含まれているものとそうでないものを選択できます。PCにJava仮想マシンがインストールされていない場合は、Java仮想マシンが含まれているリンクを選択し、すでにJava仮想マシンをインストールしている場合は、ImageJのみのリンクを選択しましょう。リンクを選択すると、ブラウザがダウンロードの許可を求めてきますので、いずれにせよウィンドウに沿ってダウンロードを進めます。
ここでは、Java仮想マシンが含まれていないパッケージ"ij149-nojre.zip"をダウンロードします。
ダウンロードが完了したら、"ij149-nojre.zip"を任意のディレクトリに展開してください。展開するとわかりますが、ij149-nojreフォルダの中に"ImageJ"というフォルダがあるので、このフォルダをDocumentフォルダやProgram Filesの中などに置いておくユーザが多い様です。任意の場所に"ImageJ"フォルダを置いた後、"ImageJ"フォルダに含まている"ImageJ.exe"をダブルクリックするとImageJが起動します。必要に応じて、この"ImageJ.exe"ファイルのショートカットをデスクトップに置くなど、工夫するといいかもしれません。

設定最大メモリ(ヒープメモリ)の設定

ImageJを立ち上げると、シンプルなメニューバーが表示されます。まずはじめに設定しておかなければならないのが、上述の使用メモリ(ヒープメモリ)の設定最大値です。
メニューバーに表示されたEdit>Options>Memory&Threads...と進み、設定最大値を入力するウィンドウを表示します。
32bitのOSの場合は、使用PCに搭載されている物理メモリに応じて、1024MB〜1500MB程度を限度として設定しましょう。
64bitマシンで利用する場合、OSのバージョンによって利用可能な物理メモリが異なります。例えば、Windows7HomeBasic(64bit)の物理メモリは最大8Gbytes、Professional(64bit)は最大192Gbytesとなっており、Java仮想マシンの利用できるヒープメモリの最大値も実際に搭載している物理メモリの範囲内で大きくできます。

32bit/64bit環境の切り替え

ほとんどの場合必要ありませんが、すでにインストールしたImageJの参照する仮想マシンを変更したい場合(32bit/64bitの切り替えや、Javaバージョンの切り替え)は、"ImageJ"ディレクトリに含まれている"ImageJ.cfg"に記録されているJava仮想マシンへのパスをJava仮想マシンのパスに設定することができます。

以上、これが最低限の初期設定作業であり、ImageJが使える準備が完了しました。

ImageJで医用画像を表示する。


ImageJは16bitのDICOMフォーマットを表示できる点に1つの魅力があります。
まずはこのDICOM画像を表示してみましょう。
表示操作は至って簡単で、メニューからFile>Openからdicomファイルを選択すると画像が表示されます。メニューウィンドウに直接ドラッグ&ドロップ操作も可能です。
CTやMRIなどの複数スライスの画像を一挙に表示する場合は、File>Import>Image SequenceからDICOMファイルセットが保存されているフォルダを選択します。

すると、Sequence Optionsのフレームが表示されるので、19スライスのDICOM画像なら、Number of Images:に19を入力(指定したフォルダ内のDICOMファイル数を自動で入力してくれます)、何番目の画像から何枚ずつスキップして読み込むかなどを記入、ファイル名でソートをかけるなどをチェックします。少し前のImageJのバージョンでは、8ビット変換してから表示することもできます。表示のオプションに"Use virtual stack"のチェックボックスがありますが、この機能はメモリ内に仮想スタックデータを保持する必要のある限定された手技でしか使わないのでチェックせずに進みます。


(Macでのキャプチャ画像ですが、構成はWindowsと同じです。)

すると、次のような画像表示ウィンドウが現れ、画像下のスライドバーを動かしながら複数の画像(ここでは19枚)を閲覧することができます。

(Macでのキャプチャ画像ですが、構成はWindowsと同じです。)

そして、メニューのImage>Stacks>Make Montageを選択して、3×3枚の画像表示を行ってみます。表示する画像のサイズはScale Factorを調整します。


(Macでのキャプチャ画像ですが、構成はWindowsと同じです。)

設定がうまくいけば、次の図のように画像が表示されます。

(Macでのキャプチャ画像ですが、構成はWindowsと同じです。)

画像を表示する際の注意点として、複数のDICOM画像を表示する場合、DICOM画像のみを同一フォルダに入れ、その他の関係のないファイルは同一ファイル内に含めないことがあります。関係のないファイルが含まれていても、同一ファイルのみを識別しますが、解析時の何かの間違いのもとになる可能性があります。

補足ですが、本稿で利用したImageJバージョン1.49では、ファイル名に2byte文字(例えば日本語など)が使われていても、特に問題なくファイルをロードできるようになっています。

次回は、ImageJを使いながらDICOM画像を中心としたいろいろな画像フォーマットについて学びます!

Reference
  • 山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(20・1) 2005, p82-83」


2015年7月16日木曜日

第1回 ImageJってどんなソフトウェア?で学ぶ!

第1回は、 「第1回 ImageJってどんなソフトウェア?で学ぶ!」と題して、ImageJの概要や利用方法の一部を紹介させていただきます。

ImageJの概要


以下、参考記事(ページ下部参照)を援用してご紹介させていただきます。

ImageJ(http://imagej.nih.gov/ij/)は、Macintosh(Mac)で走るフリーウェアソフトの「NIHイメージ」と同様、JAVA画像処理プログラムで作成されたフリーウェアソフトです。NIHイメージは、医学界では知る人ぞ知る強力なMacOS用の画像処理ソフトウェアであり、アメリカ合衆国のNIH(National Institute of Health)で開発されました。
しかしながら、MacOSだけで動作するという条件ではユーザー数と汎用性に制限があるため、Unix、MacおよびWindowsすべてにおいて動作するJava言語によって、画像処理プログラムが再編集されました。
このプロジェクトリーダーはNIHのWayne Rasband氏です。
1997年ごろのバージョン0.X版から、またたく間に世界中のユーザーからのプラグインプログラムが実装され、現在では、NIHイメージの画像処理機能を遥かに凌ぐ勢いで、高機能化されています。
日本においてもImageJのユーザーは医療界を中心に急速に増加しています。

ImageJの初期の開発を担ったWayne Rasband氏は、現在もNIHでVolunteer software developerとしてご活躍されています。ユーモアが溢れる方ですね。

ImageJの特徴


ImageJは多種多様な画像処理に簡単に使えることに加えて、次のような特徴があります。
  1. Mac、Linux、WindowsなどのJAVAと互換性のあるOSにインストールできる。
  2. 読み込み可能なピクセル濃度レンジが広い
  3. 読み書き可能なファイルフォーマットが豊富
  4. マルチスレッドかつ高速処理(DICOM画像1枚0.1秒もかからずに表示)
  5. プラグインコードを書くことによって、オリジナルな画像処理、解析プログラムを実装できる
  6. 世界中の大学研究の中で生まれる最新のアルゴリズムがプラグインとして公開されている
  7. ImageJを用いた医用画像解析や顕微鏡画像処理などは、数限りないバリエーションがある(2D、3D、動画、複数画像読み込み、特徴量解析、統計解析、三次元解析、オリジナルGUI(Graphical User Interface)の作成など)

医用画像を用いたImageJの活用例


活用例として、乳房X線写真を利用してみます。

まずは、画像を表示します。

(ドラッグドロップやメニューファイルからオープンできます。)
(JPEG形式などの場合は、読み込んだ後にImage>Typeから16bitを選択して、グレースケール形式に変換しておきます。)
 
フーリエ変換して周波数空間を可視化します。

(マンモグラフィー画像を表示した状態でProcess>FFT>FFT)

 周波数空間をグラフで見てみます。

(上記FFTを実施した状態で、Analyse>Surface Plot ※表示設定はデフォルト)

へシアンフィルターで微小石灰化を強調表示します。
(へシアンフィルターはPluginです。こちらのURLから取得できます。http://www.imagescience.org/meijering/software/featurej/)

まず、スクエアROIで関心領域を選択

 (拡大機能で少し拡大して、四角い関心領域(ROI)を任意に設定)

関心領域を別ウィンドウに複製

(先ほどの関心領域だけの画像を複製[Image>Duplicate])

へシアンフィルターを使って微小石灰化のみを強調表示

(関心領域内の石灰化のみが小ウィンドウ内で強調表示されていることがわかります。)
(Plugin>FeatureJ>FeatureJ Hessian(largeパターン)で実施。)

おわりに


本稿では、断片的にではありますが、ImageJで簡単に医用画像解析を始められることを示すために、乳房X線画像の石灰化の解析例を示しました。ImageJは、CT、MRI、PET画像の解析や、多断面画像表示および3次元画像表示も可能です。DICOM形式(非圧縮)の画像であれば、DICOMタグという画像に付帯したメタデータも表示することができます。
医用画像を解析する研究者にとっては大変有用なソフトウェアです。

ImageJのインターフェースは英語ですが、馴染みやすい日本語GUIを提供するサービスもあり、ご興味のある方はご利用されてみてはいかがでしょうか。
(ImageJ日本語版で検索)

次回は、本格的にImageJを取扱っていくためのインストール方法を解説いたします。

References
  • 山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(19・12) 2004, p88-89」

2015年7月14日火曜日

はじめに -Re-ImageJで学ぶ!-

はじめまして、VISブログ担当の小林達明です。

この度、ImageJを使った医用画像処理/解析の探求をブログにしようという思いから、 ンナービジョン連載中のリジット山本修司先生の「ImageJで学ぶ実践医用・バイオ画像処理」を自分の勉強のためにリメイクした「Re-ImageJで学ぶ!」を開設いたしました。

画像解析を学ぶ学生や、ImageJの使い方を忘れてしまった研究者の方まで、広く読んでいただければ幸いです。
温故知新で何かお役に立てる情報をお届けできれば嬉しい限りです。そして、VISブログ担当も、この記事を書くことで、ImageJの片鱗に触れて、画像処理・解析を勉強していきたいと考えています。

よろしくお願いいたします。

作成:2015/7/14
改定:2021/12/16

本ブログの運用について

  • 本ブログは、インナービジョン連載中のリジット 山本修司先生「ImageJで学ぶ実践医用・バイオ画像処理」(第70回まで)を自分の勉強のためにリメイクしたものです。
  • 更新は不定期です。
  • 記事の内容に対する建設的なコメントは歓迎いたします。
  • プライバシーポリシーは、VISのプライバシーポリシーに準じます。
その他、追記事項があればここに追記いたします。

目次