canny3d — 3D edges op

• Datenarten: voxel → voxel

• Aufruf: import fullseye as fs; fs.ledger.canny3d(vol, low: 'float', high: 'float', sigma: 'float' = 1.0) -> 'np.ndarray' (die Implementierung direkt: import edges3d; edges3d.canny3d(vol, low: 'float', high: 'float', sigma: 'float' = 1.0) -> 'np.ndarray'; aus dem Register: ops3d.get("canny3d"))

Verwendung

3-D-Canny-Kantendetektion (Nicht-Maximum-Unterdrückung + Hysterese).

Parameters

vol : (D,H,W) array

Grauwert-Voxel.

low, high : float

Untere / obere Hysterese-Schwellwerte (bezogen auf den Gradientenbetrag). 0 <= low <= high, high > 0.

sigma : float

Standardabweichung der Glättung.

Returns

edge_mask : (D,H,W) bool

Auf 1 Voxel ausgedünnte Kanten.

Notes

(1) geglätteten Gradienten mit gradient3d bestimmen → (2) lokale Maxima per NMS entlang der Gradientenrichtung (trilineare Interpolation) behalten

→ (3) von high-Schwellwert-Saatpunkten aus mit dem low-Schwellwert 26-zusammenhängend wachsen. Die Schwellwerte sind absolut, daher ist es robust, sie je nach Objekt auf der Skala von gmag.max() anzugeben.

Referenzen (Beispieldaten, Literatur)

• 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.

Ausführbare Beispiele (verifizierte Samples, die diesen Operator wirklich aufrufen)

• edges_3d — py -3.11 examples_3d/edges_3d.py

Typkompatible Folge-Operatoren (nehmen voxel als Eingabe)

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

Gleiche Kategorie (edges)

gradient3d · log_zero_crossings · 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.