#ifndef _GaussianPyramid_h
#define _GaussianPyramid_h

#include "Image.h"

namespace sor {

  class GaussianPyramid
  {
    private:
      DImage* ImPyramid;
      int nLevels;
    public:
      GaussianPyramid(void);
      ~GaussianPyramid(void);
      void ConstructPyramid(const DImage& image,double ratio=0.8,int minWidth=30);
      void ConstructPyramidLevels(const DImage& image,double ratio =0.8,int _nLevels = 2);
      //void displayTop(const char* filename);
      inline int nlevels() const {return nLevels;};
      inline DImage& Image(int index) {return ImPyramid[index];};
  };

}

#endif
