26#ifndef LATTICES_LATTICEFFT_H
27#define LATTICES_LATTICEFFT_H
29#include <casacore/casa/aips.h>
30#include <casacore/casa/BasicSL/Complex.h>
31#include <casacore/casa/Exceptions/Error.h>
32#include <casacore/scimath/Mathematics/NumericTraits.h>
33#include <casacore/casa/Arrays/ArrayFwd.h>
70 template <
class ComplexType>
76 template <
class ComplexType>
81 template <
class ComplexType>
86 template <
class ComplexType>
93 template <
class ComplexType>
98 template <
class ComplexType>
107 template <
class ComplexType>
111 template <
class ComplexType>
126 template <
class ComplexType>
130 template <
class ComplexType>
133 template <
class ComplexType>
143 ThrowCc(
String(__func__) +
": This method does not support real-valued lattices");
148 ThrowCc(
String(__func__) +
": This method does not support real-valued lattices");
153 ThrowCc(
String(__func__) +
": This method does not support real-valued lattices");
158 ThrowCc(
String(__func__) +
": This method does not support real-valued lattices");
165 ": This is the real -> complex version, you've "
166 "called it with the wrong parameters");
173 ": This is the real -> complex version, you've "
174 "called it with the wrong parameters");
181 ": This is the real -> complex version, you've "
182 "called it with the wrong parameters");
189 ": This is the real -> complex version, you've "
190 "called it with the wrong parameters");
196 ": This is the real -> complex version, you've "
197 "called it with the wrong parameters");
203 ": This is the real -> complex version, you've "
204 "called it with the wrong parameters");
210 ": This is the real -> complex version, you've "
211 "called it with the wrong parameters");
217 ": This is the real -> complex version, you've "
218 "called it with the wrong parameters");
225 ": This is the complex -> real version, you've "
226 "called it with the wrong parameters");
233 ": This is the complex -> real version, you've "
234 "called it with the wrong parameters");
240 ": This is the complex -> real version, you've "
241 "called it with the wrong parameters");
247 ": This is the complex -> real version, you've "
248 "called it with the wrong parameters");
254 ": This is the complex -> real version, you've "
255 "called it with the wrong parameters");
261 ": This is the complex -> real version, you've "
262 "called it with the wrong parameters");
266#ifndef CASACORE_NO_AUTO_TEMPLATES
267#include "LatticeFFT.tcc"
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.
static void cfft(Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
N-D in-place complex->complex FFT.
static void myrcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True)
static void cfft0(Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
Non-folded version.
static void crfft(Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)
static void cfft(Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
N-D in-place complex->complex FFT.
static void crfft(Lattice< typename NumericTraits< ComplexType >::ConjugateType > &out, const Lattice< ComplexType > &in, const Bool doShift=True, Bool doFast=False)
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.
static void cfft2d(Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
2-D in-place complex->complex FFT.
static void myrcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Bool doShift=True)
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.
Char ConjugateType
Conjugate (real<->complex) type.
String: the storage and methods of handling collections of characters.
For temporary backward namespace compatibility, use casa as alias for casacore.
bool Bool
Define the standard types used by Casacore.