X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FPlugins%2FImageReader.h;h=1bcf6aec5fff1c8c327894c3dd450dbd818444ae;hb=75740198fa0c55f8fdcd8b33ddff00071c893a94;hp=39d243b4ae8a7aa1fc816d0f5dcda4a099b2e490;hpb=d97da4c5884307e660b0ed9135f87cffff174b93;p=cpPlugins.git diff --git a/lib/cpPlugins/Plugins/ImageReader.h b/lib/cpPlugins/Plugins/ImageReader.h index 39d243b..1bcf6ae 100644 --- a/lib/cpPlugins/Plugins/ImageReader.h +++ b/lib/cpPlugins/Plugins/ImageReader.h @@ -1,9 +1,15 @@ #ifndef __CPPLUGINS__PLUGINS__IMAGEREADER__H__ #define __CPPLUGINS__PLUGINS__IMAGEREADER__H__ +#include + #include -#include -#include +#include + +namespace itk +{ + class ImageIOBase; +} namespace cpPlugins { @@ -12,36 +18,42 @@ namespace cpPlugins /** */ class cpPlugins_EXPORT ImageReader - : public cpPlugins::Interface::SourceObject + : public cpPlugins::Interface::ImageSource { public: - typedef ImageReader Self; - typedef cpPlugins::Interface::SourceObject Superclass; + typedef ImageReader Self; + typedef cpPlugins::Interface::ImageSource Superclass; + typedef itk::SmartPointer< Self > Pointer; + typedef itk::SmartPointer< const Self > ConstPointer; - typedef Superclass::TParameter TParameter; - typedef Superclass::TParameters TParameters; + typedef + std::vector< cpPlugins::Interface::Parameters::TString > + TStringList; public: + itkNewMacro( Self ); + itkTypeMacro( ImageReader, cpPluginsInterfaceImageSource ); + + protected: ImageReader( ); virtual ~ImageReader( ); - virtual std::string GetClassName( ) const; - - protected: virtual std::string _GenerateData( ); template< unsigned int D > - std::string _GD0( ); + std::string _GD0( itk::ImageIOBase* io, const TStringList& names ); template< class P, unsigned int D > - std::string _GD1( ); + std::string _RealGD( const TStringList& names ); - protected: - itk::ProcessObject::Pointer m_Reader; + private: + // Purposely not implemented + ImageReader( const Self& ); + Self& operator=( const Self& ); }; // --------------------------------------------------------------------- - PLUMA_INHERIT_PROVIDER( ImageReader, cpPlugins::Interface::Object ); + CPPLUGINS_INHERIT_PROVIDER( ImageReader ); } // ecapseman