GRASS logo

Note: A new GRASS GIS stable version has been released: GRASS GIS 7. Go directly to the new manual page here


i.fft - Fast Fourier Transform (FFT) for image processing.


imagery, FFT


i.fft help
i.fft input_image=name real_image=name imaginary_image=name [range=integer] [--overwrite] [--verbose] [--quiet]


Allow output files to overwrite existing files
Verbose module output
Quiet module output


Name of input raster map
Name for output real part arrays stored as raster map
Name for output imaginary part arrays stored as raster map
Range of values in output display files
Default: 255


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_image) and constructs the real and imaginary Fourier components in frequency space.


The real and imaginary components are stored as arrays of doubles in the cell_misc directory (for use in the inverse transform program, i.ifft), and are also scaled and formatted into the real_image and imaginary_image raster map layers for inspection, masking, etc. In these raster map layers the low frequency components are in the center and the high frequency components are toward the edges. The input_image need not be square; before processing, the X and Y dimensions of the input_image are padded with zeroes to the next highest power of two in extent (i.e., 256 x 256 is processed at that size, but 200 x 400 is padded to 256 x 512). The cell category values for viewing, etc., are calculated by taking the natural log of the actual values then rescaling to 255, or whatever optional range is given on the command line, as suggested by Richards (1986). 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 a mask will, in general, make the resulting fast Fourier transform invalid, or at least difficult to interpret.


North Carolina example:
g.region rast=lsat7_2002_70
i.fft input_image=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 rast=lsat7_2002_70.real -p
d.mon x0
d.rast lsat7_2002_70.real
d.rast lsat7_2002_70.imag


Personal communication, between progam author and Ali R. Vali, Space Research Center, University of Texas, Austin, 1990.



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

Last changed: $Date: 2011-11-08 03:29:50 -0800 (Tue, 08 Nov 2011) $

Main index - imagery index - Full index

© 2003-2016 GRASS Development Team