]> Creatis software - creaImageIO.git/blob - src2/creaImageIOVtkImageReader.h
Clean-Up with Juan Sebastien
[creaImageIO.git] / src2 / creaImageIOVtkImageReader.h
1 #ifndef __creaImageIOVtkImageReader_h_INCLUDED__
2 #define __creaImageIOVtkImageReader_h_INCLUDED__
3
4
5 #include <creaImageIOAbstractImageReader.h>
6
7 // forward decl
8 class vtkImageReader2;
9
10 namespace creaImageIO
11 {
12
13
14   /**
15    * \ingroup IO
16    */
17   
18   //=====================================================================
19   /// Concrete image reader based on a vtkImageReader2 
20   class VtkImageReader : virtual public AbstractImageReader
21   {
22   public:
23     VtkImageReader(vtkImageReader2* reader, 
24                    const std::string& name = "",
25                    const std::string& extensions = "");
26
27     virtual ~VtkImageReader();
28
29         /// Add file extensions read by the reader
30     virtual void PushBackExtensions(std::vector<std::string>&);
31         /// Test if file is read by this reader
32     virtual bool CanRead(const std::string& filename);
33         /// return for a file a 2D VTkImage
34     virtual vtkImageData* ReadImage(const std::string& filename);
35         /// Read the attributes for a file
36     virtual void ReadAttributes(const std::string& filename, 
37                                 tree::AttributeMapType& attr);
38
39   private:
40     vtkImageReader2* mReader;
41     std::string mExtensions;
42   };
43   //=====================================================================
44
45
46
47 } // namespace creaImageIO
48
49
50
51 #endif // #ifndef __creaImageIOVtkImageReader_h_INCLUDED__