Re - ImageJで学ぶ!: 第26回 連続画像処理で学ぶ!

2015年9月26日土曜日

第26回 連続画像処理で学ぶ!

前回まで、主に一枚の単一画像の処理や解析について説明してきました。
ImageJは、1つのウインドウに2枚以上の複数画像を表示し、処理や解析などを行うことが可能です。
これらの複数画像を一度に処理するには、画像群を束にして処理する(stack:スタック)処理を利用します。
lmageJは、このスタックに対しても、入出力から動画像フォーマット変換処理や三次元画像変換など多彩な機能を提供してくれています。今回はImageJの連続画像処理について、入門的な内容について述べます。

ImageJによるスタック処理機能


スタックを形成するひとつひとつの画像をスライス、およびフレームと言います。スタックにおけるすべてのスライスは、同じマトリックスサイズで、濃淡値(ビット)も同じでなければなりません。ImageJのメニュー〈File/lmport/lmage Sequence>はスタックとしてフォルダ内の画像を開くことができます。連続するスライスのDICOMファイルもスライス番号ごとに整理されて表示されます。画像は、表示された画面ウィンドウ下部のスクロールバーでめくっていく(スライス送り)ことができます。


(目的のシリーズが保存されたフォルダを選択)
(任意のスライスをスクロール表示)

また、ImageJにおけるフィルタ処理などは、スタックのすべてのスライスに対して実行されます。
次の図は、モンタージュを表示した例です。スタック処理は〈lmage/Stacks/_〉の下に基本処理が用意されています。


画像のリスライスも可能です。


この例では、CT画像のスライス間隔をDICOMヘッダ情報からキャッチして、(lmage/Show Info_でヘッダ情報を表示できる)、〈lmage/ Stack/Reslice>を選び、元画像のスライス間隔以下の値をOutput Z Spacingの欄に入力することでMPR像の奥行きのスライス間隔を決定します。Avoid interpolationを選択すると、画像間の重なりのないスタックが作成できますが、元画像のスライス厚よりも薄いスライス厚で再構成する場合には、チェックを外しましょう(画像が増えた分、引き伸ばされた画像になってしまうので)。

最後に、元画像のリスライス方向を決めて実行すると、MPRが完成します。この例では、「Left」から切り出す設定にしているので、サジタル画像が作成できていることがわかります。

スタックを利用した基本三次元処理機能


スタック画像を表示した後、〈lmage/ Stacks>を選択すると、いくつかの三次元画像変換処理が実装されています。
次の図はOrthogonal ViewsのMPR例です。任意の基準線が同期します。





次に、最大値投影法(maximum intensity projection)、最小値投影法、Ray-Sum法、平均値投影法、標準偏差投影法および中央値投影法を説明します。
これらの処理はあらかじめMPRスタックをつくってから、〈lmage/Stack/Z-Projection>を選択します。不要なスライスは、投影像のノイズになるため再構成に含めないように設定できます。

次の図は、リスライスで作成したPET画像のサジタル画像を最大値、平均値、最小値および標準偏差値を投影した画像例です。画像作成時に、関心領域を含む画像のみを指定しています。


(MIP)

(AVG)

(MIN)

(STD)

この中で、市販されている3Dワークステーションには、あまり標準搭載されていない機能として、標準偏差値投影法があります。これは、最大値投影法で目的とする関心領域がわかりずらい場合に、その補助的な画像として、関心領域とその周囲組織との全体像を把握するのに良好な画像を提供します。

また、ImageJの標準機能では、一方向のMPRだけではなく、360度方向に回転させ、動画表示やその動画の保存が可能です。次の図は、くlmage/Stack/3D-Project...〉より、〈Brightest Point(最大値投影法)〉を選択し、Y軸を中心に10 °ずつ回転させてアニメーションを作成した例です。スタックを作成後、Save as...で"avi"を選択しました。



ImageJの複数画像の計測処理機能について


ImageJは複数画像を一挙に計測する機能を多く有しています。
次の図は、スタックした画像群のうちの1画像にROIを設定し、そのROIと同じ位置の平均値をすべての画像について自動計算しプロットする“Z-axis Profle”機能(lmage/Stack/Plot Z-axis Profile_)を施工した例です。


(188枚目にROIを設置)
各スライスにおけるROIの平均信号値)

(その詳細:Result機能)

グラフはZ軸方向のスライスがX軸、平均値がY軸としてプロットされています。プロットしたグラフに、近似曲線のカーブフィッティングを施工したい場合は、そのグラフを表示したまま〈Analyze/Tools/CurveFitting...〉を選択します。
CurveFitterダイアログが表示されるので、プロットの結果(Resultテーブル)を一度SaveAsで保存し、エクセルファイルにしてから、任意の値をこの中にコピー&ペーストし、相当する近似関数をプルダウンメニューから選択してFitボタンでフィッティング、もし、グラフ画像のみ欲しい場合はさらにApplyボタンを押します。

(ResultテーブルのSet measurementを調整して、不要な項目を非表示にすれば、Resultテーブルから直接コピペもできます。)

(エクセルから貼り付け:スライス番号対最大値)

(Fit実行:線形近似)

(Fit実行:ガウシアン分布)


この際、R2値やそのほかの計算のための詳細パラメータは、logダイアログ内にすべてリスト表示されます。近似曲線は、その 近似曲線R2値が 1 に近い場合に最も信頼性が高くなります。上の例では、線形近似よりも、ガウシアン分布の方が適していることがわかります。ちょうど、山になっている部分が、先ほど示した関心領域のあるスライス位置です。
このテクニックは、よく造影剤のダイナミック解析や臨床における日常の画質管理などで使用される計測処理であるので覚えておくと便利です。

また、メニューのProcess下にある機能のフィルタや2値化など、スタックに対する処理の際、スタック処理をするか、スタック内に表示した1画像だけに処理をかけるかは、その都度、ポップアップでメッセージが表示されます。

以上、今回はImageJによる複数画像に対する基本的かつ入門的な処理方法を紹介しました。
次回はImageJの動画フォーマットの取り扱いとそれに関連するプラグインの説明を行う予定です!

Reference
  • 山本修司:ImageJで学ぶ実践医用・バイオ画像処理.INNERVISION(22・3) 2007, p104-107」

0 件のコメント:

コメントを投稿