frequency op• Datenarten: voxel → voxel
• Aufruf: import fullseye as fs; fs.ledger.vol_fft_lowpass(vol, cutoff, spacing=None) (die Implementierung direkt: import volfreq; volfreq.vol_fft_lowpass(vol, cutoff, spacing=None); aus dem Register: ops3d.get("vol_fft_lowpass"))
Gauß-Tiefpass: behält Strukturen gröber als 1/cutoff (in Voxeln oder realen Maßen).
Feinere Details werden glatt gedämpft. Übertragungsfunktion exp(-f^2 / (2 cutoff^2)) — der DC-Anteil (mittlere Intensität) passiert unverändert. Typischer Einsatz: Beleuchtungs-/Dickendrift extrahieren.
Ablauf: reelle FFT mit np.fft.rfftn → Multiplikation mit der Übertragungsfunktion exp(-|f|^2 / (2 cutoff^2)) gemäß dem Betrag |f| = sqrt(fz^2 + fy^2 + fx^2) jedes Frequenz-bins → Rücktransformation mit irfftn. Liefert float64 mit demselben (D, H, W) wie die Eingabe (auch mit spacing ändert sich die shape nicht).
Argumente:
• cutoff: positiver endlicher Wert. Bei spacing=None in cycles/voxel (Nyquist = 0.5); wird spacing=(sz, sy, sx) (mm oder ein volio.VolumeMeta mit spacing_mm) übergeben, in cycles/mm. Bei anisotropen Voxeln wird je Achse mit fftfreq(n, d=spacing) in physikalische Frequenz umgerechnet, sodass dieselbe physikalische Struktur gleich behandelt wird.
• Die Dämpfung ist Gaussian, bei |f| = cutoff beträgt sie exp(-1/2) ≈ 0.61 (kein Brick-Wall- Filter. Es tritt kein Ringing auf).
Prüfung (ValueError): nicht 3-D / NaN oder Inf / Voxelanzahl über MAX_VOXELS (1 << 27) / cutoff nicht positiv, nicht endlich oder so klein, dass seine 2. Potenz unterläuft / spacing nicht der Länge 3 oder nicht positiv.
Achtung: Die FFT betrachtet das Volume als periodisch. Bei großem Leuchtdichteunterschied gegenüberliegender Flächen leckt es über den Wrap (es wird nicht stillschweigend gefenstert). vol_fft_highpass ist exakt dessen Komplement 1 - lowpass, und die Summe beider ergibt die Eingabe.
• 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.
• deconv_fft_restore — py -3.11 examples_3d/deconv_fft_restore.py
voxel als Eingabe)voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa
frequency)vol_fft_highpass · vol_fft_bandpass
*Provenance: volfreq.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.