Normalize#
接続値の意味型に応じて、長さまたは有限の値域を正規化します。Gradeとは独立した一つのノードです。
Operation#
Operationの変更で同じ目的の処理を選びます。同じ役割で互換のある入力は維持し、明らかに非互換な入力は切り離します。AEへ公開した入力の削除・移動は公開解除を先に要求し、ロックされたノードの変更は拒否します。関数の戻り値そのもののOperationを変更した場合は、その戻り値の型宣言も更新します。通常の値編集では宣言を維持し、接続を黙って別の意味へ変えません。
| Operation | 入力数 | 出力数 |
|---|---|---|
| Normalize | 1 | 1 |
以下は実際のノード定義とプロパティ投影から生成した初期状態です。Min/Max/Stepは値ウィジェットの設定であり、演算の全定義域ではありません。接続専用の欄やFileの選択欄には数値設定を表示しません。「接続から確定」は不正な型ではなく、必要な入力がまだない状態です。内部実行表現は公開型への移行対象で、全型対応を意味しません。
Operation: Normalize#
入力#
| 名前 | 型・状態 | 初期の編集欄 | 初期値 | Min | Max | Step | 選択肢 | AEへ公開 |
|---|---|---|---|---|---|---|---|---|
| value | 接続から確定(入力待ち) | 接続欄(値ウィジェットなし) | 接続が必要 | — | — | — | — | 不可 |
出力#
| 名前 | 型・状態 |
|---|---|
| result | 接続から確定(入力待ち) |
説明#
Boolean Valueと有限Boolean GridはFalse/True、全サンプルとdescriptorをそのまま保持します。Integer ValueはFloatを経由せず負を-1、ゼロを0、正を1へ変換します。FloatとVectorのValueは長さ1、Complex<Float32>とComplex<Vector<Float32,N>>(N=1〜4)のValueはReal/Imaginaryの全成分を一緒に大きさ1へ正規化し、元の型を保持します。極小/極大値は最大絶対成分でスケールして安定に処理し、ゼロはゼロ、いずれかの成分が非有限なら全成分NaNです。Color Valueは有限RGBの最小値・最大値で0〜1へ変換しAlphaを保持します。Complex<Color>はこの長さ正規化に含めません。有限Float32 Grid(任意の正の論理rank)、Image、VideoはShape全体の成分別最小値・最大値で正規化し、ColorのAlphaは保持します。定数成分は0、非有限サンプルはNaN。型・Shape・latticeを維持します。現在のVulkan有限Float32実行はGrid rank 1〜3です。rank 4以上もCNLは有効でNode/Codeから接続できますが、実行は未対応と明確に診断します。InvalidソケットやCPU fallbackにはしません。Shapeのない遅延Fieldは先にTo Image等で実体化します。有限Integer/Complex Field、native Integer/Boolean Field入力・転送の全対応、他精度のGPU実行は未対応です。
使用例#
Source Layer→SDF→Normalize→Visualize→Outputで符号付き距離の全値域を観測する。Vector Input→Normalizeで方向の長さを1にする。