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

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)
 

Enumeration Type Documentation

◆ dir

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

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

◆ padC2CFFTOutput()

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.

References mx::math::six_fifths().

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

◆ padR2CFFTOutput()

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.

References mx::math::six_fifths().

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