transform op• Datenarten: voxel → mesh
• Aufruf: import fullseye as fs; fs.ledger.voxel_to_mesh(vol, iso=0.5) (die Implementierung direkt: import match3d; match3d.voxel_to_mesh(vol, iso=0.5); aus dem Register: ops3d.get("voxel_to_mesh"))
• Rückgabewert über das Register: fullseye.ledger.voxel_to_mesh(...) liefert nur den Wert des deklarierten Out-Typs mesh (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.voxel_to_mesh.raw(...) oder rufe match3d.voxel_to_mesh direkt auf.
Voxel → Mesh (Marching Cubes, skimage). Liefert (verts, faces, normals). Die Voxel-→-Mesh-Umwandlung.
Eine dünne Hülle um skimage.measure.marching_cubes(vol, level=iso) (ohne spacing-Angabe = Einheit 1 Voxel). verts (V,3) float sind Voxel-Index-Koordinaten; die Spalten folgen der Achsenreihenfolge der Eingabe (ist vol (D,H,W), dann (z,y,x)). faces (F,3) int sind Indizes in verts, normals (V,3) sind Vertexnormalen, die skimage aus dem Gradienten liefert. Der 4. Rückgabewert (values) wird verworfen.
• iso: Pegel der Isofläche. Außerhalb des Wertebereichs der Eingabe wirft skimage ValueError (z. B. iso=0.5 auf einem Volume aus lauter 0).
Für Anzahldichte 0.5 übergeben, für ein SDF 0.0.
• Isoflächen, die den Rand berühren, bleiben offen (sie werden am Rand nicht geschlossen).
• ★Die Wickelreihenfolge zeigt nach innen. Direkt an mesh_volume übergeben, wird selbst eine gewöhnliche massive Form negativ (gemessen: -985.67 für einen Würfel aus 1000 Voxeln). Wer nur das Volumen braucht, nimmt
abs(); um die Orientierung anzugleichen, mit faces[:, ::-1] neu wickeln.
• skimage wird beim Aufruf importiert (ImportError, falls nicht installiert).
Nachgelagert: mesh_to_points für eine Punktwolke; Messung mit mesh_area / face_areas / mesh_volume / boundary_vertices / mesh_edge_stats.
• Katalog der Beispieldaten (Download-URLs / Lizenzen) — 2-D nutzt skimage.data (BSD/Public Domain) plus synthetische Bilder, 3-D nennt Download-URLs echter Datenquellen (Stanford, PDS, …).
• Herkunft und Literatur der Operatoren — die Quellen der Forschung/Verfahren, auf denen diese Operatorfamilie beruht.
• mesh_smooth — py -3.11 examples_3d/mesh_smooth.py
mesh als Eingabe)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. Diese Notiz wird von tools/opdocs.py md erzeugt (nicht von Hand bearbeiten).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.