sobel3d — 3D feature op

• Datenarten: voxel → gradient

• Aufruf: import fullseye as fs; fs.ledger.sobel3d(vol, device='cpu') (die Implementierung direkt: import match3d; match3d.sobel3d(vol, device='cpu'); aus dem Register: ops3d.get("sobel3d"))

• Rückgabewert über das Register: fullseye.ledger.sobel3d(...) liefert nur den Wert des deklarierten Out-Typs gradient (die zugrunde liegende Funktion gibt zusätzlich Hilfsinformationen zurück). Wird das Verworfene gebraucht, nutze fullseye.ledger.sobel3d.raw(...) oder rufe match3d.sobel3d direkt auf.

• GPU: Dieser Operator hat einen GPU-Pfad (device="cuda")

Verwendung

Der 3-D-Gradient (gz, gy, gx). Separierbares conv3d aus Ableitung [-1,0,1] × Glätter [1,2,1].

vol wird als numpy oder als torch tensor (auch auf der GPU) angenommen (damit Daten z. B. bei scene_flow auf dem device verbleiben).

Rückgabe sind 3 torch tensors (kein numpy), jeweils (1,1,D,H,W) float32, auf device. gz ist die Ableitung entlang Achse 0, gy entlang Achse 1, gx entlang Achse 2 (ist die Eingabe (D,H,W), in der Reihenfolge (depth,row,col)). Zurück zu numpy mit g[0, 0].cpu().numpy().

Verstärkung: Ableitung [-1,0,1] (2 bei Steigung 1) × Glättung [1,2,1] auf den anderen 2 Achsen (je 4) ergibt das 32-fache des wahren Gradienten (keine Normierung). Wer den wahren Wert braucht, teilt durch 32 (curvature_maps / scene_flow_lk teilen intern. hessian3d hat Verstärkung 1, also beim Mischen aufpassen). Ränder mit replicate padding (keine falschen Kanten am Rand). Bei 3-D-tensor-Eingabe wird eine batch-Dimension ergänzt, 5-D wird unverändert verwendet. dtype wird auf float32 reduziert.

Nachgelagert: Einheitsgradienten für curvature_maps / match_shape_3d, Normalen für hough_plane_3d. Für richtungslose Kantenstärke ist auch morph_gradient3d eine Alternative.

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)

• diff_features — py -3.11 examples_3d/diff_features.py

Typkompatible Folge-Operatoren (nehmen gradient als Eingabe)

fuse_to_voxel

Gleiche Kategorie (feature)

hessian3d · curvature_maps · edt_jfa · edt_jfa_vector · vol_frangi · vol_local_std · vol_local_thickness · vol_orientation_coherence


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