transform op• Data kinds: mesh → voxel
• Call: import fullseye as fs; fs.ledger.mesh_to_voxel(vertices, faces, size, bounds=None, samples=40000, device='cpu', smooth=0.8) (to call the implementation directly, import match3d; match3d.mesh_to_voxel(vertices, faces, size, bounds=None, samples=40000, device='cpu', smooth=0.8); from the registry, ops3d.get("mesh_to_voxel"))
• GPU: this op has a GPU path (device="cuda")
Mesh (vertices + faces) → a density voxel volume. Uniform sampling on the faces → splat (it connects the mesh row to every method).
Uniform points on a triangle use barycentric coordinates (sqrt trick). If you need occupied voxels, apply a threshold.
Procedure: samples faces are chosen in proportion to each triangle's area (fixed seed default_rng(0) → the same points every time), uniform barycentric points are generated inside each face and passed to points_to_voxel (smooth default 0.8 voxel). faces are (F,3) vertex indices, vertices is (V,3). A mesh with only degenerate faces (area 0) makes the probabilities NaN and rng.choice raises ValueError. With bounds=None, the min/max of the sample points is used (almost equal to the mesh bbox, but depending on the samples slightly inside). Validation of bounds and clipping of out-of-range points are the same as in points_to_voxel. Returns the point density as (size, size, size) float64 (not occupancy; if you need occupancy, binarise into 2 levels with a threshold). Axis order = column order of the vertex coordinates. To change the seed or to also get a point cloud, build the cloud with mesh_to_points first and then pass it to points_to_voxel.
• 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.
• transforms_repr — py -3.11 examples_3d/transforms_repr.py
voxel as input)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
transform)points_to_voxel · gaussians_to_voxel · mesh_to_points · depth_to_points · voxel_to_mips · voxel_to_mesh · 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.