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_Tiles< InputStorageType, OutputStorageType > Class Template Reference

Wrapper to the fftw3 library, which is supposed to perform the FFT patch- (tile-) wise. More...

#include <Image/FFT2D_Tiles.hh>

+ Inheritance diagram for BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >:
+ Collaboration diagram for BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >:

Public Member Functions

virtual int CrossPowerSpectrum (const Image< InputStorageType > &src1, const Image< InputStorageType > &src2, Image< OutputStorageType > &dst1)
 
 FFT2D_Tiles ()
 
virtual int Filter (const Image< InputStorageType > &src, Image< OutputStorageType > &dst)
 
dst.GetChannelCount()==2*src.GetCHannelCount() 

The result is not normalized! More...

 
virtual int Filter (const Image< InputStorageType > &src, Image< OutputStorageType > &dst1, Image< OutputStorageType > &dst2)
 
dstX.GetChannelCount()==src.GetCHannelCount() 

The result is not normalized! More...

 
virtual void Init (int, int)
 
virtual void Init (int width, int height, int tilewidth, int tileheight)
 Initialize FFT to transform image tile- (patch-)wise. More...
 
virtual int Normalize (Image< OutputStorageType > &dst)
 Normalize output after transformation. More...
 
void Release ()
 cal this before a second call to Init() More...
 
virtual int TransformAbs (const Image< InputStorageType > &src, Image< OutputStorageType > &dst)
 
Transform forward and get absolute value from complex result

The result is not normalized! More...

 
virtual int TransformLogAbs (const Image< InputStorageType > &src, Image< OutputStorageType > &dst)
 dstX.GetChannelCount()==src.GetCHannelCount() More...
 
virtual int TransformPhase (const Image< InputStorageType > &src, Image< OutputStorageType > &dst)
 dstX.GetChannelCount()==src.GetCHannelCount() More...
 
virtual int TransformReverse (const Image< OutputStorageType > &src, Image< InputStorageType > &dst)
 Transform reverse, src must be of _SizeX,_OutSizeY,2. More...
 
 ~FFT2D_Tiles ()
 

Protected Member Functions

virtual int Forward_ (const Image< InputStorageType > &src)
 
virtual void GetBordersValid_ (int &border_x, int &border_y) const
 
virtual int Reverse_ (const Image< OutputStorageType > &src)
 

Protected Attributes

double * _in
 
int _NumTilesX
 
int _NumTilesY
 
fftw_complex * _out
 
int _OutNum
 
int _OutSizeY
 
fftw_plan _p_forward
 
fftw_plan _p_reverse
 
int _Size
 
int _SizeX
 
int _SizeY
 
int _TileSizeX
 
int _TileSizeY
 

Detailed Description

template<class InputStorageType, class OutputStorageType>
class BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >

Wrapper to the fftw3 library, which is supposed to perform the FFT patch- (tile-) wise.

Attention
This class is practically NOT implemented!
Note
Use fast as follows:
Todo:
remove FFT2D_Tiles or really implement it. (JW)
Author
evers
Date
2004/01
Examples:
ExampleFFT2D_Tiles.cpp.

Definition at line 47 of file FFT2D_Tiles.hh.

Constructor & Destructor Documentation

template<class InputStorageType , class OutputStorageType >
FFT2D_Tiles::FFT2D_Tiles ( )

Definition at line 36 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
FFT2D_Tiles::~FFT2D_Tiles ( )

Definition at line 45 of file FFT2D_Tiles.cpp.

Member Function Documentation

template<class InputStorageType , class OutputStorageType >
int FFT2D::CrossPowerSpectrum ( const Image< InputStorageType > &  src1,
const Image< InputStorageType > &  src2,
Image< OutputStorageType > &  dst1 
)
virtualinherited
template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::Filter ( const Image< InputStorageType > &  src,
Image< OutputStorageType > &  dst 
)
virtual

dst.GetChannelCount()==2*src.GetCHannelCount() 

The result is not normalized!

dst.GetChannelCount()==2*src.GetCHannelCount()

Reimplemented from BIAS::FFT2D< InputStorageType, OutputStorageType >.

Definition at line 125 of file FFT2D_Tiles.cpp.

References BIAS::Image< StorageType >::GetImageData(), BIAS::Image< StorageType >::Init(), BIAS::ImageBase::IsEmpty(), and BIAS::Image< StorageType >::Release().

