tsdf_fusion op• Data kinds: sdf × depth → sdf
• Call: import fullseye as fs; fs.ledger.integrate(tsdf: 'np.ndarray', weight: 'np.ndarray', depth: 'np.ndarray', K, R, t, trunc: 'float', bounds: 'Optional[Bounds]' = None) -> 'None' (implementation को सीधे call करना हो तो import tsdf_fusion; tsdf_fusion.integrate(tsdf: 'np.ndarray', weight: 'np.ndarray', depth: 'np.ndarray', K, R, t, trunc: 'float', bounds: 'Optional[Bounds]' = None) -> 'None', registry से लेना हो तो ops3d.get("integrate"))
1 depth frame को projective TSDF से volume में integrate करता है (in-place, weighted moving average)।
हर voxel केंद्र को (K,R,t) से project करता है (X_cam = R X + t, u = fx*X/Z+cx) और संबंधित pixel की observed depth d_meas की तुलना voxel की camera depth d_voxel = Z_cam से करता है। sdf = min(1, (d_meas - d_voxel)/trunc) केवल उन voxel पर लागू होता है जो नीचे की सभी शर्तें पूरी करते हैं:
image के अंदर, d_meas>0 और finite, (d_meas - d_voxel) >= -trunc (surface से trunc से अधिक पीछे = occluded क्षेत्र observe नहीं हो सकता, इसलिए update नहीं होता)। इस valid set पर sdf ∈ [-1,1]।
update: tsdf = (w*tsdf + sdf)/(w+1), weight = w+1 (1 frame का weight 1)।
bounds देने पर voxel केंद्र को world में समझा जाता है और (K,R,t) world→camera है। bounds=None (default) पर voxel केंद्र को grid-index frame ((i+0.5,...)) में समझा जाता है और (K,R,t) grid→camera माना जाता है (fuse bounds देता है, इसलिए fusion world coordinates में होता है)।
• depth_sensors — Depth sensors — ranging के सिद्धांत, असली devices के आँकड़े, dropouts कैसे दिखते हैं
• 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 के स्रोत।
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
sdf को input के रूप में लेते हैं)sdf_to_occupancy · fuse_to_voxel · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract · sdf_smooth_union
tsdf_fusion)*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.