![]() |
kspaceFirstOrder3D-OMP 1.0
The C++ implementation of the k-wave toolbox for the time-domain simulation of acoustic wave fields in 3D
|
Class implementing 3D Real-To-Complex and Complex-To-Real transforms using FFTW interface.
#include <FFTWComplexMatrix.h>
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. | |
TFFTWComplexMatrix & | operator= (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. |
Definition at line 46 of file FFTWComplexMatrix.h.
TFFTWComplexMatrix::TFFTWComplexMatrix | ( | struct TDimensionSizes | DimensionSizes | ) |
Constructor
DimensionSizes | - Dimension sizes of the reduced complex matrix |
Definition at line 54 of file FFTWComplexMatrix.cpp.
TFFTWComplexMatrix::~TFFTWComplexMatrix | ( | ) | [virtual] |
Destructor
Definition at line 70 of file FFTWComplexMatrix.cpp.
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.
void TFFTWComplexMatrix::Compute_FFT_3D_R2C | ( | TRealMatrix & | InMatrix | ) |
Computer forward 3D Real-to-Complex FFT.
[in] | InMatrix | - Input Matrix |
Definition at line 127 of file FFTWComplexMatrix.cpp.
void TFFTWComplexMatrix::Compute_iFFT_3D_C2R | ( | TRealMatrix & | OutMatrix | ) |
Compute inverse 3D Complex to Real FFT.
[out] | OutMatrix |
Definition at line 142 of file FFTWComplexMatrix.cpp.
void TFFTWComplexMatrix::CreateFFTPlan3D_C2R | ( | TRealMatrix & | OutMatrix | ) |
Create FFTW plan for Complex-to-Real.
[in,out] | OutMatrix | - RealMatrix of which to create the plan. |
Definition at line 108 of file FFTWComplexMatrix.cpp.
void TFFTWComplexMatrix::CreateFFTPlan3D_R2C | ( | TRealMatrix & | InMatrix | ) |
Create FFTW plan for Real-to-Complex.
[in,out] | InMatrix | - RealMatrix of which to create the plan |
Definition at line 90 of file FFTWComplexMatrix.cpp.
void TFFTWComplexMatrix::FreeMemory | ( | ) | [protected, virtual] |
Free memory using fftwf_free
Reimplemented from TBaseFloatMatrix.
Definition at line 189 of file FFTWComplexMatrix.cpp.