]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/RGBImageToOtherChannelsFilter.h
0ccb16cf7b225c212f24be87b1a3af8e5d617baa
[cpPlugins.git] / lib / cpPlugins / Plugins / RGBImageToOtherChannelsFilter.h
1 #ifndef __CPPLUGINS__PLUGINS__RGBIMAGETOOTHERCHANNELSFILTER__H__
2 #define __CPPLUGINS__PLUGINS__RGBIMAGETOOTHERCHANNELSFILTER__H__
3
4 #include <cpPlugins/Plugins/cpPlugins_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 namespace cpPlugins
8 {
9   namespace Plugins
10   {
11     /**
12      */
13     class cpPlugins_EXPORT RGBImageToOtherChannelsFilter
14       : public cpPlugins::Interface::ImageToImageFilter
15     {
16     public:
17       typedef RGBImageToOtherChannelsFilter            Self;
18       typedef cpPlugins::Interface::ImageToImageFilter Superclass;
19       typedef itk::SmartPointer< Self >                Pointer;
20       typedef itk::SmartPointer< const Self >          ConstPointer;
21
22     public:
23       itkNewMacro( Self );
24       itkTypeMacro(
25         RGBImageToOtherChannelsFilter,
26         cpPluginsInterfaceImageToImageFilter
27         );
28
29     protected:
30       RGBImageToOtherChannelsFilter( );
31       virtual ~RGBImageToOtherChannelsFilter( );
32
33       virtual std::string _GenerateData( );
34
35       template< class I >
36         inline std::string _DemangleOutput( itk::DataObject* image );
37
38       template< class I, class C >
39         inline std::string _RealGD( itk::DataObject* image );
40
41     private:
42       // Purposely not implemented
43       RGBImageToOtherChannelsFilter( const Self& );
44       Self& operator=( const Self& );
45     };
46
47     // ---------------------------------------------------------------------
48     CPPLUGINS_INHERIT_PROVIDER( RGBImageToOtherChannelsFilter );
49
50   } // ecapseman
51
52 } // ecapseman
53
54 #endif // __CPPLUGINS__PLUGINS__RGBIMAGETOOTHERCHANNELSFILTER__H__
55
56 // eof - $RCSfile$