00001 #ifndef msdi_marked_images_h_ 00002 #define msdi_marked_images_h_ 00003 00004 //: 00005 // \file 00006 // \author Tim Cootes 00007 // \brief Base for iterator which returns images+points 00008 00009 class vimt_image_pyramid; 00010 class vimt_image_2d; 00011 class msm_points; 00012 00013 #include <vcl_string.h> 00014 00015 //: Base for iterator which returns images+points 00016 class msdi_marked_images 00017 { 00018 public: 00019 virtual ~msdi_marked_images() {} 00020 00021 //: Move to start of data 00022 virtual void reset()=0; 00023 00024 //: Move to next item. Return true until reach end of items 00025 virtual bool next()=0; 00026 00027 //: Return number of examples this will provide 00028 virtual unsigned size() const=0; 00029 00030 //: Return current image 00031 virtual const vimt_image_2d& image() = 0; 00032 00033 //: Return current image pyramid 00034 virtual const vimt_image_pyramid& image_pyr() = 0; 00035 00036 //: points for the current image 00037 virtual const msm_points& points() = 0; 00038 00039 //: Return name for current image 00040 virtual vcl_string image_name() const = 0; 00041 00042 //: Return name for current points 00043 virtual vcl_string points_name() const = 0; 00044 00045 }; 00046 00047 00048 #endif // msdi_marked_images_h_ 00049 00050