Re - ImageJで学ぶ!: 第27回 連続画像処理 ImageJによる動画像の取り扱いについてで学ぶ!

2015年9月28日月曜日

第27回 連続画像処理 ImageJによる動画像の取り扱いについてで学ぶ!

lmageJでは、いくつかの動画ファイルを扱うことができます。また、ビデオキャブチャやWebカメラなどからダイレクトにスタックとしてlmageJに取り込み、前回説明したような連続画像処理や解析をすることもできます。
今回は、lmageJにおける動画像の取り扱いについて、例を示しながら解説を行います!

代表的な動画フォーマットの取り扱いについて


動画フォーマットとして代表的なものは、“AVI”フォーマットと“QuickTime”フォーマットでではないでしょうか。
同じ動画フォーマットでも、MPEG(Moving PicturExperts Group)などもありますが、動画データが圧縮されているかが違いです。
AVI(Audio Video lnterleaving)は、Microsoft社によって開発されたWindows上での音声つきの動画を扱うためのフォーマットです。一方、QuickTimeは、Apple社が開発したAVIと同様のフォーマットです。

まず、ImageJでAVIフォーマットの動画像を取り込む方法を説明します。
すでに、現行のImageJはAVIの入力とスタック画像からのAVI出力機能を備えています。
AVIファイルを読み込みたい場合は、File>Import>AVIから、AVIファイルを読み込むだけです。
AVIファイルを書き出したい場合は、スタック画像に対して、File>SaveAsから、フレームレートを指定して、AVIファイルを作成できます。
これらの機能の詳細は、ImageJのサイトから、AVIファイル読み込みプラグインである”AVI Reader”のソースを確認することも可能です。

次の図は、腹部CT画像をスタックとしてImportし、SaveAsでAVIファイルとして書き出したデータです。


次に、QuickTimeフォーマットの取り扱いについて解説していきます。
MacOS用のImageJをインストールした場合は、AVIフォーマットと同様、こちらはImageJのデフォルトでQuickTime関連の操作が可能です。読み込みにはFile>Importを使います。
もし、File>ImportにQuicktimeがリストされない場合は、QuickTime_Plugins.jar をダウンロードし、plugins/Input-Outputフォルダに保存してください(http://rsb.info.nih.gov/ij/plugins/qt-capture.html)。そして、他のプラグイン同様、ImageJをリスタートして利用可能になります。
(上手く動作しない場合は、Fiji:(http://fiji.sc/Fiji)で試してください。)

次の図は、MacOS上でImageJとは別の医用画像プロセッシングソフトウェアである”OsiriX”で作成したQuickTimeフォーマットのCTコロノグラフィー動画像をImageJのスタックとして表示し、QuickTimeプレーヤを起動した例です。


ImageJを用いた動画像解析の実例


ImageJを用いた動画処理の典型的な解析事例を1つ紹介します。
前述の動画フォーマットの各フレームを表示した後のステップとして「動きの解析」が最も重要な部分です。
ImageJでも多くの解析手法が紹介されています。
動画像解析の適応事例として、医用画像解析では、MRIによる心臓の動きや肺の横隔膜の動きの解析、PET画像を用いた動態解析、さらに整形や歯科口腔外科などの分野では、関節の動きの解析など、さまざまな動画像解析が試みられてきました。また、電子顕微鏡などの分野では、ウィルス、生きた細菌や細胞の挙動(軌道)解析などが挙げられます。

参考記事では、Guy Levy氏の説明するImageJによる粒子追跡プラグイン“Particle Tracker”(http://mosaic.mpi-cbg.de/ParticleTracker/)を用いて、動画解析法の一例が説明されています。

このプラグインは、特に細胞生物学のビデオデータからの粒子軌道の自動検知、および粒子の特徴ポイントを追跡するツールとして紹介されていますが、電子顕微鏡によるビデオ映像のみでなく、いろいろな動画像解析に適応でき、そのアルゴリズムのデザインや操作法を知ることはユーザにとって大変参考になります。2015年9月現在、チューリッヒ工科大学のMOSAIC groupが中心となって改良を進めています。(Fijiにも対応しています。)

現在、いろいろと改良を進めている関係で、jarファイルの関連パッケージが含まれていなかったりして、セットアップに時間がかかりそうなので、本稿ではご紹介を割愛させていただきます。(3D機能あたりの先方の開発が落ち着いたら、またご紹介できるといいのですが。)テストデータやプラグインは説明サイト(http://mosaic.mpi-cbg.de/ParticleTracker/tutorial.html)からダウンロードできるようになるはずです。

PIV (Particle Image Velocimetry) 


複数画像の解析例として、もう1つご紹介します。Particle Image Velocimetry(粒子画像流速測定法)です。

このプラグインは、Qingzong博士が作成したプラグインの一つです。測定対象となる画像を処理前、処理後の2枚のペアで用意し、この2つの画像の相関法をオプティックフロー計測に利用します。
基本的に、この画像のペアは、小さな検査窓(放射線医療画像でいうところの関心領域群)に分けられます。
これらの画像ペア関心領域間の相互相関として、オプティックフロー(流れを視覚的に表したもの)を測定します。このオプティックフローは、変位や、オブジェクトの速度で表現します。この計算で設定する検査窓を小さくすることで、より良好なPIVを行うことができます。最終的なPIV解析結果は、ベクトルプロットとして表示されます。

それでは、チュートリアルに沿って、実際に解析した結果を示します。
まず、プラグインファイルをいつも通り準備したのち、サンプルデータをダウンロードして、ImageJで開きます。


(2枚のペアサンプル画像)
※少し変化しているのがわかりますか?
わかりにくい場合は、こちらのPIV紹介ページをどうぞ。

次に、Plugins>PIV>iterative PIV(cross correlation)を選択して、デフォルトのまま実行します。
すると、検査窓の設定値(interrogation window size)の異なるテンプレートマッチング結果を3つ得ることができました。

(1)

(2)

(3)

ペアの画像間で、粒が動いた量に相関して、ベクトルプロットの強度が色分けとベクトルの大きさで表示されていることがわかります。

より詳細な設定をして実行したい場合には、iterative PIV(advanced)で、インターフェースに設定された設定値を変更することができます。例えば、search window sizeやオプティカルフロー図に表示するベクトルの間隔(Vector spacing)を設定可能です。

処理後もポストプロセッシングが可能です。このポストプロセスには、相関係数の中央値や平均値を利用した特有の値を利用して、オプティカルフローを再計算させることができます。

また、計算結果はテキストとして保存され、もう一度読み込んで再計算させることができます(PIV>plot...)。このとき、表示されるインターフェースの下部のベクトルプロット表示をマグニチュード表記にするチェックをつけると、プロット表示を変更することができます。

(マグニチュードプロット) 

今回、複数画像解析事例として使用したPIVは、これから先にも紹介する基本的なテンプレートマッチングなどを駆使した細胞生物学の分野で重宝される機能です。

次回も続けて複数画像処理を用いた臨床応用例を紹介します!

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

0 件のコメント:

コメントを投稿