#include <FFT2D.h>
Inheritance diagram for TFFT2D< ComplexTraits >:
Public Types | |
typedef std::complex< typename ComplexTraits::ComplexPrecision > | Complex |
typedef TRegularData2D< std::complex< typename ComplexTraits::ComplexPrecision > > | ComplexVector |
Public Member Functions | |
void | doFFT () throw () |
Perform a single fast fourier transform on the data. | |
void | doiFFT () throw () |
Perform a single inverse fourier transform on the data. | |
bool | translate (const Vector2 &trans_origin) throw () |
Translate the origin in physical space about {trans_origin}, i.e. | |
bool | setPhysStepWidth (double new_width_x, double new_width_y) throw () |
Set the step width in physical space to {new_width_x, new_width_y}. | |
double | getPhysStepWidthX () const throw () |
Returns the step width in physical space in X direction. | |
double | getPhysStepWidthY () const throw () |
Returns the step width in physical space in Y direction. | |
double | getFourierStepWidthX () const throw () |
Returns the step width in fourier space in X direction. | |
double | getFourierStepWidthY () const throw () |
Returns the step width in fourier space in Y direction. | |
double | getPhysSpaceMinX () const throw () |
Returns the minimal position of the grid in physical space in X direction. | |
double | getPhysSpaceMinY () const throw () |
Returns the minimal position of the grid in physical space in Y direction. | |
double | getPhysSpaceMaxX () const throw () |
Returns the maximal position of the grid in physical space in X direction. | |
double | getPhysSpaceMaxY () const throw () |
Returns the maximal position of the grid in physical space in Y direction. | |
double | getFourierSpaceMinX () const throw () |
Returns the minimal position of the grid in fourier space in X direction. | |
double | getFourierSpaceMinY () const throw () |
Returns the minimal position of the grid in fourier space in Y direction. | |
double | getFourierSpaceMaxX () const throw () |
Returns the maximal position of the grid in fourier space in X direction. | |
double | getFourierSpaceMaxY () const throw () |
Returns the maximal position of the grid in fourier space in Y direction. | |
Size | getMaxXIndex () const throw () |
AR: Return the largest grid position for the x direction. | |
Size | getMaxYIndex () const throw () |
AR: Return the largest grid position for the y direction. | |
Size | getNumberOfInverseTransforms () const throw () |
AR: Return the number of inverse transforms that have been carried out using this class. | |
Vector2 | getGridCoordinates (Position position) const throw () |
AR: Returns the grid coordinate corresponding to the position. | |
Complex | getData (const Vector2 &pos) const throw (Exception::OutOfGrid) |
Returns the data at the grid position closest to pos , and automatically includes the correct phase factor and (symmetric) normalization. | |
Complex | getInterpolatedValue (const Vector2 &pos) const throw (Exception::OutOfGrid) |
Returns the data at point pos. | |
void | setData (const Vector2 &pos, Complex val) throw (Exception::OutOfGrid) |
Sets the data point at the grid position closest to pos to the value val , and -- if called in fourier space -- automatically includes the correct phase factor and (symmetric) normalization. | |
Complex & | operator[] (const Vector2 &pos) throw (Exception::OutOfGrid) |
Access the data at the grid position closest to pos . | |
const Complex & | operator[] (const Vector2 &pos) const throw (Exception::OutOfGrid) |
Access the data at the grid position closest to pos . | |
Complex & | operator[] (const Position &pos) throw (Exception::OutOfGrid) |
AR: Access the (raw) data at Position pos. | |
const Complex & | operator[] (const Position &pos) const throw (Exception::OutOfGrid) |
AR: Access the (raw) data at Position pos. | |
void | setNumberOfFFTTransforms (Size num) |
void | setNumberOfiFFTTransforms (Size num) |
Complex | phase (const Vector2 &pos) const throw () |
This computes the phase factor in fourier space that results if the origin of the coordinate system in physical space is not in the "lower left corner". | |
bool | isInFourierSpace () const throw () |
AR: Returns true if the data is considered to be in Fourier space, false otherwise. | |
Constructors and Destructors | |
throw () | |
Default constructor. | |
throw () | |
Copy constructor. | |
TFFT2D (Size ldnX, Size ldnY, double stepPhysX=1., double stepPhysY=1., Vector2 origin=Vector2(0., 0.), bool inFourierSpace=false) throw () | |
Detailed constructor. | |
virtual | ~TFFT2D () throw () |
Destructor. | |
Assignment | |
const TFFT2D & | operator= (const TFFT2D &fft_2d) throw () |
Assignment operator. | |
virtual void | clear () throw () |
Clear the contents. | |
virtual void | destroy () throw () |
Clear the contents and reset all attributes. | |
Predicates | |
bool | operator== (const TFFT2D &fft_2d) const throw () |
Equality operator. | |
Protected Attributes | |
Size | lengthX_ |
Size | lengthY_ |
bool | inFourierSpace_ |
Size | numPhysToFourier_ |
Size | numFourierToPhys_ |
Vector2 | origin_ |
Origin of the grid (offset). | |
double | stepPhysX_ |
double | stepPhysY_ |
double | stepFourierX_ |
double | stepFourierY_ |
Vector2 | minPhys_ |
Vector2 | maxPhys_ |
Vector2 | minFourier_ |
Vector2 | maxFourier_ |
ComplexTraits::FftwPlan | planForward_ |
ComplexTraits::FftwPlan | planBackward_ |
Size | dataLength_ |
Complex * | dataAdress_ |
bool | planCalculated_ |
|
Detailed constructor.
|
|
Clear the contents.
Reimplemented from TRegularData2D< std::complex< ComplexTraits::ComplexPrecision > >. |
|
Clear the contents and reset all attributes.
|
|
Perform a single fast fourier transform on the data.
|
|
Perform a single inverse fourier transform on the data.
|
|
Returns the data at the grid position closest to pos , and automatically includes the correct phase factor and (symmetric) normalization.
|
|
Returns the maximal position of the grid in fourier space in X direction.
|
|
Returns the maximal position of the grid in fourier space in Y direction.
|
|
Returns the minimal position of the grid in fourier space in X direction.
|
|
Returns the minimal position of the grid in fourier space in Y direction.
|
|
Returns the step width in fourier space in X direction.
|
|
Returns the step width in fourier space in Y direction.
|
|
AR: Returns the grid coordinate corresponding to the position.
|
|
Returns the data at point pos. If pos is not a point on the grid, the data is linearly interpolated. This method automatically includes the correct phase factor and (symmetric) normalization. |
|
AR: Return the largest grid position for the x direction. This method returns the maximum position allowed in the grid. As the point in the origin has the indices (0, 0), this method returns the number of points in X direction minus one. |
|
AR: Return the largest grid position for the y direction. This method returns the maximum position allowed in the grid. As the point in the origin has the indices (0, 0), this method returns the number of points in Y direction minus one. |
|
AR: Return the number of inverse transforms that have been carried out using this class. This is an important factor for the normalization of the data. |
|
Returns the maximal position of the grid in physical space in X direction.
|
|
Returns the maximal position of the grid in physical space in Y direction.
|
|
Returns the minimal position of the grid in physical space in X direction.
|
|
Returns the minimal position of the grid in physical space in Y direction.
|
|
Returns the step width in physical space in X direction.
|
|
Returns the step width in physical space in Y direction.
|
|
AR: Returns true if the data is considered to be in Fourier space, false otherwise.
|
|
Equality operator.
|
|
AR: Access the (raw) data at Position pos. Const method. |
|
AR: Access the (raw) data at Position pos.
|
|
Access the data at the grid position closest to pos . This function returns the "raw" data at that position. |
|
Access the data at the grid position closest to pos . This function returns the "raw" data at that position. |
|
This computes the phase factor in fourier space that results if the origin of the coordinate system in physical space is not in the "lower left corner".
|
|
Sets the data point at the grid position closest to pos to the value val , and -- if called in fourier space -- automatically includes the correct phase factor and (symmetric) normalization.
|
|
Set the step width in physical space to {new_width_x, new_width_y}. The step width in fourier space is automatically adjusted accordingly. {new_width_x and new_width_y} must be positive, otherwise the function does nothing and retuns false . |
|
Translate the origin in physical space about {trans_origin}, i.e. the new origin will be located at the former position {trans_origin}. If the result is out of bounds, the function does nothing and returns false . |