robust_fit op• Datenarten: points → primitive
• Aufruf: import fullseye as fs; fs.ledger.fit_torus(points) -> 'dict' (die Implementierung direkt: import fit_primitives_ext; fit_primitives_ext.fit_torus(points) -> 'dict'; aus dem Register: ops3d.get("fit_torus"))
Passt einen Torus an eine Punktmenge an und liefert {center, axis, R, r, residual}.
Minimiert den Punkt-Torus-Abstand sqrt((ρ−R)² + a²) − r (a = Axialkomponente, ρ = Radius zur Achse, R = Hauptradius, r = Rohrradius) mit scipy.optimize.least_squares. Startwert ist die PCA-Achse (der aus der Reihe fallende Eigenvektor) + R0=mean(ρ) und r0 (mittlerer Abstand zum Rohrmittelkreis).
Args:
points: (N,3) Punktwolke (mindestens 7 Punkte).
Returns:
dict: {"center": (3,), "axis": (3,), "R": float, "r": float, "residual": float}.
axis ist die Einheitsachse, R der Hauptradius, r der Rohrradius, residual das RMS des Punkt-Fläche-Abstands.
Raises:
ValueError: fail-closed bei ungültiger Form / zu wenigen Punkten.
• blas_threads_and_memory — Warum Matrixzerlegungen langsam sind — BLAS-Threads, Caches, Speicherlayout
• 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.
• fit_primitives_ext — py -3.11 examples_3d/fit_primitives_ext.py
primitive als Eingabe)fuse_to_voxel · angle_between_lines · angle_between_planes · angle_line_plane · distance_point_plane · distance_point_line · distance_line_line · distance_segment_segment
robust_fit)ransac_plane · ransac_sphere · ransac_line · ransac_cylinder · fit_cone · fit_ellipsoid
*Provenance: fit_primitives_ext.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.