fullseye

deflectometry_render — SPECULAR deflectometry op

使い方

高さ場 → カメラが撮る「画面の鏡像」(順方向のシミュレーション)。→ 画像のリスト(各 (H, W)、[0, 1])。

height (H, W) [mm] は rig の視野(一辺 field_mm、格子間隔 field / (W − 1))に張った面の高さ。 カメラの画像も (H, W) で、視野の四隅が収まる焦点距離を選ぶ(画素と面の格子は斜めから見るので 1 対 1 ではない —— deflectometry_phase_to_slope が投影して読み直す)。各画素の視線を面に当て (z = h の交点を反復で)、法線で鏡面反射して(match3d.reflect)画面に当て、画面の輝度 (deflectometry_screen_pattern と同じ式)を読む。kind="fringe" なら n_steps 枚、 それ以外は 1 枚。

傾きは slope_x = ∂h/∂x、slope_y = ∂h/∂y を渡せば解析値を使い(真値を厳密にするため)、 省略すると height の中心差分。

物理の効果(どれも既定は「理想の鏡」):

画面の外に当たる画素は 0(黒)。fringe.modulation で低い変調の画素を除くこと。

Raises: ValueError —— height が 2-D の有限な配列でない(2 × 2 未満も)、傾きの形が違う・ 有限でない、周期が正でない、N < 3、方向・kind・focus が不正、k_d が [0, 1) の外、散乱が負、 板厚が正でない、屈折率が 1 以下、雑音が負、bits が 1〜16 の整数でない、aperture_samples が 1〜256 の整数でも None でもない、rig が不正。

詳しい使い方ガイド

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

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

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

photometric_stereo_robust · photometric_residual

同カテゴリ(deflectometry)

deflectometry_rig · deflectometry_screen_pattern · deflectometry_phase_to_slope · slope_to_curvature · deflectometry_sensitivity


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

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