/** * @file ImagePyramid.h * @brief gauss image pyramid * @author Erik Rodner * @date 02/06/2008 */ #ifndef IMAGEPYRAMIDINCLUDE #define IMAGEPYRAMIDINCLUDE #ifdef NOVISUAL #include #else #include #endif 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