![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Base/FFT.h>
Fast Fourier Transform abstract base class. More...
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.).