mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]
Loading...
Searching...
No Matches

Methods for calculating the Fourier Transform. More...

Methods for calculating the Fourier Transform.

Topics

 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)

Enumeration Type Documentation

◆ dir

enum class mx::math::ft::dir
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.

Function Documentation

◆ augmentR2CFFTOutput()

template<class eigenArrOutT, class eigenArrInT>
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.

Referenced by mx::improc::imageXCorrFFT< _realImageT >::findPeak().

◆ padC2CFFTOutput()

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.

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).

Parameters
[out]aoutThe 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]ainThe array to be paddded, in complex-to-complex FFTW storage order.

Definition at line 74 of file ftUtils.hpp.

Referenced by mx::improc::imageXCorrFFT< _realImageT >::operator()().

◆ padR2CFFTOutput()

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.

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).

Parameters
[out]aoutThe 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]ainThe array to be paddded, in real-to-complex FFTW storage order.

Definition at line 50 of file ftUtils.hpp.

Referenced by mx::improc::imageXCorrFFT< _realImageT >::operator()().