]> Creatis software - creaImageIO.git/blobdiff - src2/creaImageIODicomImageReader.h
clean-up
[creaImageIO.git] / src2 / creaImageIODicomImageReader.h
index 9fbfa8817ec72a402a485a2e64e0784de0654942..6f4513a8205055fb832b941e8a524c4837137184 100644 (file)
@@ -2,8 +2,8 @@
 #define __creaImageIODicomImageReader_h_INCLUDED__
 
 
-#include <creaImageIOSpecificImageReader.h>
-
+#include <creaImageIOAbstractImageReader.h>
+#include <gdcmFile.h> 
 // forward decl
 class vtkGdcmReader;
 
@@ -12,25 +12,37 @@ namespace creaImageIO
 
 
   /**
-   * \ingroup ReadWrite
+   * \ingroup IO
    */
   
   //=====================================================================
-  /// Specific image reader for DICOM images 
-  class DicomImageReader : virtual public SpecificImageReader
+  /// Concrete image reader for DICOM images 
+  class DicomImageReader : virtual public AbstractImageReader
   {
   public:
     DicomImageReader();
     virtual ~DicomImageReader();
 
+       /// Add file extensions read by the reader
     virtual void PushBackExtensions(std::vector<std::string>&);
+       /// Test if file is read by this reader
     virtual bool CanRead(const std::string& filename);
+       /// return for a file a 2D VTkImage
     virtual vtkImageData* ReadImage(const std::string& filename);
+       /// Read the attributes for a file
     virtual void ReadAttributes(const std::string& filename, 
                                tree::AttributeMapType& attr);
 
   private:
     vtkGdcmReader* mReader;
+       struct deleter
+       {
+               void operator()(GDCM_NAME_SPACE::File* p)
+               {
+                       p->Delete();
+               }
+       };
+       friend struct deleter;
   };
   //=====================================================================