]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Plugins/BasicFilters/OtsuThresholdImageFilter.h
...
[cpPlugins.git] / lib / cpPlugins / Plugins / BasicFilters / OtsuThresholdImageFilter.h
1 #ifndef __CPPLUGINS__PLUGINS__OTSUTHRESHOLDIMAGEFILTER__H__
2 #define __CPPLUGINS__PLUGINS__OTSUTHRESHOLDIMAGEFILTER__H__
3
4 #include <cpPlugins/BasicFilters/cpPluginsBasicFilters_Export.h>
5 #include <cpPlugins/Interface/BaseProcessObjects.h>
6
7 namespace cpPlugins
8 {
9   namespace BasicFilters
10   {
11     /**
12      */
13     class cpPluginsBasicFilters_EXPORT OtsuThresholdImageFilter
14       : public cpPlugins::Interface::ImageToImageFilter
15     {
16     public:
17       typedef OtsuThresholdImageFilter                 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         OtsuThresholdImageFilter,
26         cpPluginsInterfaceImageToImageFilter
27         );
28       cpPlugins_Id_Macro(
29         cpPlugins::BasicFilters::OtsuThresholdImageFilter,
30         ImageToBinaryImageFilter
31         );
32
33     protected:
34       OtsuThresholdImageFilter( );
35       virtual ~OtsuThresholdImageFilter( );
36
37       virtual std::string _GenerateData( );
38
39       template< class I >
40         inline std::string _GD0( itk::DataObject* image );
41
42       template< class I, class O >
43         inline std::string _RealGD( itk::DataObject* image );
44
45     private:
46       // Purposely not implemented
47       OtsuThresholdImageFilter( const Self& );
48       Self& operator=( const Self& );
49     };
50
51   } // ecapseman
52
53 } // ecapseman
54
55 #endif // __CPPLUGINS__PLUGINS__OTSUTHRESHOLDIMAGEFILTER__H__
56
57 // eof - $RCSfile$