--- /dev/null
+#ifndef __creaImageIOVtkImageReader_h_INCLUDED__
+#define __creaImageIOVtkImageReader_h_INCLUDED__
+
+
+#include <creaImageIOSpecificImageReader.h>
+
+// forward decl
+class vtkImageReader2;
+
+namespace creaImageIO
+{
+
+
+ /**
+ * \ingroup ReadWrite
+ */
+
+ //=====================================================================
+ /// Specific image reader based on a vtkImageReader2
+ class VtkImageReader : virtual public SpecificImageReader
+ {
+ public:
+ VtkImageReader(vtkImageReader2* reader,
+ const std::string& name = "",
+ const std::string& extensions = "");
+
+ virtual ~VtkImageReader();
+
+ virtual void PushBackExtensions(std::vector<std::string>&);
+ virtual bool CanRead(const std::string& filename);
+ virtual vtkImageData* ReadImage(const std::string& filename);
+ virtual void ReadAttributes(const std::string& filename,
+ tree::AttributeMapType& attr);
+
+ private:
+ vtkImageReader2* mReader;
+ std::string mExtensions;
+ };
+ //=====================================================================
+
+
+
+} // namespace creaImageIO
+
+
+
+#endif // #ifndef __creaImageIOVtkImageReader_h_INCLUDED__