]> Creatis software - clitk.git/blob - registration/clitkShapedBLUTSpatioTemporalDIRGenericFilter.h
e97d9daea670f04adaa2ea0dd323e4efddb5214f
[clitk.git] / registration / clitkShapedBLUTSpatioTemporalDIRGenericFilter.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://oncora1.lyon.fnclcc.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 clitkShapedBLUTSpatioTemporalDIRGenericFilter_h
19 #define clitkShapedBLUTSpatioTemporalDIRGenericFilter_h
20
21 /* =================================================
22  * @file   clitkShapedBLUTSpatioTemporalDIRGenericFilter.h
23  * @author 
24  * @date   
25  * 
26  * @brief 
27  * 
28  ===================================================*/
29
30
31 // clitk include
32 #include "clitkShapedBLUTSpatioTemporalDIR_ggo.h"
33 #include "clitkIO.h"
34 #include "clitkCommon.h"
35 #include "clitkGenericOptimizer.h"
36 #include "clitkGenericMetric.h"
37 #include "clitkGenericInterpolator.h"
38 #include "clitkShapedBLUTSpatioTemporalDeformableTransform.h"
39 #include "clitkShapedBLUTSpatioTemporalDeformableTransformInitializer.h"
40 #include "clitkSpatioTemporalMultiResolutionImageRegistrationMethod.h"
41 #include "clitkSpatioTemporalMultiResolutionPyramidImageFilter.h"
42 #include "clitkDifferenceImageFilter.h"
43 #include "clitkMultiResolutionPyramidRegionFilter.h"
44
45 //itk include
46 #include "itkLightObject.h"
47 #include "itkLabelStatisticsImageFilter.h"
48 #include "itkImageMaskSpatialObject.h"
49 #include "itkImageToImageMetric.h"
50 #include "itkInterpolateImageFunction.h"
51 #include "itkWarpImageFilter.h"
52 #include "itkImageDuplicator.h"
53 #include "itkExtractImageFilter.h"
54 #include "itkCropImageFilter.h"
55
56 namespace clitk 
57 {
58
59
60   class ITK_EXPORT ShapedBLUTSpatioTemporalDIRGenericFilter : public itk::LightObject
61   {
62   public:
63     //----------------------------------------
64     // ITK
65     //----------------------------------------
66     typedef ShapedBLUTSpatioTemporalDIRGenericFilter                   Self;
67     typedef itk::LightObject                   Superclass;
68     typedef itk::SmartPointer<Self>            Pointer;
69     typedef itk::SmartPointer<const Self>      ConstPointer;
70    
71     // Method for creation through the object factory
72     itkNewMacro(Self);  
73
74     // Run-time type information (and related methods)
75     itkTypeMacro( ShapedBLUTSpatioTemporalDIRGenericFilter, LightObject );
76
77
78     //----------------------------------------
79     // Typedefs
80     //----------------------------------------
81
82
83     //----------------------------------------
84     // Set & Get
85     //----------------------------------------    
86     void SetArgsInfo(const args_info_clitkShapedBLUTSpatioTemporalDIR & a)
87     {
88       m_ArgsInfo=a;
89       m_Verbose=m_ArgsInfo.verbose_flag;
90       m_ReferenceFileName=m_ArgsInfo.reference_arg;
91     }
92     
93     
94     //----------------------------------------  
95     // Update
96     //----------------------------------------  
97     void Update();
98
99   protected:
100
101     //----------------------------------------  
102     // Constructor & Destructor
103     //----------------------------------------  
104     ShapedBLUTSpatioTemporalDIRGenericFilter();
105     ~ShapedBLUTSpatioTemporalDIRGenericFilter() {};
106
107     
108     //----------------------------------------  
109     // Templated members
110     //----------------------------------------  
111     template <unsigned int Dimension>  void UpdateWithDim(std::string PixelType);
112     template <unsigned int Dimension, class PixelType>  void UpdateWithDimAndPixelType();
113
114
115     //----------------------------------------  
116     // Data members
117     //----------------------------------------
118     args_info_clitkShapedBLUTSpatioTemporalDIR m_ArgsInfo;
119     bool m_Verbose;
120     std::string m_ReferenceFileName;
121   };
122
123
124 } // end namespace clitk
125
126 #ifndef ITK_MANUAL_INSTANTIATION
127 #include "clitkShapedBLUTSpatioTemporalDIRGenericFilter.txx"
128 #endif
129
130 #endif // #define clitkShapedBLUTSpatioTemporalDIRGenericFilter_h