![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Base/FFT.h>
Fast Fourier Transform abstract base class. More...
Inheritance diagram for FFT:Fast Fourier Transform abstract base class.
Public Member Functions | |
| virtual bool | setup (const Image *descIn, const int dim=4, const double paddingPercentage=0.0, size_t *strides=nullptr, const int dist=0, const int prec=1)=0 |
| Abstract method to set up the Fourier transform. | |
| void | computeDescPadded (int dim, double paddingPercentage) |
Compute the padded image for an FFT of dimension dim. The image type will be FLOAT. | |
| const Image * | descPadded () const |
Get the padded image descriptor. This is a nullpointer if no m_descIn has been set before. | |
| const Image * | descIn () const |
Fetch the descriptor of the image that the FFT will be computed on. This is a nullpointer if setup() has not been called. | |
Protected Attributes | |
| Image * | m_descIn |
| Descriptor of input image, owned. | |
| Image * | m_descPadded |
| Descriptor of padded image, owned. | |
| unsigned int | m_largestValidPrimeRank |
| A specific FFT implementation can only deal with images whose dimensions are a multiple of small primes. | |
|
pure virtual |
Abstract method to set up the Fourier transform.
Implemented in ClFourierTransform.
| void computeDescPadded | ( | int | dim, |
| double | paddingPercentage ) |
Compute the padded image for an FFT of dimension dim. The image type will be FLOAT.
| paddingPercentage | Set to e.g. 1.0 for 100% of padding. The image will be padded along \dim dimensions. Its size will be at least (1+paddingPercentage) of the original image since the dimensions have to be multiples of small prime numbers for efficient FFT computation. |
m_descIn to be set.
|
protected |
A specific FFT implementation can only deal with images whose dimensions are a multiple of small primes.
The rank of the largest of those primes needs to be specified (e.g. rank 0 for 2, 1 for 3, 2 for 5, 3 for 7, 4 for 11, etc.).