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) (to call the implementation directly, import match3d; match3d.signed_distance_field(vol, device='cpu', iso=0.5); from the registry, ops3d.get("signed_distance_field"))

• GPU: this op has a GPU path (device="cuda")

Usage

Occupancy/density voxels → a signed distance field SDF (inside < 0, outside > 0). edt_jfa applied to both sides.

The SDF is an excellent representation for matching (smooth, gradient = normal, 0 isosurface = surface). It is built from the difference of the inside/outside Euclidean distances. GPU native. Converts back and forth voxel↔SDF↔occupancy.

Definition: with occ = vol > iso, d_out = edt_jfa(occ) (distance from each voxel to the nearest occupied voxel, 0 inside the occupied region), d_in = edt_jfa(~occ) (to the nearest unoccupied voxel), and sdf = d_out − d_in. Outside is +distance, inside is −distance (in voxel units, Euclidean). Since the distances are between voxel centres, no voxel becomes 0: occupied voxels on the boundary are −1, adjacent unoccupied voxels are +1 (the 0 isosurface lies between voxels). iso is the density → occupancy threshold (default 0.5; for count density this means "1 point or more"). For an all-occupied or all-empty volume, the distance on the side without seeds saturates at 1e6: all-occupied gives −1e6, all-empty gives +1e6 (no exception). Returns (D,H,W) float32 numpy.

Downstream: back with sdf_to_occupancy, surface with voxel_to_mesh(sdf, iso=0.0), normal field with sobel3d.

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

Runnable examples (verified samples that actually call this op)

• transforms_repr — py -3.11 examples_3d/transforms_repr.py

Ops the type connects to (they accept sdf as input)

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

Same 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. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

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