mesh_to_voxel — 3D 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) (implementation को सीधे call करना हो तो import match3d; match3d.mesh_to_voxel(vertices, faces, size, bounds=None, samples=40000, device='cpu', smooth=0.8), registry से लेना हो तो ops3d.get("mesh_to_voxel"))

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

उपयोग

mesh (vertices + faces) → density voxel। faces पर uniform sampling → splat (mesh row को सभी methods से जोड़ता है)।

Triangle पर uniform points barycentric (sqrt trick) से बनते हैं। Occupied voxel चाहिए तो threshold लगाएँ।

प्रक्रिया: हर triangle के area के अनुपात में samples face चुने जाते हैं (default_rng(0) का fixed seed → हर बार वही points), face के अंदर uniform barycentric points बनाकर points_to_voxel को दिए जाते हैं (smooth default 0.8 voxel)। faces (F,3) vertex index हैं, vertices (V,3) है। जिस mesh में केवल degenerate face (area 0) हों, उसमें probability NaN हो जाती है और rng.choice ValueError देता है। bounds=None हो तो sample points का min/max (mesh के bbox के लगभग बराबर, पर samples के अनुसार थोड़ा अंदर)। bounds की जाँच और range से बाहर का clip points_to_voxel जैसा ही है। Return value (size, size, size) float64 point density है (occupancy नहीं; occupancy चाहिए तो threshold से 2 मानों में binarise करें)। Axis क्रम vertex coordinates के column क्रम जैसा। Seed बदलना हो या point cloud भी चाहिए, तो mesh_to_points से पहले point cloud बनाएँ, फिर points_to_voxel को दें।

संदर्भ (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 जुड़ता है (voxel को input के रूप में लेते हैं)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

इसी category के (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. यह per-op note tools/opdocs.py md से अपने-आप generate होता है (हाथ से edit न करें)।*

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