nearest_neighbor_flow — 3D scene_flow3d op

• Data kinds: points × points → flow_scattered

• Call: import fullseye as fs; fs.ledger.nearest_neighbor_flow(pts0, pts1) -> 'np.ndarray' (implementation को सीधे call करना हो तो import scene_flow3d; scene_flow3d.nearest_neighbor_flow(pts0, pts1) -> 'np.ndarray', registry से लेना हो तो ops3d.get("nearest_neighbor_flow"))

उपयोग

हर point pts0 से pts1 के nearest neighbour तक 3-D displacement vector field (N, 3) लौटाता है।

pts0 के हर point p के लिए cKDTree से pts1 में nearest neighbour q खोजता है और displacement q - p लौटाता है। Elements की संख्या N != M हो सकती है। जब displacement local point spacing से काफ़ी छोटा हो (छोटी गति), केवल तभी यह "point i का सही correspondence" पकड़ता है — बड़े displacement पर nearest neighbour किसी दूसरे point से चिपक जाता है (एक ईमानदार सीमा; regularisation के लिए smooth_flow साथ में इस्तेमाल करें)।

Args:

pts0: (N, 3) समय 0 का point cloud।

pts1: (M, 3) समय 1 का point cloud।

Returns:

(N, 3) displacement vector field (pts0 जैसा ही row क्रम)।

Raises:

ValueError: गलत shape, या pts0 खाली न होने पर भी pts1 खाली हो।

संदर्भ (sample data, साहित्य)

• 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 के स्रोत।

चलाए जा सकने वाले उदाहरण (verified samples जो सच में यह op call करते हैं)

• scene_flow_rigid — py -3.11 examples_3d/scene_flow_rigid.py

वे अगले ops जिनसे type जुड़ता है (flow_scattered को input के रूप में लेते हैं)

fuse_to_voxel

इसी category के (scene_flow3d)

rigid_flow · smooth_flow


*Provenance: scene_flow3d.py — 3D operator registry. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.