Basic Image AlgorithmS Library  2.8.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BIAS::FFT2D_free< StorageType > Class Template Reference

Wrapper to the fftpack library from netlib (see fftpack/fft.c), implementing the fft (Fast Fourier Transform) for images. More...

#include <Image/FFT2D_free.hh>

Public Member Functions

 FFT2D_free ()
 
void Forward (const Image< StorageType > &in, Image< float > &ComplexOut)
 apply FFT on More...
 
void GetMagnitude (const Image< float > &ComplexIn, Image< float > &value)
 take the spectrum image (2-channel) and compute the absolute value for each pixel More...
 
void Init (int sizex, int sizey)
 
void Normalize (Image< float > &Image)
 apply normalisation on spectrum image, which is float-type More...
 
void Reverse (const Image< float > &ComplexIn, Image< StorageType > &res)
 
virtual ~FFT2D_free ()
 

Protected Member Functions

void ComplexColumnToWorkArray1_ (const Image< float > &ComplexImg, unsigned int col)
 
void ComplexRowToWorkArray0_ (const Image< float > &ComplexImg, unsigned int row)
 
void WorkArray0ToComplexRow_ (Image< float > &ComplexImg, unsigned int row)
 
void WorkArray1ToComplexColumn_ (Image< float > &ComplexImg, unsigned int col)
 

Protected Attributes

unsigned long long int Normalize_
 
float * TmpArray0_
 
float * TmpArray1_
 
long int TmpArraySize0_
 
long int TmpArraySize1_
 
float * WorkArray0_
 
float * WorkArray1_
 
long int WorkSize0_
 
long int WorkSize1_
 

Detailed Description

template<class StorageType>
class BIAS::FFT2D_free< StorageType >

Wrapper to the fftpack library from netlib (see fftpack/fft.c), implementing the fft (Fast Fourier Transform) for images.

This is a replacement for FFT2D which is usable under the GPL.

Author
evers
Date
2009
Examples:
ExampleFFT2D_free.cpp.

Definition at line 42 of file FFT2D_free.hh.

Constructor & Destructor Documentation

template<class StorageType >
FFT2D_free::FFT2D_free ( )

Definition at line 12 of file FFT2D_free.cpp.

template<class StorageType >
FFT2D_free::~FFT2D_free ( )
virtual

Definition at line 24 of file FFT2D_free.cpp.

Member Function Documentation

template<class StorageType >
void FFT2D_free::ComplexColumnToWorkArray1_ ( const Image< float > &  ComplexImg,
unsigned int  col 
)
protected
template<class StorageType >
void FFT2D_free::ComplexRowToWorkArray0_ ( const Image< float > &  ComplexImg,
unsigned int  row 
)
protected
template<class StorageType >
void FFT2D_free::Forward ( const Image< StorageType > &  in,
Image< float > &  ComplexOut 
)

apply FFT on

Parameters
in,resultis 2-channel image with real an img. Result ist _not_normalized.

Definition at line 120 of file FFT2D_free.cpp.

References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageDataArray(), BIAS::ImageBase::GetWidth(), and BIAS::Image< StorageType >::Init().

template<class StorageType >
void FFT2D_free::GetMagnitude ( const Image< float > &  ComplexIn,
Image< float > &  value 
)
template<class StorageType >
void FFT2D_free::Init ( int  sizex,
int  sizey 
)

Definition at line 32 of file FFT2D_free.cpp.

template<class StorageType >
void FFT2D_free::Normalize ( Image< float > &  Image)

apply normalisation on spectrum image, which is float-type

Definition at line 184 of file FFT2D_free.cpp.

References BIAS::ImageBase::GetChannelCount(), BIAS::ImageBase::GetHeight(), BIAS::Image< StorageType >::GetImageData(), and BIAS::ImageBase::GetWidth().

template<class StorageType >
void FFT2D_free::Reverse ( const Image< float > &  ComplexIn,
Image< StorageType > &  res 
)
template<class StorageType >
void FFT2D_free::WorkArray0ToComplexRow_ ( Image< float > &  ComplexImg,
unsigned int  row 
)
protected
template<class StorageType >
void FFT2D_free::WorkArray1ToComplexColumn_ ( Image< float > &  ComplexImg,
unsigned int  col 
)
protected

Member Data Documentation

template<class StorageType>
unsigned long long int BIAS::FFT2D_free< StorageType >::Normalize_
protected

Definition at line 77 of file FFT2D_free.hh.

template<class StorageType>
float* BIAS::FFT2D_free< StorageType >::TmpArray0_
protected

Definition at line 75 of file FFT2D_free.hh.

template<class StorageType>
float * BIAS::FFT2D_free< StorageType >::TmpArray1_
protected

Definition at line 75 of file FFT2D_free.hh.

template<class StorageType>
long int BIAS::FFT2D_free< StorageType >::TmpArraySize0_
protected

Definition at line 76 of file FFT2D_free.hh.

template<class StorageType>
long int BIAS::FFT2D_free< StorageType >::TmpArraySize1_
protected

Definition at line 76 of file FFT2D_free.hh.

template<class StorageType>
float* BIAS::FFT2D_free< StorageType >::WorkArray0_
protected

Definition at line 74 of file FFT2D_free.hh.

template<class StorageType>
float * BIAS::FFT2D_free< StorageType >::WorkArray1_
protected

Definition at line 74 of file FFT2D_free.hh.

template<class StorageType>
long int BIAS::FFT2D_free< StorageType >::WorkSize0_
protected

Definition at line 73 of file FFT2D_free.hh.

template<class StorageType>
long int BIAS::FFT2D_free< StorageType >::WorkSize1_
protected

Definition at line 73 of file FFT2D_free.hh.


The documentation for this class was generated from the following files: