]> Creatis software - clitk.git/blob - tools/clitkBinarizeImageGenericFilter.h
Remove sonarQube
[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://www.centreleonberard.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     void SetPercentage(double p) { mPercentage = p; }
50     double GetPercentage() const { return mPercentage; }
51
52     //--------------------------------------------------------------------
53     // Main function called each time the filter is updated
54     template<class InputImageType>  
55     void UpdateWithInputImageType();
56
57     template<class InputImageType>
58     void MaskOfIntegratedIntensity();
59
60   protected:
61     BinarizeImageGenericFilter();
62     template<unsigned int Dim> void InitializeImageType();
63     args_info_type mArgsInfo;
64     double mPercentage;
65     
66   }; // end class
67   //--------------------------------------------------------------------
68     
69 //Implementation of the pair comparative function
70 template <typename T> bool comparator ( const std::pair<T, size_t>& l, const std::pair<T, size_t>& r);
71 } // end namespace clitk
72 //--------------------------------------------------------------------
73
74 #endif // #define clitkBinarizeImageGenericFilter_h