edges op• Datenarten: voxel → voxel
• Aufruf: import fullseye as fs; fs.ledger.log_zero_crossings(vol, sigma: 'float' = 1.5, rel_thresh: 'float' = 0.001) -> 'np.ndarray' (die Implementierung direkt: import edges3d; edges3d.log_zero_crossings(vol, sigma: 'float' = 1.5, rel_thresh: 'float' = 0.001) -> 'np.ndarray'; aus dem Register: ops3d.get("log_zero_crossings"))
Nulldurchgangskanten des Laplacian of Gaussian.
vol : (D,H,W) array
Grauwert-Voxel.
sigma : float
Standardabweichung des LoG (> 0).
rel_thresh : float
Relativer Schwellwert gegen falsche Durchgänge durch numerisches Rauschen in ebenen Bereichen. Nur übernommen, wenn die LoG-Differenz |a-b| des Paares
rel_thresh * max|L| übersteigt.
edge_mask : (D,H,W) bool
Maske, die von jedem benachbarten Paar mit Vorzeichenwechsel die Seite mit kleinerem |LoG| (die näher an null liegende) setzt.
Entlang jeder Achsrichtung werden zwei Arten von Nulldurchgängen erkannt:
(1) Durchgang zwischen Gitterpunkten — Vorzeichenprodukt a*b < 0 eines benachbarten Paares (a,b) (beide ungleich null, Vorzeichenwechsel). Um die Dicke gering zu halten, wird er dem 1 Voxel des Paares mit kleinerem |LoG| zugeordnet.
(2) Gitterausgerichteter Durchgang — das mittlere Voxel ist exakt null (L==0) und beide Nachbarn haben entgegengesetztes Vorzeichen (das Vorzeichen geht an diesem Voxel durch null). Bei einer echten Kante auf einer gitterausgerichteten Fläche wie einem SDF-artigen Gitter, wo der LoG genau auf einem Gitterpunkt 0 wird, ist a*b stets 0 und (1) übersieht sie; daher wird dieses Voxel als Durchgang gesetzt. Konstante Nullbereiche haben auch beide Nachbarn den Wert 0, also Lm*Lp==0, und werden ausgeschlossen (keine Fehldetektion).
In beiden Fällen wird numerisches Rauschen in ebenen Bereichen durch den relativen Schwellwert (rel_thresh * max|L|) unterdrückt.
• 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.
• edges_3d — py -3.11 examples_3d/edges_3d.py
voxel als Eingabe)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
edges)gradient3d · canny3d · link_edges · edge_points
*Provenance: edges3d.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.