An interface class for creating dyadic pyramids from input images. More...
#include <CUDA/CudaPyrBuilder.H>
Public Member Functions | |
CudaPyrBuilder () | |
Create an empty CudaPyrBuilder. | |
virtual | ~CudaPyrBuilder () |
Virtual destructor for safe inheritance. | |
virtual CudaPyrBuilder< T > * | clone () const =0 |
Cloning constructor useful to make clones from pointers: | |
virtual CudaImageSet< T > | build (const CudaImage< T > &image, const int firstlevel, const int depth, CudaPyramidCache< 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 |
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 34 of file CudaPyrBuilder.H.
CudaPyrBuilder< T >::CudaPyrBuilder | ( | ) | [inline] |
Create an empty CudaPyrBuilder.
Definition at line 55 of file CudaPyrBuilder.C.
CudaPyrBuilder< T >::~CudaPyrBuilder | ( | ) | [inline, virtual] |
Virtual destructor for safe inheritance.
Definition at line 62 of file CudaPyrBuilder.C.
virtual CudaImageSet<T> CudaPyrBuilder< T >::build | ( | const CudaImage< T > & | image, | |
const int | firstlevel, | |||
const int | depth, | |||
CudaPyramidCache< T > * | cache = 0 | |||
) | [pure virtual] |
Create a pyramid from an input image, with given depth (=nb levels).
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 CudaReichardtPyrBuilder< T >, and CudaReichardtPyrBuilder< float >.
virtual CudaPyrBuilder<T>* CudaPyrBuilder< T >::clone | ( | ) | const [pure virtual] |
Cloning constructor useful to make clones from pointers:
Implemented in CudaReichardtPyrBuilder< T >, and CudaReichardtPyrBuilder< float >.
void CudaPyrBuilder< 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 CudaReichardtPyrBuilder< T >, and CudaReichardtPyrBuilder< float >.
Definition at line 69 of file CudaPyrBuilder.C.