fullseye

synthesize_fringes — 3D structured_light op

使い方

既知の height map から N-step 位相シフト縞画像列を合成する(テスト/サンプル生成用)。

モデル: 総位相 φ(x,y) = φ_carrier + phase_gain·height。搬送波 φ_carrier は視野を横切る線形 ランプ(freq 周期)。各フレームは I_n = bias + amplitude·cos(φ - δ_n), δ_n = 2πn/N。 この符号規約により wrapped_phase(…) は総位相 φ をそのまま復元する。

height: 2D 配列(計測対象の高さ場、任意単位)。 n_steps: 位相シフト枚数 N(>=3)。 freq: 視野幅を横切る搬送波の周期数(縞本数)。0 なら搬送波なし(height のみ)。 phase_gain: 高さ→位相の変換ゲイン(rad/単位)。復号側の較正 k = 1/phase_gain に対応。 bias: 平均輝度 a(既定 0.5)。 amplitude: 縞振幅 b(既定 0.5)。bias±amplitude が [0,1] に収まると自然。 axis: 搬送波の方向(1 = 列方向 x に沿う既定、0 = 行方向 y)。 noise: 付加ガウスノイズの標準偏差(0 で無ノイズ)。 seed: ノイズ用乱数シード。 return_phase: True なら (images, total_phase) を返す(テスト・デバッグ用)。

返り値: (N, H, W) float 配列(値域 [0,1] にクリップ)。return_phase=True なら位相も。

背景知識ガイド(この op の手前にある物理・規約)

参考(サンプルデータ・文献)

実行できる例(この op を実際に呼ぶ検証済みサンプル)

型が繋がる次の op(images を入力に取れる)

fuse_to_voxel · photometric_stereo · wrapped_phase · graycode_decode · decode_fringe · carve · visual_hull

同カテゴリ(structured_light)

wrapped_phase · unwrap_phase_2d · graycode_decode · decode_fringe · absolute_phase · triangulate_column


Provenance: fringe.py — 3D operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.