ImFusion SDK 4.3
FFT Class Referenceabstract

#include <ImFusion/Base/FFT.h>

Fast Fourier Transform abstract base class. More...

+ Inheritance diagram for FFT:

Detailed Description

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 ImagedescPadded () const
 Get the padded image descriptor. This is a nullpointer if no m_descIn has been set before.
 
const ImagedescIn () 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

Imagem_descIn
 Descriptor of input image, owned.
 
Imagem_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.
 

Member Function Documentation

◆ setup()

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 )
pure virtual

Abstract method to set up the Fourier transform.

Implemented in ClFourierTransform.

◆ computeDescPadded()

void computeDescPadded ( int dim,
double paddingPercentage )

Compute the padded image for an FFT of dimension dim. The image type will be FLOAT.

Parameters
paddingPercentageSet 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.
Note
This requires m_descIn to be set.

Member Data Documentation

◆ m_largestValidPrimeRank

unsigned int m_largestValidPrimeRank
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.).


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close