X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FitkMeanSquaresImageToImageMetricFor3DBLUTFFD.h;h=c3be983d68cafdb579d9206427295e64609a238f;hb=ef03fc34db849c864b1ae7f50c8442e125834f84;hp=17b6379fc70e1e66b6c1d3c7278b6da0f32d04c0;hpb=c18059db4f507fd31b5898667f57eced7d48c5f7;p=clitk.git diff --git a/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h b/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h index 17b6379..c3be983 100644 --- a/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h +++ b/registration/itkMeanSquaresImageToImageMetricFor3DBLUTFFD.h @@ -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 -======================================================================-====*/ +===========================================================================**/ /*========================================================================= @@ -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