Functions | |
void | mrpt::math::fft_real (CVectorFloat &in_realData, CVectorFloat &out_FFT_Re, CVectorFloat &out_FFT_Im, CVectorFloat &out_FFT_Mag) |
Computes the FFT of a 2^N-size vector of real numbers, and returns the Re+Im+Magnitude parts. More... | |
void | mrpt::math::dft2_real (const CMatrixFloat &in_data, CMatrixFloat &out_real, CMatrixFloat &out_imag) |
Compute the 2D Discrete Fourier Transform (DFT) of a real matrix, returning the real and imaginary parts separately. More... | |
void | mrpt::math::idft2_real (const CMatrixFloat &in_real, const CMatrixFloat &in_imag, CMatrixFloat &out_data) |
Compute the 2D inverse Discrete Fourier Transform (DFT) More... | |
void | mrpt::math::dft2_complex (const CMatrixFloat &in_real, const CMatrixFloat &in_imag, CMatrixFloat &out_real, CMatrixFloat &out_imag) |
Compute the 2D Discrete Fourier Transform (DFT) of a complex matrix, returning the real and imaginary parts separately. More... | |
void | mrpt::math::idft2_complex (const CMatrixFloat &in_real, const CMatrixFloat &in_imag, CMatrixFloat &out_real, CMatrixFloat &out_imag) |
Compute the 2D inverse Discrete Fourier Transform (DFT). More... | |
void | mrpt::math::cross_correlation_FFT (const CMatrixFloat &A, const CMatrixFloat &B, CMatrixFloat &out_corr) |
Correlation of two matrixes using 2D FFT. More... | |
void mrpt::mrpt::math::cross_correlation_FFT | ( | const CMatrixFloat & | A, |
const CMatrixFloat & | B, | ||
CMatrixFloat & | out_corr | ||
) |
Correlation of two matrixes using 2D FFT.
Definition at line 1925 of file math.cpp.
References ASSERT_, mrpt::math::dft2_complex(), mrpt::math::idft2_complex(), MRPT_END, MRPT_START, mrpt::math::round2up(), mrpt::math::square(), and THROW_EXCEPTION.
void mrpt::math::dft2_complex | ( | const CMatrixFloat & | in_real, |
const CMatrixFloat & | in_imag, | ||
CMatrixFloat & | out_real, | ||
CMatrixFloat & | out_imag | ||
) |
Compute the 2D Discrete Fourier Transform (DFT) of a complex matrix, returning the real and imaginary parts separately.
in_real | The N_1xN_2 matrix with the real part. |
in_imag | The N_1xN_2 matrix with the imaginary part. |
out_real | The N_1xN_2 output matrix which will store the real values (user has not to initialize the size of this matrix). |
out_imag | The N_1xN_2 output matrix which will store the imaginary values (user has not to initialize the size of this matrix). If the dimensions of the matrix are powers of two, the fast fourier transform (FFT) is used instead of the general algorithm. |
Definition at line 1476 of file math.cpp.
References ASSERT_, mrpt::math::cdft2d(), MRPT_END, MRPT_START, myGeneralDFT(), and mrpt::math::round2up().
Referenced by mrpt::math::cross_correlation_FFT(), and mrpt::utils::CImage::cross_correlation_FFT().
void mrpt::math::dft2_real | ( | const CMatrixFloat & | in_data, |
CMatrixFloat & | out_real, | ||
CMatrixFloat & | out_imag | ||
) |
Compute the 2D Discrete Fourier Transform (DFT) of a real matrix, returning the real and imaginary parts separately.
in_data | The N_1xN_2 matrix. |
out_real | The N_1xN_2 output matrix which will store the real values (user has not to initialize the size of this matrix). |
out_imag | The N_1xN_2 output matrix which will store the imaginary values (user has not to initialize the size of this matrix). |
Definition at line 1211 of file math.cpp.
References MRPT_END, MRPT_START, and mrpt::math::rdft2d().
void mrpt::math::fft_real | ( | CVectorFloat & | in_realData, |
CVectorFloat & | out_FFT_Re, | ||
CVectorFloat & | out_FFT_Im, | ||
CVectorFloat & | out_FFT_Mag | ||
) |
Computes the FFT of a 2^N-size vector of real numbers, and returns the Re+Im+Magnitude parts.
Definition at line 1036 of file math.cpp.
References mrpt::system::os::memcpy(), MRPT_END, MRPT_START, mrpt::math::realft(), and mrpt::math::square().
void mrpt::math::idft2_complex | ( | const CMatrixFloat & | in_real, |
const CMatrixFloat & | in_imag, | ||
CMatrixFloat & | out_real, | ||
CMatrixFloat & | out_imag | ||
) |
Compute the 2D inverse Discrete Fourier Transform (DFT).
in_real | The N_1xN_2 input matrix with real values, where both dimensions MUST BE powers of 2. |
in_imag | The N_1xN_2 input matrix with imaginary values, where both dimensions MUST BE powers of 2. |
out_real | The N_1xN_2 output matrix for real part (user has not to initialize the size of this matrix). |
out_imag | The N_1xN_2 output matrix for imaginary part (user has not to initialize the size of this matrix). |
Definition at line 1581 of file math.cpp.
References ASSERT_, mrpt::math::cdft2d(), MRPT_END, MRPT_START, myGeneralDFT(), and mrpt::math::round2up().
Referenced by mrpt::math::cross_correlation_FFT(), and mrpt::utils::CImage::cross_correlation_FFT().
void mrpt::math::idft2_real | ( | const CMatrixFloat & | in_real, |
const CMatrixFloat & | in_imag, | ||
CMatrixFloat & | out_data | ||
) |
Compute the 2D inverse Discrete Fourier Transform (DFT)
in_real | The N_1xN_2 input matrix with real values. |
in_imag | The N_1xN_2 input matrix with imaginary values. |
out_data | The N_1xN_2 output matrix (user has not to initialize the size of this matrix). Note that the real and imaginary parts of the FFT will NOT be checked to assure that they represent the transformation of purely real data. If the dimensions of the matrix are powers of two, the fast fourier transform (FFT) is used instead of the general algorithm. |
Definition at line 1314 of file math.cpp.
References ASSERT_, MRPT_END, MRPT_START, mrpt::math::rdft2d(), mrpt::math::round2up(), and THROW_EXCEPTION.
Page generated by Doxygen 1.8.14 for MRPT 1.9.9 Git: ae4571287 Thu Nov 23 00:06:53 2017 +0100 at dom oct 27 23:51:55 CET 2019 |