normals_orient op• Data kinds: points → normals
• Call: import fullseye as fs; fs.ledger.estimate_oriented_normals(points, k: 'int' = 20, seed_dir=None) -> 'np.ndarray' (implementation को सीधे call करना हो तो import normals_orient; normals_orient.estimate_oriented_normals(points, k: 'int' = 20, seed_dir=None) -> 'np.ndarray', registry से लेना हो तो ops3d.get("estimate_oriented_normals"))
PCA normal estimation + Hoppe global orientation का संयोजन। → (N,3) oriented unit normals।
estimate_normals (दिशा अनिर्धारित) → orient_normals (MST propagation) से गुज़ारता है। बंद सतह पर सभी points बाहर की ओर, और plane पर सभी points एक ही hemisphere की ओर संरेखित होते हैं। मिले हुए normals को curvature3d.shape_index को देने पर अवतल/उत्तल का sign सही निकलता है।
Args:
points: (N,3) point cloud।
k: PCA neighbours और kNN graph neighbours की संख्या (साझा)।
seed_dir: global reference दिशा (3,)। None होने पर centroid से बाहर की ओर।
Returns:
(N,3) globally consistent, दिशा-निर्धारित unit normals।
• blender_interop — Blender के साथ उपयोग — shape बनाएँ, fullseye से मापें (सावधानियाँ: axes, units, ground truth)
• 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 के स्रोत।
• oriented_normals — py -3.11 examples_3d/oriented_normals.py
normals को input के रूप में लेते हैं)icp_point2plane · compute_fpfh · shot_descriptor · fuse_to_voxel · reflect · refract · normal_consistency · ransac_cylinder
normals_orient)*Provenance: normals_orient.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.