Loading...
Searching...
No Matches
casacore::LatticeFFT Class Reference
lattices package (libcasa_lattices) » LatticeMath_module

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 64 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 171 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 163 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 157 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 151 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 293 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 275 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 255 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 302 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 284 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 265 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 246 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 209 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 237 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 199 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 228 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 189 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 219 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 179 of file LatticeFFT.h.

References ThrowCc.

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

- lattices/LatticeMath/LatticeFFT.h