casacore
Loading...
Searching...
No Matches
casacore::LatticeFFT Class Reference

More...

#include <LatticeFFT.h>

Public Member Functions

template<>
void cfft2d (Lattice< Float > &, const Bool)
 implement template specializations to throw exceptions in the relevant cases.
template<>
void cfft2d (Lattice< Double > &, const Bool)
template<>
void cfft (Lattice< Float > &, const Vector< Bool > &, const Bool)
template<>
void cfft (Lattice< Double > &, const Vector< Bool > &, const Bool)
template<>
void rcfft (Lattice< Float > &, const Lattice< Complex > &, const Vector< Bool > &, const Bool, Bool)
template<>
void rcfft (Lattice< Double > &, const Lattice< DComplex > &, const Vector< Bool > &, const Bool, Bool)
template<>
void myrcfft (Lattice< Float > &, const Lattice< Complex > &, const Vector< Bool > &, const Bool)
template<>
void myrcfft (Lattice< Double > &, const Lattice< DComplex > &, const Vector< Bool > &, const Bool)
template<>
void rcfft (Lattice< Float > &, const Lattice< Complex > &, const Bool, Bool)
template<>
void rcfft (Lattice< Double > &, const Lattice< DComplex > &, const Bool, Bool)
template<>
void myrcfft (Lattice< Float > &, const Lattice< Complex > &, const Bool)
template<>
void myrcfft (Lattice< Double > &, const Lattice< DComplex > &, const Bool)
template<>
void crfft (Lattice< Complex > &, Lattice< Float > &, const Vector< Bool > &, const Bool, Bool)
template<>
void crfft (Lattice< DComplex > &, Lattice< Double > &, const Vector< Bool > &, const Bool, Bool)
template<>
void crfft (Lattice< Complex > &, Lattice< Float > &, const Bool, Bool)
template<>
void crfft (Lattice< DComplex > &, Lattice< Double > &, const Bool, Bool)
template<>
void crfft (Lattice< Complex > &, const Lattice< Float > &, const Bool, Bool)
template<>
void crfft (Lattice< DComplex > &, const Lattice< Double > &, const Bool, Bool)

Static Public Member Functions

