vol_fft_lowpass — 3D 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"))

Verwendung

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.

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)

• deconv_fft_restore — py -3.11 examples_3d/deconv_fft_restore.py

Typkompatible Folge-Operatoren (nehmen voxel als Eingabe)

voxel_to_mips · voxel_to_mesh · signed_distance_field · to_points · sobel3d · hessian3d · curvature_maps · edt_jfa

Gleiche Kategorie (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.