robust_fit op• Data kinds: points × normals → primitive
• Call: import fullseye as fs; fs.ledger.ransac_cylinder(points, normals, thresh, iters=800, seed=0) (implementation को सीधे call करना हो तो import ransac_fit; ransac_fit.ransac_cylinder(points, normals, thresh, iters=800, seed=0), registry से लेना हो तो ops3d.get("ransac_cylinder"))
outliers के प्रति robust RANSAC cylinder fitting (point normals आवश्यक)।
cylinder surface के normal axis के लंबवत होते हैं, इसलिए 2 points के normals के cross product से axis direction का अनुमान → axis के लंबवत plane पर सभी points को project करें → उस plane में circle fit करें → |projected distance - r| < thresh वाले inlier को maximise करें। अंतिम inlier पर axis का अधिक robust दोबारा अनुमान (normals के SVD की smallest singular direction = axis) किया जाता है, और projected circle का least squares refit होता है। normal न हों तो caller की ओर पहले estimate करके दें।
Args:
points: (N,3) point cloud।
normals: (N,3) हर point का (unit) normal।
thresh: inlier मानने के लिए |projected distance-r| का threshold।
iters: RANSAC iterations की संख्या।
seed: random seed (deterministic)।
Returns:
(params, inlier_mask, info)। params = {"axis": (3,) unit axis, "point": (3,) axis पर एक point,
"radius": float}। info में inlier संख्या n_inliers / अनुपात inlier_ratio / iters होते हैं।
• blas_threads_and_memory — Matrix decompositions धीमे क्यों हैं — BLAS threads, caches, memory layout
• 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 के स्रोत।
• ransac_prim — py -3.11 examples_3d/ransac_prim.py
primitive को input के रूप में लेते हैं)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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.