VTKフォーマットの概要

ParaViewを使いこなすうえで、VTKフォーマットの理解は必須と言える。

VTKフォーマットには、VTK策定当時に定義されたLegacy VTKフォーマット(拡張子*.vtk)およびマークアップ言語であるXMLを利用したVTK XMLフォーマット(拡張子はデータセットにより変化)が存在する。また、それぞれのフォーマットについてアスキーあるいはバイナリエンコーディングが利用可能である。

VTKフォーマットの利点は、アスキー・バイナリエンコーディングのいずれも区別なく扱える点である。たとえばアスキーエンコーディングのEnSight Caseフォーマットでは、数値データを有効数字6桁の指数形式(±#.#####e±##)で定義せねばならない。一例として圧縮性流体解析による圧力場(絶対圧)の可視化を考えると、基準圧が1気圧(=101325Pa)であった場合、1Pa以下の微小な圧力分布は評価できない。また、100m規模の構造物の可視化を行う場合、1mmスケール以下の詳細形状はすべて潰れてしまう。この事実からも明らかなように、エンコーディングによってデータフォーマットが制約を受けてしまうと、データの分析精度にも支障をきたす。VTKフォーマットではアスキーエンコーディングの場合も前記のような制約を受けないため、可読性に優れるアスキーエンコーディングを気軽に利用できる。

Legacy VTKフォーマット特有の課題として、ファイルサイズが大きくなるとデータの読み込みに失敗するという事例が確認されている。目安として、100MBを超える場合はVTK XMLフォーマットを利用した方が安全である。

一方、VTK XMLフォーマットはXMLをベースとしているため、Legacy VTKフォーマットよりファイルサイズが増大する傾向にあり、記述方法も煩雑である。VTK XMLフォーマットでデータを出力する場合は、VTKのデータ出力機能を利用するか、既存のXMLパーサ(Pythonに付属するElementTreeなど)を利用した方が簡便である。

VTKフォーマットの詳細については、File Formats for VTK Version 4.2を参照のこと。

タグ: , , , , , , , ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*