]> Creatis software - clitk.git/blobdiff - registration/clitkAffineRegistrationGenericFilter.h
remove tools (now in tests_dav)
[clitk.git] / registration / clitkAffineRegistrationGenericFilter.h
index 830046f637394a4153a39430d8bc57738a933fdc..22b9f522585c241f99ee48e3a3376e6a861d4a56 100644 (file)
@@ -3,7 +3,7 @@
 
   Authors belong to:
   - University of LYON              http://www.universite-lyon.fr/
-  - Léon Bérard cancer center       http://oncora1.lyon.fnclcc.fr
+  - Léon Bérard cancer center       http://www.centreleonberard.fr
   - CREATIS CNRS laboratory         http://www.creatis.insa-lyon.fr
 
   This software is distributed WITHOUT ANY WARRANTY; without even
@@ -14,7 +14,7 @@
 
   - BSD        See included LICENSE.txt file
   - CeCILL-B   http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
 
 #ifndef CLITKAFFINEREGISTRATIONGENERICFILTER_H
 #define CLITKAFFINEREGISTRATIONGENERICFILTER_H
 // clitk include
 #include "clitkIO.h"
 #include "clitkCommon.h"
+#include "clitkImageCommon.h"
 #include "clitkAffineRegistration_ggo.h"
+#include "clitkImageArithm_ggo.h"
 #include "clitkCorrelationRatioImageToImageMetric.h"
 #include "clitkTransformUtilities.h"
 #include "clitkGenericMetric.h"
 #include "clitkGenericOptimizer.h"
 #include "clitkGenericInterpolator.h"
 #include "clitkGenericAffineTransform.h"
+#include "clitkImageToImageGenericFilter.h"
+
 
 //itk include
 #include <itkMultiResolutionImageRegistrationMethod.h>
@@ -58,58 +62,38 @@ namespace clitk
 {
 
 //====================================================================
-class AffineRegistrationGenericFilter: public itk::LightObject
+class ITK_EXPORT AffineRegistrationGenericFilter:
+    public ImageToImageGenericFilter<AffineRegistrationGenericFilter>
 {
 public:
 
+  AffineRegistrationGenericFilter();
+
   //================================================
   typedef AffineRegistrationGenericFilter        Self;
-  typedef itk::LightObject  Superclass;
+  
   typedef itk::SmartPointer<Self>        Pointer;
   typedef itk::SmartPointer<const Self> ConstPointer;
-
+  typedef ImageToImageGenericFilterBase   Superclass;
   //================================================
   itkNewMacro(Self);
+  //itkTypeMacro(AffineRegistrationGenericFilter, LightObject);
 
-  //====================================================================
-  // Set methods
-  void SetArgsInfo(const args_info_clitkAffineRegistration args_info) {
-    m_ArgsInfo=args_info;
-    m_Verbose=m_ArgsInfo.verbose_flag;
-  }
-
-  //====================================================================
-  // Update
-  void Update();
-
-protected:
-  const char * GetNameOfClass() const {
-    return "AffineRegistrationGenericFilter";
-  }
 
   //====================================================================
-  // Constructor & Destructor
-  AffineRegistrationGenericFilter();
-  ~AffineRegistrationGenericFilter() {
-    ;
-  }
+  // Set methods
+       void SetArgsInfo(const args_info_clitkAffineRegistration & a);
 
   //====================================================================
-  //Templated member functions
-  template <unsigned int Dimension> void UpdateWithDim(std::string PixelType);
-  template <unsigned int Dimension, class PixelType> void UpdateWithDimAndPixelType();
+  template<unsigned int Dim>
+  void InitializeImageType();
 
-  //====================================================================
-  //Member Data
-public:
   bool m_Verbose;
   args_info_clitkAffineRegistration m_ArgsInfo;
+
+  template<class InputImageType>
+  void UpdateWithInputImageType();
 };
 }
 
-#ifndef ITK_MANUAL_INSTANTIATION
-#include "clitkAffineRegistrationGenericFilter.txx"
-#endif
-
-
 #endif //#define CLITKAFFINEREGISTRATIONGENERICFILTER__H