]> Creatis software - clitk.git/blob - registration/clitkDemonsDeformableRegistrationGenericFilter.h
Debug RTStruct conversion with empty struc
[clitk.git] / registration / clitkDemonsDeformableRegistrationGenericFilter.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 _clitkDemonsDeformableRegistrationGenericFilter_h
19 #define _clitkDemonsDeformableRegistrationGenericFilter_h
20 /**
21    =================================================
22    * @file   clitkDemonsDeformableRegistrationGenericFilter.h
23    * @author Jef Vandemeulebroucke <jef@creatis.insa-lyon.fr>
24    * @date   14 March 2009
25    * 
26    * @brief 
27    * 
28    =================================================*/
29
30 // clitk
31 #include "clitkIO.h"
32 #include "clitkCommon.h"
33 #include "clitkDemonsDeformableRegistration_ggo.h"
34 #include "clitkDifferenceImageFilter.h"
35 #include "clitkMultiResolutionPDEDeformableRegistration.h"
36
37 // itk include
38 #include "itkMultiResolutionPDEDeformableRegistration.h"
39 #include "itkPDEDeformableRegistrationFilter.h"
40 #include "itkDemonsRegistrationFilter.h"
41 #include "itkSymmetricForcesDemonsRegistrationFilter.h"
42 #include "itkFastSymmetricForcesDemonsRegistrationFilter.h"
43 #include "itkDiffeomorphicDemonsRegistrationFilter.h"
44 #include "itkRecursiveMultiResolutionPyramidImageFilter.h"
45 #include "itkImageFileReader.h"
46 #include "itkImageFileWriter.h"
47 #include "itkCommand.h"
48 #include "itkWarpImageFilter.h"
49 #include "itkLightObject.h"
50
51
52 namespace clitk
53 {
54
55   class ITK_EXPORT DemonsDeformableRegistrationGenericFilter : public itk::LightObject
56   
57   {
58   public:
59     typedef DemonsDeformableRegistrationGenericFilter  Self;
60     typedef itk::LightObject                   Superclass;
61     typedef itk::SmartPointer<Self>            Pointer;
62     typedef itk::SmartPointer<const Self>      ConstPointer;
63     
64     /** Method for creation through the object factory. */
65     itkNewMacro(Self);  
66     
67     /** Run-time type information (and related methods) */
68     itkTypeMacro( DemonsDeformableRegistrationGenericFilter, LightObject );
69     
70     
71     //====================================================================
72     // Set methods
73     void SetArgsInfo(const args_info_clitkDemonsDeformableRegistration a)
74     {
75       m_ArgsInfo=a;
76       m_ReferenceFileName=m_ArgsInfo.reference_arg;
77       m_Verbose=m_ArgsInfo.verbose_flag;
78     }
79     
80     //====================================================================
81     // Update
82     virtual void Update();
83     
84   protected:
85     //const char * GetNameOfClass() const { return "DemonsDeformableRegistrationGenericFilter"; }
86     
87     //====================================================================
88     // Constructor & Destructor
89     DemonsDeformableRegistrationGenericFilter();
90     ~DemonsDeformableRegistrationGenericFilter(){;}
91     
92     //====================================================================
93     //Protected member functions
94     template <unsigned int Dimension>  void UpdateWithDim(std::string PixelType);
95     template <unsigned int Dimension, class PixelType>  void UpdateWithDimAndPixelType();
96     
97     args_info_clitkDemonsDeformableRegistration m_ArgsInfo;
98     bool m_Verbose;
99     std::string m_ReferenceFileName;
100     
101   };
102   
103 } // end namespace clitk
104 #ifndef ITK_MANUAL_INSTANTIATION
105 #include "clitkDemonsDeformableRegistrationGenericFilter.txx"
106 #endif
107   
108 #endif //#define _clitkDemonsDeformableRegistrationGenericFilter_h
109
110
111
112