core/vil1/vil1_pyramid.h

Go to the documentation of this file.
00001 // This is core/vil1/vil1_pyramid.h
00002 #ifndef vil1_pyramid_h_
00003 #define vil1_pyramid_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007 //:
00008 // \file
00009 // \author fsm
00010 
00011 #include <vil1/vil1_image.h>
00012 #include <vcl_vector.h>
00013 
00014 //:
00015 // vil1_pyramid is *not* an image. It is like an array of images, with
00016 // the 0th element as the given image and the ith element a subsampled
00017 // version of the (i-1)th element. The subsampled images are computed
00018 // on demand and cached for later use.
00019 struct vil1_pyramid
00020 {
00021   enum cache_strategy {
00022     none = 0,
00023     memory = 1,
00024     blocked = 2 // not implemented. don't try to use it.
00025   };
00026 
00027   vil1_pyramid(vil1_image const &, cache_strategy = memory);
00028   ~vil1_pyramid();
00029 
00030   unsigned size() const { return levels.size(); }
00031   vil1_image operator[](unsigned i);
00032 
00033  private:
00034   cache_strategy cs;
00035   vcl_vector<vil1_image> levels;
00036 };
00037 
00038 #endif // vil1_pyramid_h_

Generated on Sat Nov 22 05:08:29 2008 for core/vil1 by  doxygen 1.5.1