1 /*=========================================================================
2 Program: vv http://www.creatis.insa-lyon.fr/rio/vv
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
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.
13 It is distributed under dual licence
15 - BSD See included LICENSE.txt file
16 - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
17 ======================================================================-====*/
19 #ifndef CLITKAFFINEREGISTRATIONGENERICFILTER_H
20 #define CLITKAFFINEREGISTRATIONGENERICFILTER_H
24 #include "clitkCommon.h"
25 #include "clitkAffineRegistration_ggo.h"
26 #include "clitkCorrelationRatioImageToImageMetric.h"
27 #include "clitkTransformUtilities.h"
28 #include "clitkGenericMetric.h"
29 #include "clitkGenericOptimizer.h"
30 #include "clitkGenericInterpolator.h"
31 #include "clitkGenericAffineTransform.h"
34 #include <itkMultiResolutionImageRegistrationMethod.h>
35 #include <itkMultiResolutionPyramidImageFilter.h>
36 #include <itkImageToImageMetric.h>
37 #include <itkEuler2DTransform.h>
38 #include <itkCenteredEuler3DTransform.h>
40 #include <itkResampleImageFilter.h>
41 #include <itkCastImageFilter.h>
42 #include <itkNormalizeImageFilter.h>
43 #include <itkDiscreteGaussianImageFilter.h>
44 #include <itkImageMaskSpatialObject.h>
45 #include <itkCommand.h>
46 #include <itkCheckerBoardImageFilter.h>
47 #include <itkSubtractImageFilter.h>
48 #include <itkLightObject.h>
49 #include <itkImageMomentsCalculator.h>
50 #include <itkThresholdImageFilter.h>
60 //====================================================================
61 class AffineRegistrationGenericFilter: public itk::LightObject
65 //================================================
66 typedef AffineRegistrationGenericFilter Self;
67 typedef itk::LightObject Superclass;
68 typedef itk::SmartPointer<Self> Pointer;
69 typedef itk::SmartPointer<const Self> ConstPointer;
71 //================================================
74 //====================================================================
76 void SetArgsInfo(const args_info_clitkAffineRegistration args_info) {
78 m_Verbose=m_ArgsInfo.verbose_flag;
81 //====================================================================
86 const char * GetNameOfClass() const {
87 return "AffineRegistrationGenericFilter";
90 //====================================================================
91 // Constructor & Destructor
92 AffineRegistrationGenericFilter();
93 ~AffineRegistrationGenericFilter() {
97 //====================================================================
98 //Templated member functions
99 template <unsigned int Dimension> void UpdateWithDim(std::string PixelType);
100 template <unsigned int Dimension, class PixelType> void UpdateWithDimAndPixelType();
102 //====================================================================
106 args_info_clitkAffineRegistration m_ArgsInfo;
110 #ifndef ITK_MANUAL_INSTANTIATION
111 #include "clitkAffineRegistrationGenericFilter.txx"
115 #endif //#define CLITKAFFINEREGISTRATIONGENERICFILTER__H