curvature_maps — 3D feature op

• Datenarten: voxel → curvature

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

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

Verwendung

Hauptkrümmungen eines Level-Sets → Formindex S (Koenderink) und Gekrümmtheit. Geschlossene Form (Kindlmann 2003).

Linie→Fläche-Hebung der 2D-Konturkrümmung (1 Skalar): Eine Fläche hat 2 Hauptkrümmungen κ1,κ2. mean = (κ1+κ2)/2 = (|g|²trH − gᵀHg)/|g|³, Gauss K = κ1κ2 = gᵀadj(H)g/|g|⁴ (g=∇, H=Hessian). S=(2/π)atan2(κ1+κ2, κ1−κ2) ∈[-1,1] ist ein gegenüber Intensität und Rotation invarianter lokaler Flächentyp (cup−1/rut/saddle0/ ridge+.5/cap+1). Mit der Konvention nach außen zeigender Normalen gilt: heller konvexer Blob = cap(+1). Rückgabewert (S, curvedness, mask, |g|), alles torch.

Einheiten: Die Verstärkung 32 der separierbaren Conv von sobel3d (deriv[-1,0,1]×Glättung[1,2,1]²) wird hier herausgeteilt, daher sind κ1,κ2/curvedness in wahren 1/voxel-Einheiten (curvedness=1/R auf einer Kugelschale mit Radius R), und |g| sowie der Maskenschwellwert mc in wahren Gradienteneinheiten pro Voxel. Die alte Version (bis 2026-08-29) vergaß das Herausteilen:

curvedness war 1/32-fach und mc in rohen sobel3d-Einheiten (der shape index S ist ein Verhältnis und nicht betroffen). Wer alte mc-Werte verwendet hat, übergibt sie mit 1/32 multipliziert (der Standardwert 0.02→6.25e-4 ist bereits äquivalent umgerechnet).

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 curvature als Eingabe)

fuse_to_voxel

Gleiche Kategorie (feature)

sobel3d · hessian3d · 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.