00001 #ifndef __creaImageIODicomImageReader_h_INCLUDED__ 00002 #define __creaImageIODicomImageReader_h_INCLUDED__ 00003 00004 00005 #include <creaImageIOAbstractImageReader.h> 00006 00007 // forward decl 00008 class vtkGdcmReader; 00009 00010 namespace creaImageIO 00011 { 00012 00013 00018 //===================================================================== 00020 class DicomImageReader : virtual public AbstractImageReader 00021 { 00022 public: 00023 DicomImageReader(); 00024 virtual ~DicomImageReader(); 00025 00026 virtual void PushBackExtensions(std::vector<std::string>&); 00027 virtual bool CanRead(const std::string& filename); 00028 virtual vtkImageData* ReadImage(const std::string& filename); 00029 virtual void ReadAttributes(const std::string& filename, 00030 tree::AttributeMapType& attr); 00031 00032 private: 00033 vtkGdcmReader* mReader; 00034 }; 00035 //===================================================================== 00036 00037 00038 00039 } // namespace creaImageIO 00040 00041 00042 00043 #endif // #ifndef __creaImageIODicomImageReader_h_INCLUDED__