surface_form_error — 3D surface_fit op

• 資料種類:image2d → measurement

• 呼叫: import fullseye as fs; fs.ledger.surface_form_error(height, degree=1)(要直接呼叫實作,import match3d; match3d.surface_form_error(height, degree=1);從台帳取用則 ops3d.get("surface_form_error"))

• 經台帳呼叫的回傳值: fullseye.ledger.surface_form_error(...) 只回傳宣告的 out 型別 measurement 的值(底層函式還會回傳輔助資訊)。需要被捨棄的部分時,請用 fullseye.ledger.surface_form_error.raw(...),或直接呼叫 match3d.surface_form_error。

• 底層回傳: (residual, rms, pv) → pv float

用法

高度場 grid → 相對理想曲面(多項式)的殘差=形狀誤差(平面度 deg1/球面度 deg2)。→ (residual, rms, pv)。

對 (H,W) 的高度場以 x = 行 index、y = 列 index 擬合 fit_poly_surface(degree), 回傳 residual = height − fit。degree=1 為最小平方平面(平面度=pv),degree=2 為 2 次曲面(球面的近似,不是真正的球)。回傳值 (residual (H,W) float64, rms, pv),單位為高度的單位(橫向為像素單位,因此傾斜係數為「高度/像素」)。存在 NaN 時 lstsq 會失敗(請先填補缺失)。非 2-D 的輸入會在形狀 unpack 時失敗。

用途: 評估平面度、波紋度。background_flatten 是同一計算的「影像版」。點雲的平面度用 fit_plane_3d 的 resid。

背景知識指南(該運算子背後的物理與規範)

• blas_threads_and_memory — 矩陣分解為何慢 —— BLAS 執行緒、快取、記憶體配置

參考(範例資料、文獻)

• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。

• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。

可執行的範例(實際呼叫該運算子並已驗證的樣例)

• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py

型別可銜接的下一個運算子(可接受 measurement 作為輸入)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

同類別(surface_fit)

fit_poly_surface · eval_poly_surface · background_flatten


*Provenance: match3d.py — 3D 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*

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