可視化手法    

例題 - MRIデータの可視化

スカラデータの例題として、Magnetic Resonance Imaging (MRI)データを用意しています。このデータは、人体のようなある物体内を通るいくつかのスライス平面から構成されています。MATLABは、人の頭部の27個のイメージスライスを含む一組のMRIデータセットを含んでいます。このデータの可視化に関する有効な手法を使って、つぎのようにデータを表示することができます。

データフォーマットの変更

MRIデータD は、128 x 128 x 1 x 27 配列として格納されています。3番目の配列次元は、通常、イメージカラーデータに対して用いられます。しかし、これらはインデックス付きイメージ(カラーマップ、map がロードされます)なので、3番目の次元には情報はありません。これは squeeze コマンドを使って削除することができます。結果は128 x 128 x 27 配列となります。

最初のステップは、データをロードし、データ配列を4次元から3次元に変換することです。

MRIデータのイメージ表示

MRIイメージを表示するには、image コマンドを使い、8番目のイメージを得るためデータ配列にインデックス付けをします。そして、axis スケーリングを調整し、データと共にロードされたMRI colormap をインストールします。

例題のつぎの部分で利用するため、x軸とy軸の範囲を保存します。

2次元コンタースライスの表示

このMRIデータは、3次元オブジェクトを徐々に進めながらスライスの選択をしているので、物体としてこれらを扱うことができます。contourslice を使って、物体のスライスのコンタープロットを表示することができます。この例題の最初の部分で作成したイメージと同じ方向で、同じ大きさをもつコンタープロットを作成するために、y軸の方向を調整し(axis)、範囲を設定し(xlim, ylim)、縦横比を設定します(daspect)。

このコンタープロットは、カラーをコンター値に写像して、figureのカラーマップを使っています。

3次元コンタースライスの表示

2次元オブジェクトであるイメージと異なり、コンタースライスは任意の方向で表示できる3次元オブジェクトです。たとえば、3次元ビューの中に4つのコンタースライスを表示できます。コンターラインの可視状態を改善するため、LineWidth を2ポイントに増やします(1ポイントは1/72インチです)。

等特性サーフェスの表示

物体の全体的な構造を表示するために等特性サーフェスを使うことができます。等特性エンドキャップと組み合わせて、等特性サーフェス内部のデータに関する情報を表示することができます。

まず、smooth3 を使ってデータを平滑化し、isosurface を使って等特性データを計算します。patch を使って、このデータをグラフィックスオブジェクトとして表示します。

断面を示すために等特性エンドキャップを付加

isocaps を使ってサーフェスとして同じ等値(5)で表示されるその他のpatchに対するデータを計算します。内部の詳細を表わすために、平滑化されていないデータ(D)を使います。これは、頭の上をスライスしているように見えます。

ビューの定義

ビューを定義し、縦横比を設定します(view, axis, daspect)。

光源を付加

光源を付加し、物体データの勾配をもとにサーフェスの法線を再計算し、より平滑なライティングを生成します(camlight, lighting, isonormals)。 等特性エンドキャップの AmbientStrength プロパティを大きくして、等特性サーフェスに影響を与えずにカラーを明るくします。等特性サーフェスの SpecularColorReflectance を設定して、鏡面反射光のカラーを等特性サーフェスのカラーに近付け、SpecularExponent を設定して鏡面スポットの大きさを小さくします。

等特性エンドキャップは、内挿された面のカラーリングを用います。これは、figureのカラーマップがpatchの色を決定することを意味します。この例題は、データと共に与えられたカラーマップを使っています。

他のデータ値での等特性エンドキャップを表示するためには、等特性サーフェス値を変更したり、subvolume コマンドを使ってみてください。例題は、isocaps および subvolume リファレンスページを参照してください。


 スカラ物体データの可視化 スライス平面を使って物体を表示