extract_surface_points — 3D tsdf_fusion op

• Data kinds: sdf → points

• Call: import fullseye as fs; fs.ledger.extract_surface_points(tsdf: 'np.ndarray', weight: 'np.ndarray', bounds: 'Bounds', res: 'int') -> 'np.ndarray' (implementation को सीधे call करना हो तो import tsdf_fusion; tsdf_fusion.extract_surface_points(tsdf: 'np.ndarray', weight: 'np.ndarray', bounds: 'Bounds', res: 'int') -> 'np.ndarray', registry से लेना हो तो ops3d.get("extract_surface_points"))

उपयोग

TSDF zero crossing से surface points (M,3) निकालता है (marching cubes की ज़रूरत नहीं, linear interpolation)।

observed (weight>0) पड़ोसी voxel जोड़ों में जिन edge पर TSDF का sign बदलता है, उनके 2 केंद्रों के बीच alpha = t_a/(t_a - t_b) से linear interpolation करके crossing (surface point) निकालता है। केवल वे edge लिए जाते हैं जिनके दोनों सिरों पर weight>0 हो (unobserved प्रारंभिक मान 1.0 के साथ नकली crossing नहीं बनती = honest)। x/y/z 3 axis के सभी edge scan किए जाते हैं। crossing न हो तो खाली (0,3) लौटाता है (कुछ गढ़े बिना honest खाली return)।

पृष्ठभूमि guides (इस op के पीछे की physics और conventions)

• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं

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

• transforms_repr — py -3.11 examples_3d/transforms_repr.py

• tsdf_fusion_demo — py -3.11 examples_3d/tsdf_fusion_demo.py

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

points_to_voxel · gaussians_to_voxel · estimate_point_normals · to_points · match_points_ncc · match_pca · moment_axes · icp_point2point_3d

इसी category के (tsdf_fusion)

fuse · integrate


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

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