X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FitkMeanSquaresImageToImageMetricFor3DBLUTFFD.h;h=c3be983d68cafdb579d9206427295e64609a238f;hb=d786b4f836c0f12ba4a6dd06803cbe771ac371e3;hp=e2cfdbddb0ec65e444185cc0025806b72dc51760;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h b/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h index e2cfdbd..c3be983 100644 --- a/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h +++ b/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h @@ -40,112 +40,6 @@ // gets integrated into the main directories. #include "itkConfigure.h" -#ifdef ITK_USE_OPTIMIZED_REGISTRATION_METHODS #include "itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.h" -#else - -#include "itkImageToImageMetric.h" -#include "itkCovariantVector.h" -#include "itkPoint.h" - - -namespace itk -{ -/** \class MeanSquaresImageToImageMetricFor3DBLUTFFD - * \brief Computes similarity between two objects to be registered - * - * This Class is templated over the type of the fixed and moving - * images to be compared. - * - * This metric computes the sum of squared differences between pixels in - * the moving image and pixels in the fixed image. The spatial correspondance - * between both images is established through a Transform. Pixel values are - * taken from the Moving image. Their positions are mapped to the Fixed image - * and result in general in non-grid position on it. Values at these non-grid - * position of the Fixed image are interpolated using a user-selected Interpolator. - * - * \ingroup RegistrationMetrics - */ -template < class TFixedImage, class TMovingImage > -class ITK_EXPORT MeanSquaresImageToImageMetricFor3DBLUTFFD : - public ImageToImageMetric< TFixedImage, TMovingImage> -{ -public: - - /** Standard class typedefs. */ - typedef MeanSquaresImageToImageMetricFor3DBLUTFFD Self; - typedef ImageToImageMetric Superclass; - typedef SmartPointer Pointer; - typedef SmartPointer ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(MeanSquaresImageToImageMetricFor3DBLUTFFD, ImageToImageMetric); - - - /** Types transferred from the base class */ - typedef typename Superclass::RealType RealType; - typedef typename Superclass::TransformType TransformType; - typedef typename Superclass::TransformPointer TransformPointer; - typedef typename Superclass::TransformParametersType TransformParametersType; - typedef typename Superclass::TransformJacobianType TransformJacobianType; - typedef typename Superclass::GradientPixelType GradientPixelType; - typedef typename Superclass::GradientImageType GradientImageType; - typedef typename Superclass::InputPointType InputPointType; - typedef typename Superclass::OutputPointType OutputPointType; - - typedef typename Superclass::MeasureType MeasureType; - typedef typename Superclass::DerivativeType DerivativeType; - typedef typename Superclass::FixedImageType FixedImageType; - typedef typename Superclass::MovingImageType MovingImageType; - typedef typename Superclass::FixedImageConstPointer FixedImageConstPointer; - typedef typename Superclass::MovingImageConstPointer MovingImageConstPointer; - - - /** Get the derivatives of the match measure. */ - void GetDerivative( const TransformParametersType & parameters, - DerivativeType & derivative ) const; - - /** Get the value for single valued optimizers. */ - MeasureType GetValue( const TransformParametersType & parameters ) const; - - /** Get value and derivatives for multiple valued optimizers. */ - void GetValueAndDerivative( const TransformParametersType & parameters, - MeasureType& Value, DerivativeType& Derivative ) const; - -#ifdef ITK_USE_CONCEPT_CHECKING - /** Begin concept checking */ - itkConceptMacro(MovingPixelTypeHasNumericTraitsCheck, - (Concept::HasNumericTraits)); - itkConceptMacro(MovingRealTypeAdditivieOperatorsCheck, - (Concept::AdditiveOperators< - typename NumericTraits::RealType>)); - itkConceptMacro(MovingRealTypeMultiplyOperatorCheck, - (Concept::MultiplyOperator< - typename NumericTraits::RealType>)); - - /** End concept checking */ -#endif - -protected: - MeanSquaresImageToImageMetricFor3DBLUTFFD(); - virtual ~MeanSquaresImageToImageMetricFor3DBLUTFFD() {}; - -private: - MeanSquaresImageToImageMetricFor3DBLUTFFD(const Self&); //purposely not implemented - void operator=(const Self&); //purposely not implemented - -}; - -} // end namespace itk - -#ifndef ITK_MANUAL_INSTANTIATION -#include "itkMeanSquaresImageToImageMetricFor3DBLUTFFD.txx" -#endif - -#endif - #endif