template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::Filter ( const Image< InputStorageType > &  src,
Image< OutputStorageType > &  dst1,
Image< OutputStorageType > &  dst2 
)
virtual

dstX.GetChannelCount()==src.GetCHannelCount() 

The result is not normalized!

dstX.GetChannelCount()==src.GetCHannelCount()

Reimplemented from BIAS::FFT2D< InputStorageType, OutputStorageType >.

Definition at line 148 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::Forward_ ( const Image< InputStorageType > &  src)
protectedvirtual

Reimplemented from BIAS::FFT2D< InputStorageType, OutputStorageType >.

Definition at line 104 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
void FFT2D::GetBordersValid_ ( int &  border_x,
int &  border_y 
) const
protectedvirtualinherited

Definition at line 328 of file FFT2D.cpp.

template<class InputStorageType, class OutputStorageType>
virtual void BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >::Init ( int  ,
int   
)
inlinevirtual

Definition at line 54 of file FFT2D_Tiles.hh.

template<class InputStorageType , class OutputStorageType >
void FFT2D_Tiles::Init ( int  width,
int  height,
int  tilewidth,
int  tileheight 
)
virtual

Initialize FFT to transform image tile- (patch-)wise.

Definition at line 53 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
int FFT2D::Normalize ( Image< OutputStorageType > &  dst)
virtualinherited

Normalize output after transformation.

Todo:
fix the cast by explicit template JW

Definition at line 258 of file FFT2D.cpp.

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

template<class InputStorageType , class OutputStorageType >
void FFT2D_Tiles::Release ( )

cal this before a second call to Init()

Definition at line 90 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::Reverse_ ( const Image< OutputStorageType > &  src)
protectedvirtual

Reimplemented from BIAS::FFT2D< InputStorageType, OutputStorageType >.

Definition at line 113 of file FFT2D_Tiles.cpp.

template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::TransformAbs ( const Image< InputStorageType > &  src,
Image< OutputStorageType > &  dst 
)
virtual

Transform forward and get absolute value from complex result

The result is not normalized!

dst.GetChannelCount()==src.GetCHannelCount()

Reimplemented from BIAS::FFT2D< InputStorageType, OutputStorageType >.

Definition at line 160 of file FFT2D_Tiles.cpp.

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

template<class InputStorageType , class OutputStorageType >
int FFT2D::TransformLogAbs ( const Image< InputStorageType > &  src,
Image< OutputStorageType > &  dst 
)
virtualinherited
template<class InputStorageType , class OutputStorageType >
int FFT2D::TransformPhase ( const Image< InputStorageType > &  src,
Image< OutputStorageType > &  dst 
)
virtualinherited
template<class InputStorageType , class OutputStorageType >
int FFT2D_Tiles::TransformReverse ( const Image< OutputStorageType > &  src,
Image< InputStorageType > &  dst 
)
virtual

Member Data Documentation

template<class InputStorageType, class OutputStorageType>
double* BIAS::FFT2D< InputStorageType, OutputStorageType >::_in
protectedinherited

Definition at line 107 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >::_NumTilesX
protected

Definition at line 97 of file FFT2D_Tiles.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >::_NumTilesY
protected

Definition at line 97 of file FFT2D_Tiles.hh.

template<class InputStorageType, class OutputStorageType>
fftw_complex* BIAS::FFT2D< InputStorageType, OutputStorageType >::_out
protectedinherited

Definition at line 106 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D< InputStorageType, OutputStorageType >::_OutNum
protectedinherited

Definition at line 113 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D< InputStorageType, OutputStorageType >::_OutSizeY
protectedinherited

Definition at line 112 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
fftw_plan BIAS::FFT2D< InputStorageType, OutputStorageType >::_p_forward
protectedinherited

Definition at line 108 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
fftw_plan BIAS::FFT2D< InputStorageType, OutputStorageType >::_p_reverse
protectedinherited

Definition at line 108 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D< InputStorageType, OutputStorageType >::_Size
protectedinherited

Definition at line 111 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D< InputStorageType, OutputStorageType >::_SizeX
protectedinherited

Definition at line 111 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D< InputStorageType, OutputStorageType >::_SizeY
protectedinherited

Definition at line 111 of file FFT2D.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >::_TileSizeX
protected

Definition at line 96 of file FFT2D_Tiles.hh.

template<class InputStorageType, class OutputStorageType>
int BIAS::FFT2D_Tiles< InputStorageType, OutputStorageType >::_TileSizeY
protected

Definition at line 96 of file FFT2D_Tiles.hh.


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