Main Page   Groups   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Concepts

vnl_fft.h

Go to the documentation of this file.
00001 #ifndef vnl_fft_h_
00002 #define vnl_fft_h_
00003 /*
00004   fsm@robots.ox.ac.uk
00005 */
00006 
00007 #include <vcl_compiler.h>
00008 
00009 //: use C++ overloading to find the correct FORTRAN routine from templated FFT code.
00010 
00011 void vnl_fft_setgpfa(float  *triggs, int size, int const pqr[3], int *info);
00012 void vnl_fft_setgpfa(double *triggs, int size, int const pqr[3], int *info);
00013 
00014 
00015 //        CALL GPFA(A,B,TRIGS,INC,JUMP,N,LOT,ISIGN,NIPQ,INFO)
00016 //
00017 //        A IS FIRST REAL INPUT/OUTPUT VECTOR
00018 //        B IS FIRST IMAGINARY INPUT/OUTPUT VECTOR
00019 //        TRIGS IS A TABLE OF TWIDDLE FACTORS, PRECALCULATED
00020 //              BY CALLING SUBROUTINE 'SETGPFA'
00021 //        INC IS THE INCREMENT WITHIN EACH DATA VECTOR
00022 //        JUMP IS THE INCREMENT BETWEEN DATA VECTORS
00023 //        N IS THE LENGTH OF THE TRANSFORMS:
00024 //          -----------------------------------
00025 //            N = (2**IP) * (3**IQ) * (5**IR)
00026 //          -----------------------------------
00027 //        LOT IS THE NUMBER OF TRANSFORMS
00028 //        ISIGN = +1 FOR FORWARD TRANSFORM
00029 //              = -1 FOR INVERSE TRANSFORM
00030 //     NIPQ is an array containing the number of factors (for
00031 //     power of 2,3 and 5
00032 //     INFO is set to -1 if there is a problem, 0 otherwise
00033 
00034 // These functions perform a number (LOT) of 1D FFTs, each of the same signal size (N).
00035 // The signal is stored in two real arrays (A, B), with consecutive elements separated
00036 // by a stride (INC). The separation between the LOT signals to be transformed is JUMP.
00037 void vnl_fft_gpfa(float  *a, float  *b, float const  *triggs,
00038                   int inc, int jump, int n,
00039                   int lot, int isign, int const pqr[3], int *info);
00040 void vnl_fft_gpfa(double *a, double *b, double const *triggs,
00041                   int inc, int jump, int n,
00042                   int lot, int isign, int const pqr[3], int *info);
00043 
00044 #endif

Generated at Fri May 21 01:15:47 2004 for ITK by doxygen 1.2.15 written by Dimitri van Heesch, © 1997-2000