curvilinear op• Datenarten: voxel → voxel
• Aufruf: import fullseye as fs; fs.ledger.cylinder_unwrap(vol, center=None, r_in=0.0, r_out=None, ntheta=180, nr=32, device='cpu') (die Implementierung direkt: import match3d; match3d.cylinder_unwrap(vol, center=None, r_in=0.0, r_out=None, ntheta=180, nr=32, device='cpu'); aus dem Register: ops3d.get("cylinder_unwrap"))
• GPU: ja (mechanischer GPU-Pfad aus der Allow-List, CuPy). device="auto" wählt die GPU ab der gemessenen Größe (16,777,216 Pixel)
Wickelt die Zylinderfläche eines Voxelvolumens in (Höhe × θ × r) ab — für die Innen- und Außenwandprüfung zylindrischer Teile und Rohre. Die Achse ist z (die D-Achse).
Die θ-Achse ist ein periodisches Gitter ohne Endpunkt (wie polar_unwrap, geändert am 30.08.2026).
Löst ValueError aus: Wenn die Eingabe einen NaN/Inf/float32-Überlauf aufweist.
Argumente: „vol“ ist „(D,H,W)“, „center=(cy, cx)“ ist (Zeile, Spalte) (Standard ist Scheibenmitte). „r_in“ ~ „r_out“ (Voxel, Standard „min(H,W)/2 − 1“) wird in „nr“ gleiche Teile geteilt, und der Winkel ist „ntheta“ Gleiche Teile. Ausgabe „(D, ntheta, nr)“ float32: Achse 0 ist z (Höhe, wie Eingabe), Winkel in Zeile k „θ = k·2π/ntheta“, Radius der Spalte j. Der Abtastpunkt ist „(z, cy + r sinθ, cx + r cosθ)“ und 0 außerhalb des Volumens. Die Achsen, bei denen D, H und W 1 sind, werden ebenfalls als Pixelkoordinaten interpoliert und eine Division durch 0 findet nicht statt. Zweiter Teil: Wenn Sie „[:, :, j]“ nehmen, wird die zylindrische Oberfläche mit dem Radius j zu einem 2D-Bild von (D×θ) und 2D-Fehlerprüfung/ „ncc_locate“ kann verwendet werden.
Eine leere Eingabe („vol“ mit 0 Elementen) führt zu einem ValueError.
• 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.
• curvilinear_proj — py -3.11 examples_3d/curvilinear_proj.py
voxel als Eingabe)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
curvilinear)*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.