estimate_flow — 3D motion_segment op

• Data kinds: points × points → flow_scattered

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

उपयोग

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

pts0 के हर point p के लिए pts1 में nearest neighbour q को cKDTree से ढूँढता है, और displacement q - p लौटाता है। elements की संख्या N != M हो सकती है। केवल उन छोटे motions में, जहाँ displacement local point spacing से काफ़ी छोटा हो, यह "point i का असली correspondence" सही पकड़ता है (nearest neighbour की honest सीमा)। segment_rigid_motions के inlier निर्णय में उपयोग होने वाला observed flow देता है।

Args:

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

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

Returns:

(N, 3) displacement vector field (pts0 जैसा ही row क्रम)। खाली pts0 पर (0, 3) लौटाता है।

Raises:

ValueError: गलत shape, या pts0 खाली नहीं पर pts1 खाली है (nearest neighbour मौजूद नहीं)।

संदर्भ (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 करते हैं)

• motion_scene — py -3.11 examples_3d/motion_scene.py

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

fuse_to_voxel

इसी category के (motion_segment)

segment_rigid_motions · fit_rigid


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

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