Skip to content

i.fft

Fast Fourier Transform (FFT) for image processing.

i.fft input=name real=name imaginary=name [--overwrite] [--verbose] [--quiet] [--qq] [--ui]

Example:

i.fft input=name real=name imaginary=name

grass.script.run_command("i.fft", input, real, imaginary, overwrite=False, verbose=False, quiet=False, superquiet=False)

Example:

gs.run_command("i.fft", input="name", real="name", imaginary="name")

Parameters

input=name [required]
    Name of input raster map
real=name [required]
    Name for output real part arrays stored as raster map
imaginary=name [required]
    Name for output imaginary part arrays stored as raster map
--overwrite
    Allow output files to overwrite existing files
--help
    Print usage summary
--verbose
    Verbose module output
--quiet
    Quiet module output
--qq
    Very quiet module output
--ui
    Force launching GUI dialog

input : str, required
    Name of input raster map
    Used as: input, raster, name
real : str, required
    Name for output real part arrays stored as raster map
    Used as: output, raster, name
imaginary : str, required
    Name for output imaginary part arrays stored as raster map
    Used as: output, raster, name
overwrite: bool, optional
    Allow output files to overwrite existing files
    Default: False
verbose: bool, optional
    Verbose module output
    Default: False
quiet: bool, optional
    Quiet module output
    Default: False
superquiet: bool, optional
    Very quiet module output
    Default: False

DESCRIPTION

i.fft is an image processing program based on the FFT algorithm given by Frigo et al. (1998), that processes a single input raster map layer (input) and constructs the real and imaginary Fourier components in frequency space.

NOTES

The real and imaginary components are stored into the real and imaginary raster map layers. In these raster map layers the low frequency components are in the center and the high frequency components are toward the edges. The input need not be square. A color table is assigned to the resultant map layer.

The current geographic region and mask settings are respected when reading the input file. The presence of nulls or a mask will make the resulting fast Fourier transform invalid.

EXAMPLE

North Carolina example:

g.region raster=lsat7_2002_70
i.fft input=lsat7_2002_70 real=lsat7_2002_70.real imaginary=lsat7_2002_70.imag

# set region to resulting FFT output map (due to new FFT coordinate space):
g.region raster=lsat7_2002_70.real -p
d.mon x0
d.rast lsat7_2002_70.real
d.rast lsat7_2002_70.imag

REFERENCES

  • M. Frigo and S. G. Johnson (1998): "FFTW: An Adaptive Software Architecture for the FFT". See www.FFTW.org: FFTW is a C subroutine library for computing the Discrete Fourier Transform (DFT) in one or more dimensions, of both real and complex data, and of arbitrary input size.
  • John A. Richards, 1986. Remote Sensing Digital Image Analysis, Springer-Verlag.
  • Personal communication, between program author and Ali R. Vali, Space Research Center, University of Texas, Austin, 1990.

SEE ALSO

i.cca, g.gui.iclass, i.ifft, i.pca

AUTHORS

David Satnik, GIS Laboratory, Central Washington University
Glynn Clements (FFTW support)

SOURCE CODE

Available at: i.fft source code (history)
Latest change: Friday Feb 07 19:16:09 2025 in commit a82a39f