occupancy op• Data kinds: sdf × points → signal
• Call: import fullseye as fs; fs.ledger.query_distance(esdf_grid, bounds, res, query_points, mode='trilinear') (to call the implementation directly, import occupancy; occupancy.query_distance(esdf_grid, bounds, res, query_points, mode='trilinear'); from the registry, ops3d.get("query_distance"))
The ESDF values (M,) at arbitrary world coordinates (M,3) (mode = 'trilinear' interpolation or 'nearest').
bounds/res are the same as the grid the ESDF was built on (res is a scalar = cube, or the number of voxels per axis, length 3). World→continuous voxel coordinates are c=(q-lo)/span*res-0.5 (the centre of voxel i is at c=i). Trilinear interpolation weights the 8 neighbouring voxel centres (outside the grid it clamps to the edge = extrapolates with the nearest edge value). Intended for the planner to query clearance at any point on a node/path. The return value is in the same world units as the ESDF.
Raises ValueError for res<=0, degenerate bounds, non-(M,3) query, or unknown mode.
• 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.
• occupancy_esdf — py -3.11 examples_3d/occupancy_esdf.py
signal as input)occupancy)occupancy_grid · esdf · inflate
*Provenance: occupancy.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.