template<class ComplexType>
static void cfft2d (Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
 2-D in-place complex->complex FFT.
template<class ComplexType>
static void cfft (Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
 N-D in-place complex->complex FFT.
template<class ComplexType>
static void cfft0 (Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
 Non-folded version.
template<class ComplexType>
static void cfft (Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
 N-D in-place complex->complex FFT.
template<class ComplexType>
static void rcfft (Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True, Bool doFast=False)
 N-D real->complex FFT.
template<class ComplexType>
static void myrcfft (Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True)
template<class ComplexType>
static void rcfft (Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Bool doShift=True, Bool doFast=False)
 N-D real->complex FFT.
template<class ComplexType>
static void myrcfft (Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Bool doShift=True)
template<class ComplexType>
static void crfft (Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, Lattice< ComplexType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True, Bool doFast=False)
 N-D complex->real FFT.
template<class ComplexType>
static void crfft (Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)
template<class ComplexType>
static void crfft (Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, const Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)

Detailed Description

Functions for Fourier transforming Lattices

Etymology

Synopsis

Example

Motivation

Definition at line 65 of file LatticeFFT.h.

Member Function Documentation

◆ cfft() [1/4]

template<class ComplexType>
void casacore::LatticeFFT::cfft ( Lattice< ComplexType > & cLattice,
const Bool toFrequency = True )
static

N-D in-place complex->complex FFT.

Transform over all axes.

References casacore::True.

◆ cfft() [2/4]

template<class ComplexType>
void casacore::LatticeFFT::cfft ( Lattice< ComplexType > & cLattice,
const Vector< Bool > & whichAxes,
const Bool toFrequency = True )
static

N-D in-place complex->complex FFT.

Only transform over selected dimensions. Iterate over the others. whichAxes must be the same length as the number of dimensions in the Lattice otherwise an AipsError is thrown.

References casacore::True.

◆ cfft() [3/4]

template<>
void casacore::LatticeFFT::cfft ( Lattice< Double > & ,
const Vector< Bool > & ,
const Bool  )
inline

Definition at line 157 of file LatticeFFT.h.

References ThrowCc.

◆ cfft() [4/4]

template<>
void casacore::LatticeFFT::cfft ( Lattice< Float > & ,
const Vector< Bool > & ,
const Bool  )
inline

Definition at line 152 of file LatticeFFT.h.

References ThrowCc.

◆ cfft0()

template<class ComplexType>
void casacore::LatticeFFT::cfft0 ( Lattice< ComplexType > & cLattice,
const Vector< Bool > & whichAxes,
const Bool toFrequency = True )
static

Non-folded version.

References casacore::True.

◆ cfft2d() [1/3]

template<class ComplexType>
void casacore::LatticeFFT::cfft2d ( Lattice< ComplexType > & cLattice,
const Bool toFrequency = True )
static

2-D in-place complex->complex FFT.

Transforms over the first two dimensions and iterates over all the others. The Lattice must have two or more dimensions otherwise an AipsError is thrown.

References casacore::True.

◆ cfft2d() [2/3]

template<>
void casacore::LatticeFFT::cfft2d ( Lattice< Double > & ,
const Bool  )
inline

Definition at line 147 of file LatticeFFT.h.

References ThrowCc.

◆ cfft2d() [3/3]

template<>
void casacore::LatticeFFT::cfft2d ( Lattice< Float > & ,
const Bool  )
inline

implement template specializations to throw exceptions in the relevant cases.

Definition at line 142 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [1/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< Complex > & ,
const Lattice< Float > & ,
const Bool ,
Bool  )
inline

Definition at line 252 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [2/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< Complex > & ,
Lattice< Float > & ,
const Bool ,
Bool  )
inline

Definition at line 238 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [3/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< Complex > & ,
Lattice< Float > & ,
const Vector< Bool > & ,
const Bool ,
Bool  )
inline

Definition at line 222 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [4/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< DComplex > & ,
const Lattice< Double > & ,
const Bool ,
Bool  )
inline

Definition at line 259 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [5/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< DComplex > & ,
Lattice< Double > & ,
const Bool ,
Bool  )
inline

Definition at line 245 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [6/9]

template<>
void casacore::LatticeFFT::crfft ( Lattice< DComplex > & ,
Lattice< Double > & ,
const Vector< Bool > & ,
const Bool ,
Bool  )
inline

Definition at line 230 of file LatticeFFT.h.

References ThrowCc.

◆ crfft() [7/9]

template<class ComplexType>
void casacore::LatticeFFT::crfft ( Lattice< typename NumericTraits< ComplexType >::ConjugateType > & out,
const Lattice< ComplexType > & in,
const Bool doShift = True,
Bool doFast = False )
static

References casacore::False, and casacore::True.

◆ crfft() [8/9]

template<class ComplexType>
void casacore::LatticeFFT::crfft ( Lattice< typename NumericTraits< ComplexType >::ConjugateType > & out,
Lattice< ComplexType > & in,
const Bool doShift = True,
Bool doFast = False )
static

References casacore::False, and casacore::True.

◆ crfft() [9/9]

template<class ComplexType>
void casacore::LatticeFFT::crfft ( Lattice< typename NumericTraits< ComplexType >::ConjugateType > & out,
Lattice< ComplexType > & in,
const Vector< Bool > & whichAxes,
const Bool doShift = True,
Bool doFast = False )
static

N-D complex->real FFT.

Only one half of the Hermition input is required. If whichAxis is specified Transforms are only done on selected dimensions otherwise they are done on all axes. The origin of the transform is the center of the Lattice ie., [nx/2,ny/2,...] if doShift is True, otherwise it is the first element ie., [0,0,...]

These functions will scramble the input Lattice unless the versions with const inputs are used. The const input versions are less efficient as they create a temporary Lattice and copy the input data into it.

References casacore::False, and casacore::True.

◆ myrcfft() [1/6]

template<class ComplexType>
void casacore::LatticeFFT::myrcfft ( Lattice< ComplexType > & out,
const Lattice< typename NumericTraits< ComplexType >::ConjugateType > & in,
const Bool doShift = True )
static

References casacore::True.

◆ myrcfft() [2/6]

template<class ComplexType>
void casacore::LatticeFFT::myrcfft ( Lattice< ComplexType > & out,
const Lattice< typename NumericTraits< ComplexType >::ConjugateType > & in,
const Vector< Bool > & whichAxes,
const Bool doShift = True )
static

References casacore::True.

◆ myrcfft() [3/6]

template<>
void casacore::LatticeFFT::myrcfft ( Lattice< Double > & ,
const Lattice< DComplex > & ,
const Bool  )
inline

Definition at line 215 of file LatticeFFT.h.

References ThrowCc.

◆ myrcfft() [4/6]

template<>
void casacore::LatticeFFT::myrcfft ( Lattice< Double > & ,
const Lattice< DComplex > & ,
const Vector< Bool > & ,
const Bool  )
inline

Definition at line 186 of file LatticeFFT.h.

References ThrowCc.

◆ myrcfft() [5/6]

template<>
void casacore::LatticeFFT::myrcfft ( Lattice< Float > & ,
const Lattice< Complex > & ,
const Bool  )
inline

Definition at line 208 of file LatticeFFT.h.

References ThrowCc.

◆ myrcfft() [6/6]

template<>
void casacore::LatticeFFT::myrcfft ( Lattice< Float > & ,
const Lattice< Complex > & ,
const Vector< Bool > & ,
const Bool  )
inline

Definition at line 178 of file LatticeFFT.h.

References ThrowCc.

◆ rcfft() [1/6]

template<class ComplexType>
void casacore::LatticeFFT::rcfft ( Lattice< ComplexType > & out,
const Lattice< typename NumericTraits< ComplexType >::ConjugateType > & in,
const Bool doShift = True,
Bool doFast = False )
static

N-D real->complex FFT.

Only one half of the Hermition result is returned. Transform over all dimensions. The origin of the transform is the center of the Lattice ie., [nx/2,ny/2,...] if doShift is True. Otherwise it is the first element ie., [0,0,...]

References casacore::False, and casacore::True.

◆ rcfft() [2/6]

template<class ComplexType>
void casacore::LatticeFFT::rcfft ( Lattice< ComplexType > & out,
const Lattice< typename NumericTraits< ComplexType >::ConjugateType > & in,
const Vector< Bool > & whichAxes,
const Bool doShift = True,
Bool doFast = False )
static

N-D real->complex FFT.

Only one half of the Hermition result is returned. Transforms are only done on selected dimensions. The origin of the transform is the center of the Lattice ie., [nx/2,ny/2,...] if doShift is True. Otherwise it is the first element ie., [0,0,...]

References casacore::False, and casacore::True.

◆ rcfft() [3/6]

template<>
void casacore::LatticeFFT::rcfft ( Lattice< Double > & ,
const Lattice< DComplex > & ,
const Bool ,
Bool  )
inline

Definition at line 201 of file LatticeFFT.h.

References ThrowCc.

◆ rcfft() [4/6]

template<>
void casacore::LatticeFFT::rcfft ( Lattice< Double > & ,
const Lattice< DComplex > & ,
const Vector< Bool > & ,
const Bool ,
Bool  )
inline

Definition at line 170 of file LatticeFFT.h.

References ThrowCc.

◆ rcfft() [5/6]

template<>
void casacore::LatticeFFT::rcfft ( Lattice< Float > & ,
const Lattice< Complex > & ,
const Bool ,
Bool  )
inline

Definition at line 194 of file LatticeFFT.h.

References ThrowCc.

◆ rcfft() [6/6]

template<>
void casacore::LatticeFFT::rcfft ( Lattice< Float > & ,
const Lattice< Complex > & ,
const Vector< Bool > & ,
const Bool ,
Bool  )
inline

Definition at line 162 of file LatticeFFT.h.

References ThrowCc.


The documentation for this class was generated from the following file: