slope_to_curvature — SPECULAR deflectometry op

• Data kinds: normalmap → image2d

• Call: import fullseye as fs; fs.ledger.slope_to_curvature(normals, spacing=1.0, kind='mean', sigma_px=0.0) (implementation को सीधे call करना हो तो import deflectometry; deflectometry.slope_to_curvature(normals, spacing=1.0, kind='mean', sigma_px=0.0), registry से लेना हो तो opsspecular.get("slope_to_curvature"))

उपयोग

normal map (H, W, 3) → curvature map (H, W)। slopes का केवल एक derivative, height में integration नहीं।

> नीचे का विस्तृत विवरण मूल text में है — सारांश और headings का अनुवाद हो चुका है।

傾き 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:

• "mean" —— 平均曲率 H = ((1 + q²) z_xx − 2pq z_xy + (1 + p²) z_yy) / (2 (1 + p² + q²)^{3/2})。

• "gaussian" —— ガウス曲率 K = (z_xx z_yy − z_xy²) / (1 + p² + q²)²。

• "laplacian" —— z_xx + z_yy(小さな傾きでの 2H)。

単位は 1 / (spacing の単位)。符号: 上に開いた椀(凹み、z = r² / 2R)が正(H = 1/R)。sigma_px > 0 なら微分の前に傾きをガウスで均す(微分は雑音を持ち上げる)。NaN の画素は重みつきの均しで避け、出力でも NaN。

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

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

उपयोग की विस्तृत guide

• specular_photometric family guide

संदर्भ (sample data, साहित्य)

• Sample data catalog (DL URL / license) — 2-D के लिए skimage.data (BSD/public) + synthetic, 3-D के लिए real data sources (Stanford/PDS आदि) के DL URL।

• Operators का स्रोत और संदर्भ — इस op family के मूल research/methods के स्रोत।

• Algorithm का मानक स्रोत (लेखक, वर्ष) और उपयोग ऊपर की family usage guide में दिए गए हैं।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• poc_phase_measuring_deflectometry — py -3.11 examples/poc_phase_measuring_deflectometry.py

वे अगले ops जिनसे type जुड़ता है (image2d को input के रूप में लेते हैं)

polarization_render · deflectometry_render · deflectometry_phase_to_slope

इसी category के (deflectometry)

deflectometry_rig · deflectometry_screen_pattern · deflectometry_render · deflectometry_phase_to_slope · deflectometry_sensitivity


*Provenance: deflectometry.py — SPECULAR operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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