Provided by: grass-doc_6.4.3-3_all
i.fft - Fast Fourier Transform (FFT) for image processing.
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
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
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
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) $ Full index © 2003-2013 GRASS Development Team