FFT

Filter an image in the frequency domain using a Fast Fourier Transform.

What it does

FFT filters an image in the frequency domain. The image is transformed into a frequency spectrum, bands of that spectrum are cut, kept or reshaped, and the result is transformed back. Low Pass keeps smooth, low-frequency content and drops fine detail. High Pass keeps edges and texture and drops the smooth content. Band Pass and Band Reject work on the range between a low and a high cutoff. Phase Only rebuilds the image from spectral phase alone, which reads as a strong edge detect. Analyze runs the forward transform only, with no filtering.

Every FFT node drives two outputs at once: the filtered image, and a magnitude-spectrum visualisation showing what the current cutoffs are doing to it.

When to use it

ParameterTypeDefaultWhat it does
content_inRaster——
modeString"Low Pass"Analyze: visualization. Filter modes: frequency filtering. Phase Only: edge detection. One of: Analyze, Low Pass, High Pass, Band Pass, Band Reject, Phase Only.
cutoffNumber0.500Cutoff frequency (0 = DC, 1 = Nyquist). For Band modes this is the lower bound
cutoff_highNumber0.800Upper cutoff frequency for Band Pass / Band Reject modes
falloffString"Butterworth"Transition shape: Sharp = brick-wall, Gaussian = smooth, Butterworth = balanced. One of: Sharp, Gaussian, Butterworth.
falloff_widthNumber0.100Width of the transition band (affects smoothness of cutoff)
db_floorNumber-80Dynamic range floor in dB for magnitude visualization
spatial_strengthField—Spatial field controlling where the effect applies (0=bypass, 1=full)
strengthNumber1Effect strength / wet-dry (0 = no effect, 1 = full). Editable, wirable, keyframable.

Gotchas

Cutoff High affects Band Pass and Band Reject only. In every other mode it stays on the graph with no effect on the result.

Db Floor reshapes the contrast of the spectrum visualisation, controlling how much dim, high-frequency detail becomes visible. It does not change the filtered image.

FFT always drives both content_out and spectrum_out, whichever mode is active. In Analyze mode content_out is not a passthrough of the source: it is the same log-magnitude spectrum view as spectrum_out. Split off content_in before the FFT node to keep the untouched source alongside the spectrum.

Falloff sets how hard the cutoff edge is. Sharp is a brick-wall cut and can ring or ghost on high-contrast images, Gaussian is the smoothest transition, Butterworth sits between them. If a Low Pass or High Pass result looks ringy, switch Falloff to Gaussian or widen Falloff Width before lowering the cutoff further.

Worked example

  1. Add an FFT node and wire an image into Content.

  2. Set Mode to Low Pass and drag Cutoff down to the softness you need, watching spectrum_out as the cutoff ring shrinks toward the centre.

  3. If the result looks ringy, switch Falloff from Sharp to Gaussian, or raise Falloff Width.

  4. Switch Mode to Band Reject and set Cutoff and Cutoff High around a repeating pattern's frequency to suppress that band alone.

See also

Blur · Convolve · effect.edge_detect · Rasters (images)