]> Creatis software - clitk.git/blob - segmentation/clitkRegionGrowingGenericFilter.h
Debug RTStruct conversion with empty struc
[clitk.git] / segmentation / clitkRegionGrowingGenericFilter.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 CLITKREGIONGROWINGGENERICFILTER_H
20 #define CLITKREGIONGROWINGGENERICFILTER_H
21
22 // clitk include
23 #include "clitkIO.h"
24 #include "clitkImageToImageGenericFilter.h"
25 #include "clitkLocallyAdaptiveThresholdConnectedImageFilter.h"
26 #include "clitkExplosionControlledThresholdConnectedImageFilter.h"
27
28 //itk include
29 #include "itkLightObject.h"
30 #include "itkConnectedThresholdImageFilter.h"
31 #include "itkNeighborhoodConnectedImageFilter.h"
32 #include "itkConfidenceConnectedImageFilter.h"
33 #include "itkConfidenceConnectedImageFilter.h"
34
35 //--------------------------------------------------------------------
36 namespace clitk 
37 {
38   template<class ArgsInfoType>
39   class ITK_EXPORT RegionGrowingGenericFilter: 
40     public ImageToImageGenericFilter<RegionGrowingGenericFilter<ArgsInfoType> >
41   {
42
43   public:
44     //----------------------------------------
45     RegionGrowingGenericFilter();
46
47     //----------------------------------------
48     typedef RegionGrowingGenericFilter         Self;
49     typedef itk::SmartPointer<Self>            Pointer;
50     typedef itk::SmartPointer<const Self>      ConstPointer;
51    
52     //----------------------------------------
53     itkNewMacro(Self);  
54     itkTypeMacro( RegionGrowingGenericFilter, LightObject );
55
56     //--------------------------------------------------------------------
57     void SetArgsInfo(const ArgsInfoType & a);
58
59     //--------------------------------------------------------------------
60     // Main function called each time the filter is updated
61     template<class ImageType>  
62     void UpdateWithInputImageType();
63
64   protected:
65     void Modified() {} // Need for using itkMacros
66     template<unsigned int Dim> void InitializeImageType();
67     ArgsInfoType mArgsInfo;
68
69   }; // end class
70 } // end namespace clitk
71
72 #ifndef ITK_MANUAL_INSTANTIATION
73 #include "clitkRegionGrowingGenericFilter.txx"
74 #endif
75
76 #endif // #define CLITKREGIONGROWINGGENERICFILTER_H