]> Creatis software - clitk.git/blob - segmentation/clitkFillMaskGenericFilter.h
some segmentation tools (most from jef)
[clitk.git] / segmentation / clitkFillMaskGenericFilter.h
1 #ifndef clitkFillMaskGenericFilter_h
2 #define clitkFillMaskGenericFilter_h
3
4 /* =================================================
5  * @file   clitkFillMaskGenericFilter.h
6  * @author 
7  * @date   
8  * 
9  * @brief 
10  * 
11  ===================================================*/
12
13
14 // clitk include
15 #include "clitkFillMask_ggo.h"
16 #include "clitkImageCommon.h"
17 #include "clitkExtractImageFilter.h"
18
19 //itk include
20 #include "itkLightObject.h"
21 #include "itkJoinSeriesImageFilter.h"
22 #include "itkBinaryThresholdImageFilter.h"
23 #include "itkConnectedComponentImageFilter.h"
24 #include "itkRelabelComponentImageFilter.h"
25 #include "itkThresholdImageFilter.h"
26 #include "itkPermuteAxesImageFilter.h"
27 #include "itkExtractImageFilter.h"
28 #include "itkCastImageFilter.h"
29
30 namespace clitk 
31 {
32
33
34   class ITK_EXPORT FillMaskGenericFilter : public itk::LightObject
35   {
36   public:
37     //----------------------------------------
38     // ITK
39     //----------------------------------------
40     typedef FillMaskGenericFilter                   Self;
41     typedef itk::LightObject                   Superclass;
42     typedef itk::SmartPointer<Self>            Pointer;
43     typedef itk::SmartPointer<const Self>      ConstPointer;
44    
45     // Method for creation through the object factory
46     itkNewMacro(Self);  
47
48     // Run-time type information (and related methods)
49     itkTypeMacro( FillMaskGenericFilter, LightObject );
50
51
52     //----------------------------------------
53     // Typedefs
54     //----------------------------------------
55
56
57     //----------------------------------------
58     // Set & Get
59     //----------------------------------------    
60     void SetArgsInfo(const args_info_clitkFillMask & a)
61     {
62       m_ArgsInfo=a;
63       m_Verbose=m_ArgsInfo.verbose_flag;
64       m_InputFileName=m_ArgsInfo.input_arg;
65     }
66     
67     
68     //----------------------------------------  
69     // Update
70     //----------------------------------------  
71     void Update();
72
73   protected:
74
75     //----------------------------------------  
76     // Constructor & Destructor
77     //----------------------------------------  
78     FillMaskGenericFilter();
79     ~FillMaskGenericFilter() {};
80
81     
82     //----------------------------------------  
83     // Templated members
84     //----------------------------------------  
85     template <class PixelType>  void UpdateWithPixelType();
86
87
88     //----------------------------------------  
89     // Data members
90     //----------------------------------------
91     args_info_clitkFillMask m_ArgsInfo;
92     bool m_Verbose;
93     std::string m_InputFileName;
94
95   };
96
97
98 } // end namespace clitk
99
100 #ifndef ITK_MANUAL_INSTANTIATION
101 #include "clitkFillMaskGenericFilter.txx"
102 #endif
103
104 #endif // #define clitkFillMaskGenericFilter_h