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

## NAME

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

imagery, FFT
## SYNOPSIS

**i.fft**

**i.fft help**

**i.fft** **input_image**=*name* **real_image**=*name* **imaginary_image**=*name* [**range**=*integer*] [--**overwrite**] [--**verbose**] [--**quiet**]
### Flags:

**--overwrite**
- Allow output files to overwrite existing files
**--verbose**
- Verbose module output
**--quiet**
- Quiet module output

### Parameters:

**input_image**=*name*
- Name of input raster map
**real_image**=*name*
- Name for output real part arrays stored as raster map
**imaginary_image**=*name*
- Name for output imaginary part arrays stored as raster map
**range**=*integer*
- Range of values in output display files
- Default:
*255*

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

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.

## EXAMPLE

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

## SEE ALSO

- 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 progam author and Ali R. Vali,
Space Research Center, University of Texas, Austin, 1990.

*i.cca*

*i.class*

*i.ifft*

*i.pca*

## AUTHOR

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