transform op• 資料種類:voxel → mesh
• 呼叫: import fullseye as fs; fs.ledger.voxel_to_mesh(vol, iso=0.5)(要直接呼叫實作,import match3d; match3d.voxel_to_mesh(vol, iso=0.5);從台帳取用則 ops3d.get("voxel_to_mesh"))
• 經台帳呼叫的回傳值: fullseye.ledger.voxel_to_mesh(...) 只回傳宣告的 out 型別 mesh 的值(底層函式還會回傳輔助資訊)。需要被捨棄的部分時,請用 fullseye.ledger.voxel_to_mesh.raw(...),或直接呼叫 match3d.voxel_to_mesh。
voxel → mesh(marching cubes,skimage)。回傳 (verts, faces, normals)。voxel→mesh 轉換。
skimage.measure.marching_cubes(vol, level=iso) 的薄封裝(不指定 spacing = 以 1 voxel 為單位)。verts (V,3) float 是 voxel index 座標,各行為輸入的軸順序(vol 為 (D,H,W) 時即 (z,y,x))。faces (F,3) int 是指向 verts 的 index,normals (V,3) 是 skimage 由梯度給出的頂點法線。第 4 個回傳值(values)被捨棄。
• iso: 等值面的水準。超出輸入值域時 skimage 拋出 ValueError(如全 0 的
volume 用 iso=0.5)。計數密度傳 0.5,SDF 傳 0.0。
• 與邊界相接的等值面維持開口(不在邊緣封閉)。
• ★繞序朝內。直接傳給 mesh_volume 時,即使是普通的實心形狀也會得到負值(實測: 1000 voxel 的立方體為 -985.67)。只要體積的話用
abs(),要統一朝向就用 faces[:, ::-1] 重新繞序。
• skimage 在呼叫時 import(未安裝則 ImportError)。
後續: 用 mesh_to_points 轉點雲,用 mesh_area / face_areas / mesh_volume / boundary_vertices / mesh_edge_stats 量測。
• 範例資料目錄(下載 URL / 授權) —— 2-D 用 skimage.data(BSD/公有領域)加合成圖,3-D 給出真實資料源(Stanford/PDS 等)的下載 URL。
• 運算子來歷與參考文獻 —— 該運算子族所依據的研究/方法出處。
• mesh_smooth — py -3.11 examples_3d/mesh_smooth.py
mesh 作為輸入)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 運算子登記表。本條目由 tools/opdocs.py md 自動產生(請勿手動編輯)。*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.