更新日: 16/10/11

Voxler で使用するデータのタイプについて

HELP : Data Types の和訳

Voxler では、インポートしたデータに各種モジュールを接続することで、散布プロット (scatter plots)、等値面 (isosurfaces)、ハイトフィールド (heightfields)、画像スライスといった可視化タスクを実行することができます。接続できるモジュールのタイプは、使用するデータのタイプに応じて異なります。Voxler でサポートされるデータには幾つかのタイプがあります。サポートされるファイルフォーマットの詳細なリストにつきましては、Help の File Format Chart をご覧ください。

データのタイプには大きく分けて次の4種類があります:

それぞれの特徴を以下説明します。

 

ポイントセット (point set)

ポイントセット (point set) は、3次元の点としてあらわされる位置情報を1つまたは複数含むデータタイプです。それぞれの位置情報には、X, Y, Z 座標の他に、成分 (component) データがオプションとして追加されます。ポイントには、任意の数だけ成分を持たせることができます。ここで言う成分とは、ポイントごとに変化するデータ変数です。可視化をおこなう濃度などのデータがこの変数に該当します。

ポイントデータとは、XYZ 空間の各点のそれぞれにオプションデータとして値が加えられたものです。ポイントデータは、XYZ で3次元の位置を、C でその位置における単一又は複数データの値をあらわすところから、"XYZC データ" とも呼ばれます。

サンプルデータ (Soil Contamination.dat) の例

 

井戸データ (well data)

WellData モジュールは、プロジェクトにインポートした井戸データを格納するコンテナです。個々の井戸データは File | Import コマンドを使ってこの WellData モジュールにそれぞれインポートします。それぞれの井戸データには、その井戸に固有の情報が含まれていますが、1つの WellData モジュールに含めることができる井戸データの数に制限はありません。井戸データには、それぞれ、X, Y, Z, MD, Azmith, Inclination, および、任意数の Log を含めることができます。ログとは、ボーリング坑の位置によって変化するデータ変数で、通常は、モデル化する変数がこれに該当します。

サンプルデータ (Sample Well Data.dat) の例

 

格子 (lattice)

格子 (lattice) は、1次元、2次元、または、3次元のデータ配列で構成されるデータタイプです。配列とは、規則正しく構造化された点群からなる行列 (matrix) です。1次元の格子は、直線データになります。2次元の格子は、画像データや Surfer のグリッドなどが該当します。3次元の格子は、3次元の体積 (volume) を定義します。格子内のノード (又は点) には、それぞれ単一または複数の成分やデータの値が含まれます。格子は、ノードの形状によって更に、均一型 (Uniform)、直線型 (Rectilinear)、曲線型 (Curvilinear) に分類されます。成分が1つの格子では、ノード毎に変化するデータ値 (成分) が1つあります。成分が複数の格子には、1ノードにつき複数の成分があります。

ノードの形状によって分類した格子:

上図は、2次元であらわした例ですが、実際は、1次元、2次元、3次元のいずれかの格子になります。

均一型
(Uniform)
ノードの間隔は、XYZ の各方向では異なる場合もありますが、それぞれの方向の中では一定になります。均一格子軸は直交しています。2次元の均一格子の例としては、画像やビットマップがあげられます。MRI や CT 装置で生成される医療用データの多くは、3次元の均一格子 (Uniform Lattice) になります。
均一格子の例
直線型
(Rectilinear)
ノード間隔に変動がありますが、軸は直交しています (両対数のグラフ用紙と似ています)。それぞれの座標は XYZ 各方向の格子面に系統的に蓄積し、必ず単調増加になります。
直線型格子の例
曲線型
(Curvilinear)
間隔には変動があり、格子軸は非直交型になります。曲線型の格子は、トポロジー (空間構造) は、(あらゆる格子と同様に) 規則的ですが、ジオメトリ (幾何学構造) は不規則になります。各ノードの座標は、それぞれ独立して設定します。格子は、セル同士がオーバーラップ (自己交差) しないような任意の形状に湾曲します。曲線型格子は、流体力学でよく利用されます。各ノードにはそれぞれの3次元座標があるため、曲線型格子が最も一般的な格子になります。また、メモリと時間を消費する点から、作業するには最も効率の悪い格子でもあります。
1次元の曲線型格子の例
2次元の曲線型格子の例
3次元の曲線型格子の例

 

格子には、どのノードにもタプル・データが含まれています。タプルは、単一または複数のデータ値 (成分) で構成されます。1タプルあたりの成分数はすべての格子で固定されます。成分にはデータのプリミティブ型のいずれかを指定します。指定したプリミティブ型によってデータの精度や範囲と、それに要するメモリ容量とのトレードオフ関係が決まります。この表に指定した Size は、1つの値を格納するのに要するサイズ (単位:バイト) です。

Primitive Type Size Minimum Maximum
Signed 8 bits 1 -128 127
Unsigned 8 bits 1 0 255
Signed 16 bits 2 -32768 32767
Unsigned 16 bits 2 0 65535
Signed 32 bits 4 -2147483648 2147483647
Unsigned 32 bits 4 0 4294967295
Signed 64 bits 8 ~ -9.223372e18 ~ 9.223372e18
Float 32 bits 4 ~ -3.402823e+38 ~ 3.402823e+38
Double 64 bits 8 ~ - 1.797693e+308 ~ 1.797693e+308

 

 

ジオメトリ (geometry)

ジオメトリは、三角形、テクスチャーマップ、線分、その他のオブジェクトで構成されるデータタイプです。ジオメトリは、ネットワークの最後に集約され、Viewer ウィンドウに表示されます。ジオメトリは、DXF, SHP, BLN, IV ファイルといったデータファイルから追加したり、Contours または Isosurface モジュールを使って作成することもできます。

 

空白データ

データのブランキング (空白化) は、ポイントセットと格子のデータタイプで完全サポートされます。Voxler であらわす空白データは、特殊な "flag" 値ではありません。ノードを実際とは異なる空白にしてあらわす訳ではありませんので、与えられたデータのプリミティブ型の全範囲を利用できます。例えば、ある格子に格納されるデータが "符号なしバイト" (Unsigned byte) であるとすれば、0 から 255 までの全ての値がそこに格納されます。空白用に特殊な値を確保する必要はありません。データの空白化は、Voxler がすべて内部的に処理します。

格子ノードが空白になるのは、一般に、Gridder モジュールの Search 条件と合致しな場合、Filter モジュールでエッジ処理をする場合、および、Resample モジュールを使って、元のインプット格子より大きな格子にリサンプリングしてアウトプットする場合 (インプット格子の範囲外にあるノードは空白になります) です。

空白ノードは、アウトプットモジュールには表示されませんが、エクスポートフォーマットがブランクデータをサポートしている場合は、エクスポートするデータファイルに空白ノードが記述されます。例えば、Surfer の .GRD ファイルにエクスポートする場合、Voxler 内部の空白ノードは、Surfer の空白グリッド値としてアウトプットファイルに変換されます。