fullseye

slope_to_curvature — SPECULAR deflectometry op

使い方

法線マップ (H, W, 3) → 曲率の地図 (H, W)。傾きを 1 回微分するだけで、高さへ積分しない。

傾き p = ∂z/∂x、q = ∂z/∂y を photometric.normals_to_gradients で取り、spacing (格子間隔、例 mm)で中心差分して z_xx = ∂p/∂x、z_yy = ∂q/∂y、z_xy = (∂p/∂y + ∂q/∂x) / 2。 kind:

デフレクトメトリが曲率で欠陥を見る理由: 凹み・うねりは高さでは µm でも曲率は大きく、しかも 面全体の傾きと一定の傾きの誤差(高さと傾きの不定性で出るもの)は微分で消える。

Raises: ValueError —— 法線が (H, W, 3) でない・2 × 2 未満・無限大を含む・z 成分が正でない (面の外向きでない)、spacing が正でない、kind が mean / gaussian / laplacian でない、sigma が負。

詳しい使い方ガイド

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

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

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

polarization_render · deflectometry_render · deflectometry_phase_to_slope

同カテゴリ(deflectometry)

deflectometry_rig · deflectometry_screen_pattern · deflectometry_render · deflectometry_phase_to_slope · 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.