]> Creatis software - clitk.git/blob - filters/clitkImageConvertGenericFilter.h
Initial revision
[clitk.git] / filters / clitkImageConvertGenericFilter.h
1 #ifndef CLITKIMAGECONVERTGENERICFILTER_H
2 #define CLITKIMAGECONVERTGENERICFILTER_H
3
4 /**
5  ===================================================================
6  * @file   clitkImageConvertGenericFilter.h
7  * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
8  * @date   05 May 2008 10:40:24
9
10  * @brief  
11
12  ===================================================================*/
13
14 // clitk include
15 #include "clitkImageToImageGenericFilter.h"
16
17 // itk include
18 #include "itkCastImageFilter.h"
19
20 namespace clitk {
21   
22   class ImageConvertGenericFilter: public clitk::ImageToImageGenericFilter {
23     
24   public: 
25     // constructor - destructor
26     ImageConvertGenericFilter();
27
28     // Types
29     typedef ImageConvertGenericFilter     Self;
30     typedef ImageToImageGenericFilter     Superclass;
31     typedef itk::SmartPointer<Self>       Pointer;
32     typedef itk::SmartPointer<const Self> ConstPointer;
33
34     // New
35     itkNewMacro(Self);
36     
37     // Members functions
38     void SetOutputPixelType(std::string p) { mOutputPixelTypeName = p; }
39     void Update();
40
41   protected:
42     std::string mOutputPixelTypeName;
43
44     template<unsigned int Dim> void Update_WithDim();
45     template<unsigned int Dim, class PixelType> void Update_WithDimAndPixelType();
46     template<unsigned int Dim, class PixelType, class OutputPixelType> void Update_WithDimAndPixelTypeAndOutputType();
47
48   }; // end class ImageConvertGenericFilter
49
50 #include "clitkImageConvertGenericFilter.txx"
51
52 } // end namespace
53
54 #endif /* end #define CLITKIMAGECONVERTGENERICFILTER_H */
55