transform op• Data kinds: voxel → mesh
• Call: import fullseye as fs; fs.ledger.voxel_to_mesh(vol, iso=0.5) (to call the implementation directly, import match3d; match3d.voxel_to_mesh(vol, iso=0.5); from the registry, ops3d.get("voxel_to_mesh"))
• Return value through the ledger: fullseye.ledger.voxel_to_mesh(...) returns only the declared out type mesh (the underlying function also returns auxiliary values). When you need what was dropped, use fullseye.ledger.voxel_to_mesh.raw(...) or call match3d.voxel_to_mesh directly.
Voxel → mesh (marching cubes, skimage). Returns (verts, faces, normals). The voxel → mesh conversion.
A thin wrapper around skimage.measure.marching_cubes(vol, level=iso) (no spacing given = 1 voxel unit). verts (V,3) float are voxel index coordinates; the columns follow the input axis order (if vol is (D,H,W), then (z,y,x)). faces (F,3) int are indices into verts, normals (V,3) are vertex normals that skimage derives from the gradient. The 4th return value (values) is discarded.
• iso: level of the isosurface. Outside the value range of the input, skimage raises ValueError (e.g. iso=0.5 on an all-0
volume). Pass 0.5 for count density, 0.0 for an SDF.
• Isosurfaces touching the boundary stay open (they are not closed at the edges).
• ★The winding order points inward. Passed directly to mesh_volume, even an ordinary solid shape comes out negative (measured: -985.67 for a cube of 1000 voxels). If you only want the volume, use
abs(); to fix the orientation, rewind with faces[:, ::-1].
• skimage is imported at call time (ImportError if not installed).
Downstream: mesh_to_points for a point cloud; measure with mesh_area / face_areas / mesh_volume / boundary_vertices / mesh_edge_stats.
• 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.
• mesh_smooth — py -3.11 examples_3d/mesh_smooth.py
mesh as input)mesh_to_voxel · mesh_to_points · to_points · fuse_to_voxel · ambient_occlusion · cast_shadow · supersample_mesh · render_beauty
transform)points_to_voxel · gaussians_to_voxel · mesh_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · tsdf_from_depth · signed_distance_field
*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.