画像解析入門③ 動態解析

今回は、動態解析について見ていきます。今迄は2次元の画像を見てきました。縦横の広がりを調べ、違いを示すことが画像解析の一つの目的です。では、縦横の軸に、もう一つの軸を加えるとどうなるのでしょうか?

目次

おさらい(グレースケール・座標軸)

x軸は右に向かう程、y軸は下に向かう程座標が大きくなります。

カラーの場合は、RGBそれぞれに対してレベルが存在します。例えば赤の度合い、青の度合い、緑の度合いが0~255まで違います。

こちらの写真は、512x512の大きさです。x=0,y=0の原点の値を選択しています。

動きの解析

これまでは2次元の画像を見てきました。しかし、3次元画像を扱う可能性もありますよね。
どうやってPC上で画像処理するのでしょうか?
Image JやPhotoshopなどでは3次元の画像を処理する手法としてスタック画像というものが存在します。
ImageJ では、空間的あるいは時間的な変化を示す複数の画像を1つのウィンドウに表示できる。この画像のセットをスタック(stacks)と呼ぶ。スタックを構成している1枚1枚の画像をスライス(slice)と呼ぶ。すべてのスライス画像は、同じサイズで、同じビット数(階調数、色深度)のものでなければいけない。スクロールバー(scroll bar)を使うと、スライスを次々と表示できる。ImageJ のほとんどのフィルタ処理では、オプションで、スタック内のすべてのスライスを対象にできる。
via Image J マニュアル基本的な概念(Image J 日本語情報)
画像のスタックは、同様の基準フレームを持つ複数の画像を組み合わせたものですが、各画像の画質やコンテンツは一様ではありません。複数の画像をスタック内にまとめたら、これらの画像を処理することにより、不要なコンテンツやノイズを消去した合成ビューを生成できます。(Adobe Community Helpより)
via Photoshop/画像のスタック(Adobe)

Photoshopをよく使っている方は、レイヤーをイメージしてもらえると分かり易いかもしれません。3次元の画像は画面上ではXY平面しか見ることが出来ません。が、複数の画像を重ね合わせることで、3次元の情報を含めることが出来ます。そこで、Z軸で何枚かのスライスに切り分けることが出来ます。このスライスをまとめたものをスタック画像と呼ぶのです。

xy方向だけでなくz方向の情報も追加されます。z方向の値はスライス枚数順であり、下のバーをスクロールすることで、スライスを移動させることが出来ます。

試しにImage Jでスタック画像を見てみましょう。

File->Open Samples->MRI Stack(528K)を表示してみましょう。

左上の数は、何枚目/全体の枚数が記載されており、下のスクロールバーをスクロールすれば、MRIの画面が動いていきます。MRIの画像は人体を横に輪切りにしたような画像がいくつも並んでいます。(医療従事者は特に慣れているかも知れません)スクロールすることで、輪切りにしている部位が変化していきます。

このような3次元の動的変化を観察することも画像解析には必要な要素であるのです。

スタック画像のコマンド

スタック画像はどんな風に処理することが出来るのでしょうか?

Image->Stacks->Add Sliceによってスライスを増やすことが出来ます。
Image->Stacks->Set Sliceで特定のスライスに移動することが出来ます。

特定のスライスを選択して、そのスライスの中での最大値や最小値、平均値、中央値を画像として表示することが出来ます。(MIPやminIPと呼ぶ)

因みに、スタック画像はどんな時に使うのでしょうか?

スタック画像は、医療現場だとCTやMRIなどで用いられます。また、それだけでなく、金属構造の解析やFRP:強化プラスチックの構造解析の為にCTやMRIを使ったり、あとは植物の断層像を見る時に使うこともあるそうです。(MRIでオクラの画像をとったりする)

また、植物の形態変化などを調べる際にも、非常に重要であったりします。

ツールバーの一番左の□(Rectangular)を選択して、作成した画像の一部を囲むと、スタック画像のどの部分が選択されているかを示すことが出来ます。

AVI形式にして保存すると、スタック画像を動画に編集することが出来ます。MacだとQuick Time Playerで表示出来ます。また、再度読み込むことも出来ます。

また、動態を1コマごとに見ていくと、時系列で同じ輝度の固まりが移動しているのが分かります。そこで、色見をつけて、時系列の動きを2次元上で観察する。紫や赤が最初の場所で、移動するにつれて色が青色へ変化し、一番最後に紫へと変化します。

ポイントツールで同じ輝度を動いている固まりに一枚ずつ点をおいていくと、その順番に沿った色をつけることが出来ます。また、動きの度合いはX座標、Y座標のずれをもとに三平方の定理から求めていきます。

このように、任意の線上の輝度を時系列(スライスごと)にとらえて、横軸を場所や位置、縦軸を時間軸にして、移動状態を表示するものをカイモグラフといいます。CT画像でも同様のものとしてサイノグラムというものがありますが、それに似ていますね。

また、動きの向きを示す方法として、オプティカルフローという方法もあります。
オプティカルフローとは、任意の向きの動きの大きさを矢印で示したものです。異なる時間における座標の変化をベクトルで示しています。風と波の向きのようなものをイメージしてもらえると分かり易いかも知れません。

いかがだったでしょうか?今回は「動態解析」という概念についてと、Image Jでそれをどんな風に扱えるかについて見てきました。まずは、簡単なスクロール操作から、だんだんと細かい解析手法を調べてみればいかがでしょうか?