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 "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>
{
//====================================================================
-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