robust_fit op• Datenarten: points × normals → primitive
• Aufruf: import fullseye as fs; fs.ledger.ransac_cylinder(points, normals, thresh, iters=800, seed=0) (die Implementierung direkt: import ransac_fit; ransac_fit.ransac_cylinder(points, normals, thresh, iters=800, seed=0); aus dem Register: ops3d.get("ransac_cylinder"))
Ausreißerrobuste RANSAC-Zylinderanpassung (Punktnormalen erforderlich).
Die Normalen einer Zylinderfläche stehen orthogonal zur Achse, daher wird die Achsrichtung aus dem Kreuzprodukt der Normalen von 2 Punkten geschätzt → alle Punkte werden auf die zur Achse orthogonale Ebene projiziert → in dieser Ebene wird ein Kreis gefittet → die Inlier mit |Projektionsabstand - r| < thresh werden maximiert. Auf den finalen Inliern wird die Achse robuster neu geschätzt (kleinste singuläre Richtung der SVD der Normalen = Achse), und der projizierte Kreis wird per kleinste Quadrate neu angepasst. Fehlen Normalen, schätzen Sie sie aufrufseitig, bevor Sie sie übergeben.
Args:
points: (N,3) Punktwolke.
normals: (N,3) (Einheits-)Normale jedes Punktes.
thresh: Schwellwert für |Projektionsabstand-r|, ab dem ein Punkt als Inlier gilt.
iters: Anzahl der RANSAC-Iterationen.
seed: Zufalls-Seed (deterministisch).
Returns:
(params, inlier_mask, info). params = {"axis": (3,) Einheitsachse, "point": (3,) ein Punkt auf der Achse,
"radius": float}. info enthält die Inlier-Anzahl n_inliers / den Anteil inlier_ratio / iters.
• 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.
• ransac_prim — py -3.11 examples_3d/ransac_prim.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 · fit_cone · fit_torus · fit_ellipsoid
*Provenance: ransac_fit.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.