signed_distance_field — 3D transform op

• Data kinds: voxel → sdf

• Call: import fullseye as fs; fs.ledger.signed_distance_field(vol, device='cpu', iso=0.5) (implementation को सीधे call करना हो तो import match3d; match3d.signed_distance_field(vol, device='cpu', iso=0.5), registry से लेना हो तो ops3d.get("signed_distance_field"))

• GPU: इस op का GPU path है (device="cuda")

उपयोग

occupancy/density voxel → signed distance field SDF (अंदर<0, बाहर>0)। edt_jfa को दोनों तरफ़ लागू करता है।

SDF matching के लिए बेहतरीन representation है (smooth, gradient = normal, 0 isosurface = surface)। इसे inside/outside की Euclidean distance के अंतर से बनाया जाता है। GPU native। voxel↔SDF↔occupancy आपस में बदले जा सकते हैं।

परिभाषा: occ = vol > iso लेकर d_out = edt_jfa(occ) (हर voxel से सबसे पास के occupied voxel तक की distance, occupied के अंदर 0), d_in = edt_jfa(~occ) (सबसे पास के unoccupied voxel तक), और sdf = d_out − d_in। बाहर +distance, अंदर −distance (voxel इकाई में, Euclidean)। Distance voxel केंद्रों के बीच है, इसलिए कोई voxel 0 नहीं होता: boundary के occupied voxel −1 हैं, पास के unoccupied voxel +1 (0 isosurface voxels के बीच है)। iso density → occupancy का threshold है (default 0.5; count density में इसका अर्थ "1 point या ज़्यादा")। पूरी तरह occupied या पूरी तरह खाली volume में seed रहित तरफ़ की distance 1e6 पर saturate होती है: पूरी तरह occupied में −1e6, पूरी तरह खाली में +1e6 (exception नहीं आता)। Return value (D,H,W) float32 numpy।

आगे: sdf_to_occupancy से वापस, voxel_to_mesh(sdf, iso=0.0) से surface, sobel3d से normal field।

संदर्भ (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

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

sdf_to_occupancy · fuse_to_voxel · integrate · extract_surface_points · query_distance · sdf_union · sdf_intersect · sdf_subtract

इसी category के (transform)

points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · tsdf_from_depth


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

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