]> Creatis software - clitk.git/blob - tools/clitkExtrudeGenericFilter.h
Add clitkExtrude tool
[clitk.git] / tools / clitkExtrudeGenericFilter.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 #ifndef clitkExtrudeGenericFilter_h
19 #define clitkExtrudeGenericFilter_h
20 #include "clitkIO.h"
21 #include "clitkImageToImageGenericFilter.h"
22
23 //--------------------------------------------------------------------
24 namespace clitk
25 {
26
27 template<class args_info_type>
28 class ITK_EXPORT ExtrudeGenericFilter:
29         public ImageToImageGenericFilter<ExtrudeGenericFilter<args_info_type> >
30 {
31
32 public:
33
34     //--------------------------------------------------------------------
35     ExtrudeGenericFilter();
36
37     //--------------------------------------------------------------------
38     typedef ExtrudeGenericFilter               Self;
39     typedef itk::SmartPointer<Self>            Pointer;
40     typedef itk::SmartPointer<const Self>      ConstPointer;
41
42     //--------------------------------------------------------------------
43     // Method for creation through the object factory
44     // and Run-time type information (and related methods)
45     itkNewMacro(Self);
46     itkTypeMacro(ExtrudeGenericFilter, LightObject);
47
48     //--------------------------------------------------------------------
49     void SetArgsInfo(const args_info_type & a);
50
51     //--------------------------------------------------------------------
52     // Main function called each time the filter is updated
53     template<class InputImageType>
54     void UpdateWithInputImageType();
55
56 protected:
57     template<unsigned int Dim> void InitializeImageType();
58     args_info_type mArgsInfo;
59
60 }; // end class
61 //--------------------------------------------------------------------
62
63 } // end namespace clitk
64
65 #ifndef ITK_MANUAL_INSTANTIATION
66 #include "clitkExtrudeGenericFilter.txx"
67 #endif
68
69 #endif // #define clitkExtrudeGenericFilter_h