Grid#
型定義#
- 型表現:
Grid<ValueType,n> - 型形式:Field Type Format
- 意味:任意次元にValueを配置した一般形
- 値の構造:Value型。型の意味とストレージ・実行プロファイルの対応範囲を分ける
- Dimension:n。Dimension名は任意
- 互換性:Value型・次元数・Shape・Coordinateを検査
Grid<ValueType,n>は、Valueをn次元のサンプル位置に配置する一般のField型形式です。ValueTypeはBoolean、Integer、Float、Vector、Colorのいずれか。nは正の整数で、現行の表現プロファイルは1〜255です。0次元Gridは設けず、一つの値にはValue型を使用します。
データの構造#
型はValueTypeと次元数を定めます。Shape、Dimension、Coordinate、Value Name、Attributeはデータごとに保持します。例えばGrid<Float,3>はShape<256,256,128>・Dimension<X,Y,Wavelength>にもできます。各Dimension名は任意で、Gridを三次元空間へ固定しません。
Gridの軸にTimeという名前を付けても、自動でVideoにはなりません。Image/VideoのStandard Attributeを名前だけでGridへ持ち込むことも認めません。専用の意味型への変換は明示します。
演算と制約#
要素ごとの演算、選択、集約、近傍演算、FFT、Convolveなどの共通基盤になります。ただし、型が255次元を表せることは全演算が255次元で実行できるという意味ではありません。各ノードは対応Value、次元、境界条件、空領域の扱いを定めます。
同じ型の接続でも、複数Gridを組み合わせる演算ではShape・軸順・Coordinateの整合を検査します。名前が同じだけで自動転置・自動補間しません。
KernelもGrid#
Kernelは独立した公開Socket Typeではありません。Convolveの係数として使うGridの役割です。Sharpen Gridなどは名前とセル値を保存したGridプリセットで、通常のGridとして編集できます。