mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
|
Methods for calculating the Fourier Transform. More...
Methods for calculating the Fourier Transform.
Modules | |
Fast Fourier Transforms | |
The Fast Fourier Transform interface. | |
Matrix Fourier Transforms | |
The Matrix Fouriter Transform interface. | |
Fourier Transform Files | |
Enumerations | |
enum class | mx::math::ft::dir { dir::forward , dir::backward } |
Directions of the Fourier Transform. More... | |
Functions | |
template<class eigenArrOutT , class eigenArrInT > | |
void | mx::math::ft::padR2CFFTOutput (eigenArrOutT &aout, eigenArrInT &ain) |
Add padding to the output of a real-to-complex (R2C) FFT. | |
template<class eigenArrOutT , class eigenArrInT > | |
void | mx::math::ft::padC2CFFTOutput (eigenArrOutT &aout, eigenArrInT &ain) |
Add padding to the output of a complex-to-complex (C2C) FFT. | |
template<class eigenArrOutT , class eigenArrInT > | |
void | mx::math::ft::augmentR2CFFTOutput (eigenArrOutT &aout, eigenArrInT &ain) |
|
strong |
Directions of the Fourier Transform.
Enumerator | |
---|---|
forward | Specifies the forward transform. |
backward | Specifies the backward transform. |
Definition at line 41 of file ftTypes.hpp.
void mx::math::ft::augmentR2CFFTOutput | ( | eigenArrOutT & | aout, |
eigenArrInT & | ain | ||
) |
Augment and pad the output of a real-to-complex (R2C) forward FFT for use with a complex-to-complex (C2C) inverse FFT The output array should be pre-sized according to:
* aout.row() == 2*(ain.rows()-1) + padRows * aout.cols() == ain.cols() + padCols *
where padRows and padCols can be 0. aout
will be in FFT order and suitable for input to the inverse transform (complex-to-complex).
Definition at line 105 of file ftUtils.hpp.
References mx::math::six_fifths().
Referenced by mx::improc::imageXCorrFFT< _realImageT >::findPeak().
void mx::math::ft::padC2CFFTOutput | ( | eigenArrOutT & | aout, |
eigenArrInT & | ain | ||
) |
Add padding to the output of a complex-to-complex (C2C) FFT.
The output array should be pre-sized according to:
* aout.row() == ain.rows() + padRows * aout.cols() == ain.cols() + padCols *
where padRows
and `padCols are the desired amount of padding. aout
will be in FFT order and suitable for input to the inverse transform (complex-to-complex).
[out] | aout | The padded array. Must be pre-allocated. The pad region will not be set to zero. Size of the pad is determined by the difference in size between aout and ain |
[in] | ain | The array to be paddded, in complex-to-complex FFTW storage order. |
Definition at line 74 of file ftUtils.hpp.
References mx::math::six_fifths().
Referenced by mx::improc::imageXCorrFFT< _realImageT >::operator()().
void mx::math::ft::padR2CFFTOutput | ( | eigenArrOutT & | aout, |
eigenArrInT & | ain | ||
) |
Add padding to the output of a real-to-complex (R2C) FFT.
The output array should be pre-sized according to:
* aout.cols() == ain.cols() + padCols * aout.rows() == ain.rows() + padRows *
where padRows
and `padCols are the desired amount of padding. aout
will be in FFT order and suitable for input to the inverse transform (complext-to-real).
[out] | aout | The padded array. Must be pre-allocated. The pad region will not be set to zero. Size of the pad is determined by the difference in size between aout and ain |
[in] | ain | The array to be paddded, in real-to-complex FFTW storage order. |
Definition at line 50 of file ftUtils.hpp.
References mx::math::six_fifths().
Referenced by mx::improc::imageXCorrFFT< _realImageT >::operator()().