core/vidl_vil1/vidl_vil1_image_list_codec.h

Go to the documentation of this file.
00001 #ifndef vidl_vil1_image_list_codec_h
00002 #define vidl_vil1_image_list_codec_h
00003 //:
00004 // \file
00005 // \author Nicolas Dano, september 1999
00006 //
00007 // \verbatim
00008 //  Modifications
00009 //   Julien ESTEVE, June 2000 -  Ported from TargetJr
00010 //   10/4/2001 Ian Scott (Manchester) Converted perceps header to doxygen
00011 // \endverbatim
00012 
00013 #include <vcl_string.h>
00014 #include <vidl_vil1/vidl_vil1_image_list_codec_sptr.h>
00015 #include <vidl_vil1/vidl_vil1_codec.h>
00016 #include <vil1/vil1_image.h>
00017 #include <vcl_list.h>
00018 #include <vcl_vector.h>
00019 
00020 //: Coder/decoder for a list of images
00021 //   A vidl_vil1_image_list_codec is the video I/O access for list of images.
00022 class vidl_vil1_image_list_codec :  public vidl_vil1_codec
00023 {
00024   // PUBLIC INTERFACE----------------------------------------------------------
00025  public:
00026 
00027   // Constructors
00028   vidl_vil1_image_list_codec();
00029   vidl_vil1_image_list_codec(vcl_list<vil1_image>& images);
00030   vidl_vil1_image_list_codec(vcl_vector<vil1_image>& images);
00031   // Destructor
00032   ~vidl_vil1_image_list_codec() {}
00033 
00034   // Operators-----------------------------------------------------------------
00035   // Safe cast to a parent from Image
00036   virtual vidl_vil1_image_list_codec* casttovidl_vil1_image_list_codec() { return this; }
00037 
00038   virtual bool get_section(int position, void* ib, int x0, int y0, int w, int h) const;
00039   virtual int put_section(int position, void* ib, int x0, int y0, int w, int h);
00040   // IO
00041   virtual vidl_vil1_codec_sptr load(vcl_string const& fname, char mode = 'r' );
00042   virtual vidl_vil1_codec_sptr load(const vcl_list<vcl_string> &fnames, char mode = 'r');
00043   virtual vidl_vil1_codec_sptr load(const vcl_vector<vcl_string> &fnames, char mode = 'r');
00044   virtual bool save(vidl_vil1_movie* movie, vcl_string const& fname);
00045   virtual bool save(vidl_vil1_movie* movie, vcl_string const& fname, vcl_string const& type);
00046   virtual bool probe(vcl_string const& fname);
00047 
00048   virtual vcl_string type() const {return "ImageList";}
00049 
00050   // Specific to vidl_vil1_image_list_codec
00051   static void set_default_image_type(vcl_string const& type)
00052   { default_initialization_image_type_=type; }
00053 
00054   virtual void set_image_type(vcl_string const& type)
00055   { default_image_type_=type; }
00056 
00057   virtual vcl_string get_image_type() const {return default_image_type_;}
00058   vcl_vector<vil1_image> get_images() const {return images_;}
00059 
00060   // Register image loaders
00061   //virtual void register_image_loaders ();
00062 
00063  protected:
00064   virtual bool init();
00065 
00066   // Data Members--------------------------------------------------------------
00067   vcl_vector<vil1_image> images_;
00068 
00069  private:
00070   vcl_string default_image_type_;
00071   static vcl_string default_initialization_image_type_;
00072 };
00073 
00074 #endif // vidl_vil1_image_list_codec_h

Generated on Tue Dec 2 05:09:13 2008 for core/vidl_vil1 by  doxygen 1.5.1