Go to the documentation of this file.00001 #ifndef __creaImageIOImageReader_h_INCLUDED__
00002 #define __creaImageIOImageReader_h_INCLUDED__
00003
00004 #include <creaImageIOSystem.h>
00005 #include <creaImageIOAbstractImageReader.h>
00006
00007 namespace creaImageIO
00008 {
00009
00010
00015 class CREAIMAGEIO_EXPORT ImageReader : virtual public AbstractImageReader
00016 {
00017 public:
00018 ImageReader();
00019 ~ImageReader();
00020
00022 void PushBackExtensions(std::vector<std::string>&);
00023
00025 bool CanRead( const std::string& filename);
00028 vtkImageData* ReadImage( const std::string& filename);
00029
00035 void ReadAttributes(const std::string& filename,
00036 tree::AttributeMapType& attr);
00037
00041 void getAttributes(const std::string filename,
00042 std::map <std::string , std::string> &infos, std::vector<std::string> i_attr);
00043
00044
00045
00046 protected:
00047
00049 void Register( boost::shared_ptr<AbstractImageReader> );
00050
00051 std::vector<boost::shared_ptr<AbstractImageReader> > mReader;
00052 vtkImageData* mUnreadableImage;
00053
00054 std::string mLastFilename;
00055 boost::shared_ptr<AbstractImageReader> mLastReader;
00056
00057 bool ShallNotRead( const std::string& filename );
00058
00059 void UnRegister(const std::string i_val);
00060
00061 std::vector <std::string> mUnReader;
00062
00063 private:
00064
00065 };
00066
00067
00068
00069
00070 }
00071
00072
00073
00074 #endif // #ifndef __creaImageIOImageReader_h_INCLUDED__