スカラーデータのロード: heart.vtk の例

このセクションでは, heart.vtk ファイルの簡単な例を説明します.これは,各ポイント(点は等間隔である)にスカラー値を持つ単純な3Dデータ(32x32x12ポイント)です.データは構造化されたデータセット(実際には ImageData )であり,後で詳しく説明しますが,各ポイントに関連付けられたスカラーデータを規則的に配置したポイントの立方体と考えることができます.データは心臓のCTスキャンを表しているようですが,誰の心臓なのかわかりません!このファイルは読みやすいテキストファイルです.必要に応じて,テキストエディタで確認してください.

  1. mayavi2 が始まったら,まずデータファイルを開きます. File->Load data->Open file メニュー項目に移動し,ファイルダイアログでサンプルデータを含むディレクトリに移動します. heart.vtk ファイルを選択します.

    データを選択すると,左側のMayaviツリービューに VTK file (heart.vtk) という新しいノードが表示されます.TVTKシーンにはまだ何も表示 されません

  2. データのアウトライン(箱)を表示するには,メニュー項目 Visualize->Modules に移動し,Outlineモジュールを選択します.TVTKシーンに白いボックスが表示されます.ツリービューには, Colors and legends とその下にある Outline という2つの新しいノードも表示されます.

  3. 左側の Outline ノードをクリックすると,表示されるアウトラインのプロパティを変更できます.これにより,ウィンドウの左下(オブジェクトエディタタブ)のツリー表示の下にオブジェクトエディタウィンドウが作成されます.ここで設定を再生し,結果を確認します.ツリー表示でノードをダブルクリックすると,埋め込みオブジェクトエディタではなくエディタダイアログがポップアップ表示されます.

    一般に, Module のエディタウィンドウには, Actor のセクション, Mapper のセクション, Property のセクションがあります.これらはTVTK/VTKの用語である.プロパティは,色,表現(サーフェス,ワイヤフレームなど.),線サイズなどに関連するものと考えることができます. Actor の下にグループ化されているものは,画面上にレンダリングされたオブジェクトに関連するもので,通常はエディタで表示を切り替えることができます.VTK用語では, Mapper という言葉は,データをグラフィックスプリミティブに変換するオブジェクトを指す.関連するプロパティは, Mapper の下にグループ化されます.

  4. TVTKのシーンウィンドウを操作するには, シーンとの相互作用 のセクションを参照してください.快適になるまで,これらのオプションを試してみてください.

  5. Outlineノードを選択した状態で, Visualize->Modules->IsoSurface メニュー項目を選択してアイソサーフェスを作成します.左側に新しい IsoSurface ノードと,シーン上のスカラーデータのアイソコンターが表示されます.アイソサーフェスは,選択した特定のアイソ値に従ってカラー表示されます.このモジュールの設定を試してください.

  6. 意味のある視覚エフェクトを作成するには,各カラーが何を表すかを知る必要があります.この凡例をシーンに表示するには,ツリービューの Colors and legends ノードをクリックし,オブジェクトエディタの Show scalar bar チェックボックスをオンにします.これにより,TVTKシーンの凡例が表示されます.凡例は,クリックしてドラッグすることで,シーン上で移動できます.エッジをクリックアンドドラッグしてサイズを変更することもできます.オブジェクトエディタのさまざまなオプションを選択して,カラーマッピングの性質を変更できます.

  7. 簡単な "grid plane" を作成して,グリッド上の実際のポイントの概念を取得します.これは, GridPlane モジュールを使用して行い, Visualize->Modules->GridPlane メニュー項目を使用して作成します.

  8. 特定のモジュールを削除するには,そのモジュールを右クリックしてdeleteを選択します. GridPlane モジュールで試してみてください.もう1つの右クリックメニューオプションも試してみてください.

  9. ContourGridPlane モジュールと ScalarCutPlane モジュールを少し試してみてください.

    ScalarCutPlane モジュールは, 3Dウィジェット と呼ばれる非常に強力な機能を備えています.TVTKシーンウィンドウには,データを表すカラーを示すデータをスライスする切断面が表示されます.この切断面の輪郭は赤で,そこから矢印が突き出ています.切断面を直接クリックし,ドラッグして移動することができます.矢印をクリックして,プレーンを回転させます.スカラー断面のエディタウィンドウを使用して,その位置をリセットすることもできます.

  10. TVTKシーンの保存アイコンをクリックするか, File->Save Scene As メニューのオプションを使って,作成した画像を保存することができます.

次の図のようなビジュアライゼーションが必要です.

Sample visualization of the ``heart.vtk`` dataset.

mayaviの優れた点は,上記のすべてがユーザインタフェースを使用して実行されているにもかかわらず,すべてを純粋なPythonスクリプトを使用して実行できることです.これについての詳細は mlab: 3Dプロット用のPythonスクリプト セクション( Mayaviによる高度なスクリプト機能 も参照してください.)にあります.

データファイルのオープンとモジュールの起動は,コマンドラインからも実行できます.たとえば,次のように簡単に実行できます.

$ mayavi2 -d /path/to/heart.vtk -m Outline -m IsoSurface \
> -m GridPlane -m ScalarCutPlane

詳細については, コマンドライン引数 セクションを参照してください.