curve op• Data kinds: points → points
• Call: import fullseye as fs; fs.ledger.fit_spline_curve(points, smooth=0.0, k=3, n=None) (implementation को सीधे call करना हो तो import curve3d; curve3d.fit_spline_curve(points, smooth=0.0, k=3, n=None), registry से लेना हो तो ops3d.get("fit_spline_curve"))
ordered 3D point sequence को B-spline से smooth करके resample करता है। → (M,3)। noisy trajectory/edge को smooth करने के लिए।
scipy.interpolate.splprep/splev। smooth=0 पर interpolation, >0 पर smoothing। n=output points की संख्या (default=input की संख्या)।
splprep([x, y, z], s=smooth, k=k) से parametric B-spline fit करता है (parameter u∈[0,1], scipy का default chord-length parameterisation), u = linspace(0, 1, n) पर splev से evaluate करके (n,3) float64 लौटाता है। u समान अंतराल पर है, इसलिए output points arc length में ठीक-ठीक समान अंतराल पर नहीं होते (arc length में समान अंतराल चाहिए तो परिणाम को resample_uniform से गुज़ारें)।
• smooth: scipy की smoothing condition s। उन सबसे कम knots से fit करता है जिनसे residual sum of squares s से अधिक न हो। 0 पर सभी points से गुज़रने वाला interpolation, जितना बड़ा उतना smooth (unit coordinate का वर्ग है)।
• k: spline degree (default 3)। points की संख्या N यदि k या उससे कम हो तो ValueError।
• n: output points की संख्या। None पर input points की संख्या।
• input को index क्रम में लगा (N,3) माना जाता है, points की संख्या के अलावा कोई shape validation नहीं है।
noise वाले edge point sequence या trajectory को smooth करके curvature_torsion / frenet_frame को देने से पहले के चरण के रूप में इस्तेमाल होता है। tck साथ रखना हो तो fit_bspline_curve / eval_bspline_curve।
• 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 के स्रोत।
• bspline_freeform — py -3.11 examples_3d/bspline_freeform.py
points को input के रूप में लेते हैं)points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d
curve)curvature_torsion · frenet_frame · arc_length · resample_uniform
*Provenance: curve3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.