/** * @file ImagePyramid.h * @brief gauss image pyramid * @author Erik Rodner * @date 02/06/2008 */ #ifndef IMAGEPYRAMIDINCLUDE #define IMAGEPYRAMIDINCLUDE #include "core/image/ImageT.h" #include "core/vector/VectorT.h" #include "core/vector/MatrixT.h" #include "core/image/FilterT.h" #include "core/imagedisplay/ImageDisplay.h" namespace OBJREC { /** gauss image pyramid */ class ImagePyramid { protected: std::vector pyramid; double scaleSpacing; public: /** simple constructor */ ImagePyramid ( const NICE::Image & img, int maxLevels = 10, double scaleSpacing = 1.18921, int max_xsize = 11, int max_ysize = 11 ); /** simple destructor */ virtual ~ImagePyramid(); const NICE::Image & getLevel ( int i ) const; int getNumLevels () const; void show() const; void getOriginalCoordinates ( int x, int y, int level, double & xo, double & yo ) const; void getLevelCoordinates ( double xo, double yo, int level, double & xl, double & yl ) const; }; } // namespace #endif