kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes
TFFTWComplexMatrix Class Reference

Class implementing 3D Real-To-Complex and Complex-To-Real transforms using FFTW interface.

#include <FFTWComplexMatrix.h>

Inheritance diagram for TFFTWComplexMatrix:
Inheritance graph
[legend]
Collaboration diagram for TFFTWComplexMatrix:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TFFTWComplexMatrix (struct TDimensionSizes DimensionSizes)
 Constructor.
virtual ~TFFTWComplexMatrix ()
 Destructor.
void CreateFFTPlan3D_R2C (TRealMatrix &InMatrix)
 Create FFTW plan for Real-to-Complex.
void CreateFFTPlan3D_C2R (TRealMatrix &OutMatrix)
 Create FFTW plan for Complex-to-Real.
void Compute_FFT_3D_R2C (TRealMatrix &InMatrix)
 Compute 3D FFT Real-to-Complex.
void Compute_iFFT_3D_C2R (TRealMatrix &OutMatrix)
 Compute 3D FFT Complex-to-Real.

Protected Member Functions

 TFFTWComplexMatrix ()
 Default constructor not allowed for public.
 TFFTWComplexMatrix (const TFFTWComplexMatrix &src)
 Copy constructor not allowed for public.
TFFTWComplexMatrixoperator= (const TFFTWComplexMatrix &src)
 Operator = not allowed for public.
virtual void AllocateMemory ()
 Allocate memory for the FFTW matrix.
virtual void FreeMemory ()
 Free memory of the FFTW matrix.

Protected Attributes

fftwf_plan fftw_plan_R2C
 FFTW plan for the Real-to-Complex transform.
fftwf_plan fftw_plan_C2R
 FFTW plan for the Complex-to-Real transform.
bool fftw_plan_R2C_Created
 Flag of Real-to-Complex transform.
bool fftw_plan_C2R_Created
 Flag of Complex-to-Real transform.

Static Protected Attributes

static const unsigned TFFTWComplexMatrix_FFT_FLAG = FFTW_MEASURE
 FFTW plan flag.

Detailed Description

Definition at line 46 of file FFTWComplexMatrix.h.


Constructor & Destructor Documentation

TFFTWComplexMatrix::TFFTWComplexMatrix ( struct TDimensionSizes  DimensionSizes)

Constructor

Parameters:
DimensionSizes- Dimension sizes of the reduced complex matrix

Definition at line 54 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:

TFFTWComplexMatrix::~TFFTWComplexMatrix ( ) [virtual]

Destructor

Definition at line 70 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:


Member Function Documentation

void TFFTWComplexMatrix::AllocateMemory ( ) [protected, virtual]

Allocate Memory using fftwf_malloc function to ensure correct alignment

Reimplemented from TBaseFloatMatrix.

Definition at line 159 of file FFTWComplexMatrix.cpp.

Here is the caller graph for this function:

void TFFTWComplexMatrix::Compute_FFT_3D_R2C ( TRealMatrix InMatrix)

Computer forward 3D Real-to-Complex FFT.

Parameters:
[in]InMatrix- Input Matrix

Definition at line 127 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void TFFTWComplexMatrix::Compute_iFFT_3D_C2R ( TRealMatrix OutMatrix)

Compute inverse 3D Complex to Real FFT.

Parameters:
[out]OutMatrix

Definition at line 142 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void TFFTWComplexMatrix::CreateFFTPlan3D_C2R ( TRealMatrix OutMatrix)

Create FFTW plan for Complex-to-Real.

Parameters:
[in,out]OutMatrix- RealMatrix of which to create the plan.
Warning:
unless FFTW_ESTIMATE flag is specified, the content of the InMatrix will be destroyed!

Definition at line 108 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void TFFTWComplexMatrix::CreateFFTPlan3D_R2C ( TRealMatrix InMatrix)

Create FFTW plan for Real-to-Complex.

Parameters:
[in,out]InMatrix- RealMatrix of which to create the plan
Warning:
unless FFTW_ESTIMATE flag is specified, the content of the InMatrix will be destroyed!

Definition at line 90 of file FFTWComplexMatrix.cpp.

Here is the call graph for this function:

Here is the caller graph for this function:

void TFFTWComplexMatrix::FreeMemory ( ) [protected, virtual]

Free memory using fftwf_free

Reimplemented from TBaseFloatMatrix.

Definition at line 189 of file FFTWComplexMatrix.cpp.

Here is the caller graph for this function:


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations