]> Creatis software - clitk.git/blob - tools/clitkAverageTemporalDimensionGenericFilter.h
Initial revision
[clitk.git] / tools / clitkAverageTemporalDimensionGenericFilter.h
1 #ifndef clitkAverageTemporalDimensionGenericFilter_h
2 #define clitkAverageTemporalDimensionGenericFilter_h
3
4 /* =================================================
5  * @file   clitkAverageTemporalDimensionGenericFilter.h
6  * @author 
7  * @date   
8  * 
9  * @brief 
10  * 
11  ===================================================*/
12
13
14 // clitk include
15 #include "clitkIO.h"
16 #include "clitkCommon.h"
17 #include "clitkAverageTemporalDimension_ggo.h"
18
19 //itk include
20 #include "itkLightObject.h"
21
22 namespace clitk 
23 {
24
25   template<class args_info_type>
26   class ITK_EXPORT AverageTemporalDimensionGenericFilter : public itk::LightObject
27   {
28   public:
29     //----------------------------------------
30     // ITK
31     //----------------------------------------
32     typedef AverageTemporalDimensionGenericFilter                   Self;
33     typedef itk::LightObject                   Superclass;
34     typedef itk::SmartPointer<Self>            Pointer;
35     typedef itk::SmartPointer<const Self>      ConstPointer;
36    
37     // Method for creation through the object factory
38     itkNewMacro(Self);  
39
40     // Run-time type information (and related methods)
41     itkTypeMacro( AverageTemporalDimensionGenericFilter, LightObject );
42
43
44     //----------------------------------------
45     // Typedefs
46     //----------------------------------------
47
48
49     //----------------------------------------
50     // Set & Get
51     //----------------------------------------    
52     void SetArgsInfo(const args_info_type & a)
53     {
54       m_ArgsInfo=a;
55       m_Verbose=m_ArgsInfo.verbose_flag;
56       m_InputFileName=m_ArgsInfo.input_arg[0];
57     }
58     
59     
60     //----------------------------------------  
61     // Update
62     //----------------------------------------  
63     void Update();
64
65   protected:
66
67     //----------------------------------------  
68     // Constructor & Destructor
69     //----------------------------------------  
70     AverageTemporalDimensionGenericFilter();
71     ~AverageTemporalDimensionGenericFilter() {};
72
73     
74     //----------------------------------------  
75     // Templated members
76     //----------------------------------------  
77     template <unsigned int Dimension>  void UpdateWithDim(const std::string PixelType, const int Components);
78     template <unsigned int Dimension, class PixelType>  void UpdateWithDimAndPixelType();
79
80
81     //----------------------------------------  
82     // Data members
83     //----------------------------------------
84     args_info_type m_ArgsInfo;
85     bool m_Verbose;
86     std::string m_InputFileName;
87
88   };
89
90
91 } // end namespace clitk
92
93 #ifndef ITK_MANUAL_INSTANTIATION
94 #include "clitkAverageTemporalDimensionGenericFilter.txx"
95 #endif
96
97 #endif // #define clitkAverageTemporalDimensionGenericFilter_h