]> Creatis software - clitk.git/blobdiff - registration/clitkAffineRegistrationGenericFilter.h
Debug RTStruct conversion with empty struc
[clitk.git] / registration / clitkAffineRegistrationGenericFilter.h
index 830046f637394a4153a39430d8bc57738a933fdc..94890ddd59a6d63a5ea492a10a3a9b535acc9dce 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
 
   - 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 "clitkAffineRegistration_ggo.h"
-#include "clitkCorrelationRatioImageToImageMetric.h"
-#include "clitkTransformUtilities.h"
-#include "clitkGenericMetric.h"
-#include "clitkGenericOptimizer.h"
-#include "clitkGenericInterpolator.h"
-#include "clitkGenericAffineTransform.h"
-
-//itk include
-#include <itkMultiResolutionImageRegistrationMethod.h>
-#include <itkMultiResolutionPyramidImageFilter.h>
-#include <itkImageToImageMetric.h>
-#include <itkEuler2DTransform.h>
-#include <itkCenteredEuler3DTransform.h>
-#include <itkImage.h>
-#include <itkResampleImageFilter.h>
-#include <itkCastImageFilter.h>
-#include <itkNormalizeImageFilter.h>
-#include <itkDiscreteGaussianImageFilter.h>
-#include <itkImageMaskSpatialObject.h>
-#include <itkCommand.h>
-#include <itkCheckerBoardImageFilter.h>
-#include <itkSubtractImageFilter.h>
-#include <itkLightObject.h>
-#include <itkImageMomentsCalculator.h>
-#include <itkThresholdImageFilter.h>
-
-// other includes
-#include <time.h>
-#include <iostream>
-#include <iomanip>
+#include "clitkImageToImageGenericFilter.h"
+
+
+
 
 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