]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/ImageReader.h
...
[cpPlugins.git] / lib / cpPlugins / Plugins / ImageReader.h
1 #ifndef __CPPLUGINS__PLUGINS__IMAGEREADER__H__
2 #define __CPPLUGINS__PLUGINS__IMAGEREADER__H__
3
4 #include <vector>
5
6 #include <cpPlugins/Plugins/cpPlugins_Export.h>
7 #include <cpPlugins/Interface/BaseProcessObjects.h>
8
9 namespace itk
10 {
11   class ImageIOBase;
12 }
13
14 namespace cpPlugins
15 {
16   namespace Plugins
17   {
18     /**
19      */
20     class cpPlugins_EXPORT ImageReader
21       : public cpPlugins::Interface::ImageSource
22     {
23     public:
24       typedef ImageReader                       Self;
25       typedef cpPlugins::Interface::ImageSource Superclass;
26       typedef itk::SmartPointer< Self >         Pointer;
27       typedef itk::SmartPointer< const Self >   ConstPointer;
28
29       typedef
30         std::vector< cpPlugins::Interface::Parameters::TString >
31         TStringList;
32
33     public:
34       itkNewMacro( Self );
35       itkTypeMacro( ImageReader, cpPluginsInterfaceImageSource );
36
37     protected:
38       ImageReader( );
39       virtual ~ImageReader( );
40
41       virtual std::string _GenerateData( );
42
43       template< unsigned int D >
44         std::string _GD0( itk::ImageIOBase* io, const TStringList& names );
45
46       template< class P, unsigned int D >
47         std::string _RealGD( const TStringList& names );
48
49     private:
50       // Purposely not implemented
51       ImageReader( const Self& );
52       Self& operator=( const Self& );
53     };
54
55     // ---------------------------------------------------------------------
56     CPPLUGINS_INHERIT_PROVIDER( ImageReader );
57
58   } // ecapseman
59
60 } // ecapseman
61
62 #endif // __CPPLUGINS__PLUGINS__IMAGEREADER__H__
63
64 // eof - $RCSfile$