29 #ifndef LATTICES_LATTICEFFT_H 30 #define LATTICES_LATTICEFFT_H 32 #include <casacore/casa/aips.h> 33 #include <casacore/casa/BasicSL/Complex.h> 34 #include <casacore/casa/Exceptions/Error.h> 35 #include <casacore/scimath/Mathematics/NumericTraits.h> 39 template <
class T>
class Vector;
40 template <
class T>
class Lattice;
74 template <
class ComplexType>
static void cfft2d(
89 template <
class ComplexType>
static void cfft(
97 template <
class ComplexType>
static void rcfft(
104 template <
class ComplexType>
static void myrcfft(
114 template <
class ComplexType>
static void rcfft(
119 template <
class ComplexType>
static void myrcfft(
135 template <
class ComplexType>
static void crfft(
140 template <
class ComplexType>
static void crfft(
144 template <
class ComplexType>
static void crfft(
156 String(__func__) +
": This method does not support real-valued lattices" 162 String(__func__) +
": This method does not support real-valued lattices" 170 String(__func__) +
": This method does not support real-valued lattices" 178 String(__func__) +
": This method does not support real-valued lattices" 187 String(__func__) +
": This is the real -> complex version, you've " 188 "called it with the wrong parameters" 197 String(__func__) +
": This is the real -> complex version, you've " 198 "called it with the wrong parameters" 207 String(__func__) +
": This is the real -> complex version, you've " 208 "called it with the wrong parameters" 217 String(__func__) +
": This is the real -> complex version, you've " 218 "called it with the wrong parameters" 226 String(__func__) +
": This is the real -> complex version, you've " 227 "called it with the wrong parameters" 235 String(__func__) +
": This is the real -> complex version, you've " 236 "called it with the wrong parameters" 244 String(__func__) +
": This is the real -> complex version, you've " 245 "called it with the wrong parameters" 253 String(__func__) +
": This is the real -> complex version, you've " 254 "called it with the wrong parameters" 263 String(__func__) +
": This is the complex -> real version, you've " 264 "called it with the wrong parameters" 273 String(__func__) +
": This is the complex -> real version, you've " 274 "called it with the wrong parameters" 282 String(__func__) +
": This is the complex -> real version, you've " 283 "called it with the wrong parameters" 291 String(__func__) +
": This is the complex -> real version, you've " 292 "called it with the wrong parameters" 300 String(__func__) +
": This is the complex -> real version, you've " 301 "called it with the wrong parameters" 309 String(__func__) +
": This is the complex -> real version, you've " 310 "called it with the wrong parameters" 315 #ifndef CASACORE_NO_AUTO_TEMPLATES 316 #include "LatticeFFT.tcc" 317 #endif //# CASACORE_NO_AUTO_TEMPLATES
static void myrcfft(Lattice< ComplexType > &out, const Lattice< typename NumericTraits< ComplexType >::ConjugateType > &in, const Vector< Bool > &whichAxes, const Bool doShift=True)
Char ConjugateType
Conjugate (real<->complex) type.
static void cfft(Lattice< ComplexType > &cLattice, const Vector< Bool > &whichAxes, const Bool toFrequency=True)
N-D in-place complex->complex FFT.
A templated, abstract base class for array-like objects.
bool Bool
Define the standard types used by Casacore.
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 Vector< Bool > &whichAxes, const Bool doShift=True, Bool doFast=False)
N-D complex->real FFT.
String: the storage and methods of handling collections of characters.
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.
Functions for Fourier transforming Lattices.
static void cfft2d(Lattice< ComplexType > &cLattice, const Bool toFrequency=True)
2-D in-place complex->complex FFT.
this file contains all the compiler specific defines