#include <FFT3D.h>
Inheritance diagram for TFFT3D< ComplexTraits >:

Public Types | |
|
typedef std::complex< typename ComplexTraits::ComplexPrecision > | Complex |
|
typedef TRegularData3D< std::complex< typename ComplexTraits::ComplexPrecision > > | ComplexVector |
Public Member Functions | |
Constructors and Destructors | |
| throw () | |
| Default constructor. | |
| throw () | |
| Copy constructor. | |
| TFFT3D (Size ldnX, Size ldnY, Size ldnZ, double stepPhysX=1., double stepPhysY=1., double stepPhysZ=1., Vector3 origin=Vector3(0., 0., 0), bool inFourierSpace=false) throw () | |
| Detailed constructor. | |
| virtual | ~TFFT3D () throw () |
| Destructor. | |
Assignment | |
| const TFFT3D & | operator= (const TFFT3D &fft_3d) 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 TFFT3D &fft3d) const throw () |
| Equality operator. | |
| 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 Vector3 &trans_origin) throw () |
| Translate the origin in physical space about {trans_origin}, i.e. | |
| bool | setPhysStepWidth (double new_width_x, double new_width_y, double new_width_z) throw () |
| Set the step width in physical space to {new_width_x, new_width_y, new_width_z}. | |
| 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 | getPhysStepWidthZ () const throw () |
| Returns the step width in physical space in Z 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 | getFourierStepWidthZ () const throw () |
| Returns the step width in Fourier space in Z 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 | getPhysSpaceMinZ () const throw () |
| Returns the minimal position of the grid in physical space in Z 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 | getPhysSpaceMaxZ () const throw () |
| Returns the maximal position of the grid in physical space in Z 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 | getFourierSpaceMinZ () const throw () |
| Returns the minimal position of the grid in Fourier space in Z 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. | |
| double | getFourierSpaceMaxZ () const throw () |
| Returns the maximal position of the grid in Fourier space in Z direction. | |
| Size | getMaxXIndex () const throw () |
| Return the largest grid position for the x direction. | |
| Size | getMaxYIndex () const throw () |
| Return the largest grid position for the y direction. | |
| Size | getMaxZIndex () const throw () |
| Return the largest grid position for the z direction. | |
| Size | getNumberOfInverseTransforms () const throw () |
| Return the number of inverse transforms that have been carried out using this class. | |
| Vector3 | getGridCoordinates (Position position) const throw () |
| Returns the grid coordinate corresponding to the position. | |
| Complex | getData (const Vector3 &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 Vector3 &pos) const throw (Exception::OutOfGrid) |
| Returns the data at point pos. | |
| void | setData (const Vector3 &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 Vector3 &pos) throw (Exception::OutOfGrid) |
| Access the data at the grid position closest to pos . | |
| const Complex & | operator[] (const Vector3 &pos) const throw (Exception::OutOfGrid) |
| Access the data at the grid position closest to pos . | |
| Complex & | operator[] (const Position &pos) throw (Exception::OutOfGrid) |
| Access the (raw) data at Position pos. | |
| const Complex & | operator[] (const Position &pos) const throw (Exception::OutOfGrid) |
| Access the (raw) data at Position pos. | |
| void | setNumberOfFFTTransforms (Size num) |
| void | setNumberOfiFFTTransforms (Size num) |
| Complex | phase (const Vector3 &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". | |
Predicates | |
| bool | isInFourierSpace () const throw () |
| Returns true if the data is considered to be in Fourier space, false otherwise. | |
Protected Attributes | |
| Size | lengthX_ |
| Size | lengthY_ |
| Size | lengthZ_ |
| bool | inFourierSpace_ |
| Size | numPhysToFourier_ |
| Size | numFourierToPhys_ |
| Vector3 | origin_ |
| Origin of the grid (offset). | |
| double | stepPhysX_ |
| double | stepPhysY_ |
| double | stepPhysZ_ |
| double | stepFourierX_ |
| double | stepFourierY_ |
| double | stepFourierZ_ |
| Vector3 | minPhys_ |
| Vector3 | maxPhys_ |
| Vector3 | minFourier_ |
| Vector3 | maxFourier_ |
| ComplexTraits::FftwPlan | planForward_ |
| ComplexTraits::FftwPlan | planBackward_ |
| Size | dataLength_ |
| Complex * | dataAdress_ |
| bool | planCalculated_ |
|
||||||||||||||||||||||||||||||||||||||||
|
Detailed constructor.
|
|
|||||||||
|
Clear the contents.
Reimplemented from TRegularData3D< 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 maximal position of the grid in Fourier space in Z 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 minimal position of the grid in Fourier space in Z direction.
|
|
|||||||||
|
Returns the step width in Fourier space in X direction.
|
|
|||||||||
|
Returns the step width in Fourier space in Y direction.
|
|
|||||||||
|
Returns the step width in Fourier space in Z direction.
|
|
||||||||||
|
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. |
|
|||||||||
|
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, 0), this method returns the number of points in X direction minus one. |
|
|||||||||
|
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, 0), this method returns the number of points in Y direction minus one. |
|
|||||||||
|
Return the largest grid position for the z direction. This method returns the maximum position allowed in the grid. As the point in the origin has the indices (0, 0, 0), this method returns the number of points in Z direction minus one. |
|
|||||||||
|
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 maximal position of the grid in physical space in Z 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 minimal position of the grid in physical space in Z direction.
|
|
|||||||||
|
Returns the step width in physical space in X direction.
|
|
|||||||||
|
Returns the step width in physical space in Y direction.
|
|
|||||||||
|
Returns the step width in physical space in Z direction.
|
|
|||||||||
|
Returns true if the data is considered to be in Fourier space, false otherwise.
|
|
||||||||||
|
Equality operator.
|
|
||||||||||
|
Access the (raw) data at Position pos. Const method. |
|
||||||||||
|
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, new_width_z}. The step width in Fourier space is automatically adjusted accordingly. {new_width_x, new_width_y and new_width_z} 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 . |