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)
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.
• 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.
• hessian_numpy_chain — py -3.11 examples/hessian_numpy_chain.py
hessian als Eingabe)hessian_determinant · hessian_vesselness
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.