KPG1_FFTFx

Takes the forward FFT of a real image

Description:

The Fourier transform of the input (purely real) image is taken and returned in OUT. The returned FT is stored in Hermitian format, in which the real and imaginary parts of the FT are combined into a single array. The FT can be inverted using KPG1_FFTBx, and two Hermitian FTs can be multipled together using routine KPG1_HMLTx.

Invocation

CALL KPG1_FFTFx( M, N, IN, WORK, OUT, STATUS )

Arguments

M = INTEGER (Given)
Number of columns in the input image.
N = INTEGER (Given)
Number of rows in the input image.
IN( M, N ) = ? (Given)
The input image.
WORK( ) = ? (Given)
Work space. This must be at least ( 3MAX( M, N ) + 15 ) elements long.
OUT( M, N ) = ? (Returned)
The FFT in Hermitian form. Note, the same array can be used for both input and output, in which case the supplied values will be over-written.
STATUS = INTEGER (Given and Returned)
The global status.

Notes:

Implementation Status:

Some of the generated code looks a bit odd because the names of the PDA subroutines do not match the standard type naming conventions required by GENERIC. Explicit IF statements are included but since these compare constants (after generic is run) the compiler will optimize the checks out of the final runtime. The real fix is to fix the names of the PDA routines (and associated KPG routine).