]> Creatis software - clitk.git/blob - tools/clitkBinarizeImageGenericFilter.h
Smart pointer for filter in vv tools
[clitk.git] / tools / clitkBinarizeImageGenericFilter.h
1 /*=========================================================================
2   Program:   vv                     http://www.creatis.insa-lyon.fr/rio/vv
3
4   Authors belong to: 
5   - University of LYON              http://www.universite-lyon.fr/
6   - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
7   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
8
9   This software is distributed WITHOUT ANY WARRANTY; without even
10   the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11   PURPOSE.  See the copyright notices for more information.
12
13   It is distributed under dual licence
14
15   - BSD        See included LICENSE.txt file
16   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ======================================================================-====*/
18
19 #ifndef clitkBinarizeImageGenericFilter_h
20 #define clitkBinarizeImageGenericFilter_h
21
22 #include "clitkIO.h"
23 #include "clitkImageToImageGenericFilter.h"
24 #include "clitkBinarizeImage_ggo.h"
25
26 //--------------------------------------------------------------------
27 namespace clitk 
28 {
29   
30   class ITK_EXPORT BinarizeImageGenericFilter: 
31     public ImageToImageGenericFilter<BinarizeImageGenericFilter>
32   {
33     
34   public:
35     //--------------------------------------------------------------------
36     typedef BinarizeImageGenericFilter         Self;
37     typedef itk::SmartPointer<Self>            Pointer;
38     typedef itk::SmartPointer<const Self>      ConstPointer;
39     typedef args_info_clitkBinarizeImage       args_info_type;
40    
41     //--------------------------------------------------------------------
42     // Method for creation through the object factory
43     // and Run-time type information (and related methods)
44     itkNewMacro(Self);  
45     itkTypeMacro(BinarizeImageGenericFilter, LightObject);
46
47     //--------------------------------------------------------------------
48     void SetArgsInfo(const args_info_type & a);
49
50     //--------------------------------------------------------------------
51     // Main function called each time the filter is updated
52     template<class InputImageType>  
53     void UpdateWithInputImageType();
54
55   protected:
56     BinarizeImageGenericFilter();
57     template<unsigned int Dim> void InitializeImageType();
58     args_info_type mArgsInfo;
59     
60   }; // end class
61   //--------------------------------------------------------------------
62     
63 } // end namespace clitk
64 //--------------------------------------------------------------------
65
66 #endif // #define clitkBinarizeImageGenericFilter_h