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
00040
00041
00042 protected:
00043
00044 void Register(AbstractImageReader*);
00045
00046 std::vector<AbstractImageReader*> mReader;
00047 vtkImageData* mUnreadableImage;
00048
00049 std::string mLastFilename;
00050 AbstractImageReader* mLastReader;
00051
00052 private:
00053
00054 };
00055
00056
00057
00058
00059 }
00060
00061
00062
00063 #endif // #ifndef __creaImageIOImageReader_h_INCLUDED__