LTI-Lib latest version v1.9 - last update 10 Apr 2010

lti::gaborPyramid< T > Class Template Reference

GaborPyramid class. More...

#include <ltiGaborPyramid.h>

Inheritance diagram for lti::gaborPyramid< T >:
Inheritance graph
[legend]
Collaboration diagram for lti::gaborPyramid< T >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 gaborPyramid (const int &resolutions=0, const double &orientation=0, const int &gaborSize=5, const double &bandwidth=0.69813170, const bool &upsampleWithGaussian=true)
 gaborPyramid (const gaborPyramid &other)
virtual ~gaborPyramid ()
void getKernelParameters (double &orientation, int &size, double &bandwidth, bool &upsampleWithGaussian) const
void setKernelParameters (const double &orientation, const int &gaborSize=5, const double &bandwidth=0.69813170, const bool &upsampleWithGaussian=true)
const char * getTypeName () const
gaborPyramid< T > & copy (const gaborPyramid< T > &other)
virtual mathObjectclone () const
void generate (const T &src)
void generate (const T &src, const int &theResolutions)
void generate (const T &src, const lti::point &limit)

Protected Attributes

double kernelOrientation
double kernelBandwidth

Detailed Description

template<class T>
class lti::gaborPyramid< T >

GaborPyramid class.

This class implements a dyadic gabor pyramid, which is obtained from the original channel, and its gaussian pyramid, where each scale is also filtered with a gabor kernel.

Each element of the pyramid will be obtained with the same filter-orientation.

See method generate() to an detailed explanation


Constructor & Destructor Documentation

template<class T>
lti::gaborPyramid< T >::gaborPyramid ( const int &  resolutions = 0,
const double &  orientation = 0,
const int &  gaborSize = 5,
const double &  bandwidth = 0.69813170,
const bool &  upsampleWithGaussian = true 
)

create a gabor pyramid with the given number of resolutions

Parameters:
resolutions the number of resolutions that the pyramid can hold (default 0: an empty pyramid will be created)
orientation the angle (in radians) of the gabor kernel (default 0)
gaborSize the size of the gabor kernel (default 5)
bandwidth the angular bandwidth in radians. The default value is 0.69813170 (40°), which maximizes coverage of the frequency domain while minimizing overlap between filters.
upsampleWithGaussian if false a rectangular kernel will be used to reconstruct the scales, otherwise a gaussian kernel will be used (default true)
template<class T>
lti::gaborPyramid< T >::gaborPyramid ( const gaborPyramid< T > &  other  ) 

create this gaborPyramid as a copy of another gaborPyramid

Parameters:
other the gaborPyramid to be copied.
template<class T>
virtual lti::gaborPyramid< T >::~gaborPyramid (  )  [virtual]

destructor


Member Function Documentation

template<class T>
virtual mathObject* lti::gaborPyramid< T >::clone (  )  const [virtual]

create a clone of this gaborPyramid

Returns:
a pointer to a copy of this gaborPyramid

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
gaborPyramid<T>& lti::gaborPyramid< T >::copy ( const gaborPyramid< T > &  other  ) 

assigment operator.

copy the contents of other in this object.

Parameters:
other the source gaborPyramid to be copied.
Returns:
a reference to this object

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
void lti::gaborPyramid< T >::generate ( const T &  src,
const lti::point limit 
)

generate the gabor pyramid of the given object.

Proceed, until given limit.x or limit.y is reached. smallest resolution will be > limit.

The resolution "0" corresponds to the original channel, and the resolution i+1 is always a factor 2 smaller than the resolution i.

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
void lti::gaborPyramid< T >::generate ( const T &  src,
const int &  theResolutions 
)

generate the gabor pyramid of the given object.

The pyramid will contain the number of resolutions specified by theResolutions. The resolution "0" will correspond the the original channel, and the resolution i+1 is always a factor 2 smaller than the resolution i.

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
void lti::gaborPyramid< T >::generate ( const T &  src  ) 

generate the gabor pyramid of the given object.

The pyramid will contain the number of resolutions specified in the construction or in the resize() method. The resolution "0" will correspond the the original channel, and the resolution i+1 is always a factor 2 smaller than the resolution i.

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
void lti::gaborPyramid< T >::getKernelParameters ( double &  orientation,
int &  size,
double &  bandwidth,
bool &  upsampleWithGaussian 
) const

return the size, variance and orientation of the used gabor kernel

template<class T>
const char* lti::gaborPyramid< T >::getTypeName ( void   )  const [inline, virtual]

returns the name of this class: "gaborPyramid"

Reimplemented from lti::gaussianPyramid< T >.

template<class T>
void lti::gaborPyramid< T >::setKernelParameters ( const double &  orientation,
const int &  gaborSize = 5,
const double &  bandwidth = 0.69813170,
const bool &  upsampleWithGaussian = true 
)

set the kernel parameters

Parameters:
orientation the angle (in radians) of the gabor kernel.
gaborSize the size of the gabor kernel (default 5)
bandwidth the angular bandwidth in radians. The default value is 0.69813170 (40°), which maximizes coverage of the frequency domain while minimizing overlap between filters.
upsampleWithGaussian if false a rectangular kernel will be used to reconstruct the scales, otherwise a gaussian kernel will be used (default true)

Member Data Documentation

template<class T>
double lti::gaborPyramid< T >::kernelBandwidth [protected]

kernel variance

template<class T>
double lti::gaborPyramid< T >::kernelOrientation [protected]

kernel orientation in radians


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

Generated on Sat Apr 10 15:27:20 2010 for LTI-Lib by Doxygen 1.6.1