surface_form_error — 3D surface_fit op

• Datenarten: image2d → measurement

• Aufruf: import fullseye as fs; fs.ledger.surface_form_error(height, degree=1) (die Implementierung direkt: import match3d; match3d.surface_form_error(height, degree=1); aus dem Register: ops3d.get("surface_form_error"))

• Rückgabewert über das Register: fullseye.ledger.surface_form_error(...) liefert nur den Wert des deklarierten Out-Typs measurement (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.surface_form_error.raw(...) oder rufe match3d.surface_form_error direkt auf.

• Rückgabe der Funktion: (residual, rms, pv) → pv float

Verwendung

Höhenfeldgitter → das Residuum gegenüber einer idealen (polynomialen) Fläche = der Formfehler (Ebenheit Grad 1 / Sphärizität Grad 2). → (residual, rms, pv).

Passt fit_poly_surface(degree) an das (H,W)-Höhenfeld mit x = Spalten-index, y = Zeilen-index an und gibt residual = height − fit zurück. degree=1 ist die Ebene nach kleinsten Quadraten (Ebenheit = pv), degree=2 ist eine Fläche 2. Ordnung (Näherung einer Kugel, keine echte Kugel). Rückgabewert (residual (H,W) float64, rms, pv), Einheit ist die der Höhe (die laterale Richtung ist in Pixeln, daher sind die Neigungs- koeffizienten "Höhe/Pixel"). NaN lässt lstsq scheitern (Fehlstellen vorher füllen). Eingaben, die nicht 2-D sind, scheitern beim unpack der Form.

Verwendung: Bewertung von Ebenheit und Welligkeit. background_flatten ist die "Bildversion" derselben Berechnung. Für die Ebenheit einer Punktwolke das resid von fit_plane_3d.

Hintergrundwissen (Physik und Konventionen hinter diesem Operator)

• blas_threads_and_memory — Warum Matrixzerlegungen langsam sind — BLAS-Threads, Caches, Speicherlayout

Referenzen (Beispieldaten, Literatur)

• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).

• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• geometry_metrology — py -3.11 examples_3d/geometry_metrology.py

Typkompatible Folge-Operatoren (nehmen measurement als Eingabe)

vol_gaussian_psf · fuse_to_voxel · fresnel_reflectance · snell_angle

Gleiche Kategorie (surface_fit)

fit_poly_surface · eval_poly_surface · background_flatten


*Provenance: match3d.py — 3D Operator-Registry. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*

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