PyrBuilder< T > Class Template Reference

An interface class for creating dyadic pyramids from input images. More...

#include <Image/PyrBuilder.H>

Inheritance diagram for PyrBuilder< T >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 PyrBuilder ()
 Create an empty PyrBuilder.
virtual ~PyrBuilder ()
 Virtual destructor for safe inheritance.
virtual PyrBuilder< T > * clone () const =0
 Cloning constructor useful to make clones from pointers:
virtual ImageSet< T > build (const Image< T > &image, const int firstlevel, const int depth, PyramidCache< T > *cache=0)=0
 Create a pyramid from an input image, with given depth (=nb levels).
virtual void reset ()
 reset the pyramid - whatever that means for a specific pyramid

Detailed Description

template<class T>
class PyrBuilder< T >

An interface class for creating dyadic pyramids from input images.

A dyadic image pyramid is an array of images such that the next image is obtained from the previous one by applying some filter and decimating the image by a factor 2 horizontally and vertically.

The PyrBuilder classes essentially wrap one of the buildPyr*() functions, binding preset values to all of the trailing arguments. This allows all of the buildPyr*() functions to be presented behind a uniform interface.

PyrBuilder defers the actual handling of input images through the abstract function build(). Different subclasses may implement this to apply different filters (e.g., gaussian, laplacian, gabor) before decimation. GenericPyrBuilder offers a generic implementation, while GaussianPyrBuilder, LaplacianPyrBuilder, and OrientedPyrBuilder are specialized for single filter types.

Definition at line 70 of file PyrBuilder.H.


Constructor & Destructor Documentation

template<class T >
PyrBuilder< T >::PyrBuilder (  )  [inline]

Create an empty PyrBuilder.

Definition at line 58 of file PyrBuilder.C.

template<class T >
PyrBuilder< T >::~PyrBuilder (  )  [inline, virtual]

Virtual destructor for safe inheritance.

Definition at line 65 of file PyrBuilder.C.


Member Function Documentation

template<class T>
virtual ImageSet<T> PyrBuilder< T >::build ( const Image< T > &  image,
const int  firstlevel,
const int  depth,
PyramidCache< T > *  cache = 0 
) [pure virtual]

Create a pyramid from an input image, with given depth (=nb levels).

Parameters:
firstlevel if non-zero, then pyramid levels prior to firstlevel may be skipped and left empty, as long as the remaining pyramid levels contain the same values that they would normally contain -- this parameter is only an optimization hint, and subclasses are free to ignore it if they so choose
depth number of levels the pyramid should contain (note that if firstlevel is non-zero, then some of those levels may be empty)

Implemented in IntgGaussianPyrBuilder, IntgOrientedPyrBuilder, IntgReichardtPyrBuilder, GaussianPyrBuilder< T >, GaussianRadialPyrBuilder< T >, ConvolvePyrBuilder< T >, RGBConvolvePyrBuilder< T >, LaplacianPyrBuilder< T >, OrientedPyrBuilder< T >, GenericPyrBuilder< T >, ReichardtPyrBuilder< T >, TemplateMatchPyrBuilder, GaborPyrBuilder< T >, MotionEnergyPyrBuilder< T >, SpatioTemporalEnergyPyrBuilder< T >, GaussianPyrBuilder< PixRGB< byte > >, ReichardtPyrBuilder< float >, and SpatioTemporalEnergyPyrBuilder< float >.

template<class T>
virtual PyrBuilder<T>* PyrBuilder< T >::clone (  )  const [pure virtual]
template<class T >
void PyrBuilder< T >::reset (  )  [inline, virtual]

reset the pyramid - whatever that means for a specific pyramid

a no op implementation is given in this base class - so if pyramids don't need this, they don't have to worry about it

Reimplemented in IntgReichardtPyrBuilder, ReichardtPyrBuilder< T >, MotionEnergyPyrBuilder< T >, SpatioTemporalEnergyPyrBuilder< T >, ReichardtPyrBuilder< float >, and SpatioTemporalEnergyPyrBuilder< float >.

Definition at line 72 of file PyrBuilder.C.


The documentation for this class was generated from the following files:
Generated on Sun May 8 08:43:46 2011 for iLab Neuromorphic Vision Toolkit by  doxygen 1.6.3