]> Creatis software - clitk.git/blobdiff - registration/clitkAffineRegistrationGenericFilter.h
remove unwanted struct
[clitk.git] / registration / clitkAffineRegistrationGenericFilter.h
index 830046f637394a4153a39430d8bc57738a933fdc..56dc60d33db1db2a19bb56f6ef333d9e59ba748f 100644 (file)
 #include "clitkIO.h"
 #include "clitkCommon.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,52 +61,38 @@ namespace clitk
 {
 
 //====================================================================
-class AffineRegistrationGenericFilter: public itk::LightObject
+template<class args_info_clitkAffineRegistration>
+class ITK_EXPORT AffineRegistrationGenericFilter:
+    public ImageToImageGenericFilter<AffineRegistrationGenericFilter<args_info_clitkAffineRegistration> >
 {
 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();
 };
 }
 
@@ -111,5 +100,4 @@ public:
 #include "clitkAffineRegistrationGenericFilter.txx"
 #endif
 
-
 #endif //#define CLITKAFFINEREGISTRATIONGENERICFILTER__H