voxel_to_hessian — REPRCONV derivative op

• Datenarten: voxel → hessian

• Aufruf: import fullseye as fs; fs.ledger.voxel_to_hessian(vol, sigma=1.0, scale_normalize=False) (die Implementierung direkt: import reprconv; reprconv.voxel_to_hessian(vol, sigma=1.0, scale_normalize=False); aus dem Register: opsreprconv.get("voxel_to_hessian"))

• GPU: nein (nur CPU-Referenzimplementierung)

Verwendung

Volumen voxel → die sechs Komponenten (zz, yy, xx, zy, zx, yx) der 3-D-Hesse-Matrix hessian. Der Eingang zu hessian, nur mit numpy und scipy gebaut.

Gibt dieselbe Form wie hessian3d (torch conv3d) zurück: eine list der Länge 6, jeweils (D,H,W) float32, in der Reihenfolge (zz, yy, xx, zy, zx, yx) (Achse 0=z, 1=y, 2=x), in Einheiten von 1/voxel², Ränder replicate (mode="nearest" von scipy.ndimage). Daher lesen hessian_determinant / hessian_vesselness sie unverändert, und die Kette voxel → hessian → voxel funktioniert auch in einem schlichten pip install fullseye ohne torch.

sigma ist der Maßstab der Gauß-Glättung (Voxel). Diagonalkomponenten sind "2. Ordnung auf dieser Achse × Glättung auf den anderen 2 Achsen", Kreuzkomponenten "1. Ordnung auf 2 Achsen × Glättung auf der übrigen Achse", als separierbare Faltungen. Die Kerne haben die Form von Gauß-Ableitungen, wobei Summe und 1./2. Moment exakt abgeglichen sind (ein abgetasteter Gauß-Ableitungskern summiert nicht zu 0, sodass Helligkeit in die 2. Ableitung leckt); daher ergibt ein quadratisches Polynom ½xᵀAx + bᵀx im Inneren H = A bis auf Rundung. sigma=0 bedeutet nicht "keine Glättung", sondern dieselben 3-Tap-Kerne wie hessian3d ([1,−2,1] / [−0.5,0,0.5] / [1,2,1]/4) —— es stimmt mit der torch-Version bis auf float32-Rundung überein. scale_normalize=True multipliziert mit σ² (Lindebergs γ=1-Normierung, um Werte über Maßstäbe hinweg zu vergleichen; dieselbe Konvention wie die interne Hesse-Matrix von vol_frangi).

2-D-Bilder werden nicht angenommen: der Typ hessian besteht aus den sechs 3-D-Komponenten, und seine Empfänger brauchen (D,H,W). Für eine 2-D-Hesse-Antwort sk_hessian / sk_hessian_det / xsk_hessian_eig (image → image) verwenden.

Args:

vol: ein 3-D-Volumen (D,H,W), reell, endlich.

sigma: Maßstab der Gauß-Glättung (Voxel). Endlich und >= 0. 0 ergibt dieselben Kerne wie hessian3d. Standard 1.0.

scale_normalize: True multipliziert jede Komponente mit σ² (nicht mit sigma=0 kombinierbar).

Returns:

list aus 6 np.ndarray, jeweils (D,H,W) float32, in der Reihenfolge (zz, yy, xx, zy, zx, yx).

Raises:

ValueError: leer / nicht 3-D / nicht endlich / sigma keine endliche nichtnegative Zahl /

scale_normalize zusammen mit sigma=0.

Leere Eingabe (vol mit 0 Elementen) löst ValueError aus.

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.

• Der kanonische Algorithmus (Autor, Jahr) und seine Anwendungen stehen im Familienleitfaden oben.

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

• hessian_numpy_chain — py -3.11 examples/hessian_numpy_chain.py

Typkompatible Folge-Operatoren (nehmen hessian als Eingabe)

hessian_determinant · hessian_vesselness

Gleiche Kategorie (derivative)

gradient_magnitude · gradient_coherence · hessian_determinant · hessian_vesselness


*Provenance: reprconv.py — REPRCONV 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.