00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef mrpt_math_fourier_H
00029 #define mrpt_math_fourier_H
00030
00031 #include <mrpt/utils/utils_defs.h>
00032 #include <mrpt/math/CMatrixTemplateNumeric.h>
00033 #include <mrpt/math/CVectorTemplate.h>
00034
00035
00036
00037
00038 namespace mrpt
00039 {
00040 namespace math
00041 {
00045 void MRPTDLLIMPEXP fft_real( vector_float &in_realData,
00046 vector_float &out_FFT_Re,
00047 vector_float &out_FFT_Im,
00048 vector_float &out_FFT_Mag );
00049
00057 void MRPTDLLIMPEXP dft2_real(
00058 const CMatrixFloat &in_data,
00059 CMatrixFloat &out_real,
00060 CMatrixFloat &out_imag );
00061
00071 void MRPTDLLIMPEXP idft2_real(
00072 const CMatrixFloat &in_real,
00073 const CMatrixFloat &in_imag,
00074 CMatrixFloat &out_data );
00075
00084 void MRPTDLLIMPEXP dft2_complex(
00085 const CMatrixFloat &in_real,
00086 const CMatrixFloat &in_imag,
00087 CMatrixFloat &out_real,
00088 CMatrixFloat &out_imag);
00089
00098 void MRPTDLLIMPEXP idft2_complex(
00099 const CMatrixFloat &in_real,
00100 const CMatrixFloat &in_imag,
00101 CMatrixFloat &out_real,
00102 CMatrixFloat &out_imag );
00103
00104
00107 void MRPTDLLIMPEXP cross_correlation_FFT(
00108 const CMatrixFloat &A,
00109 const CMatrixFloat &B,
00110 CMatrixFloat &out_corr );
00111
00112 }
00113
00114 }
00115
00116 #endif