X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkNormalizedCorrelationImageToImageMetric.h;h=0dd921bdf63c0c355dfdfb7908ad4b0a33c80e43;hb=e1e858002a1f83257ea28a37e611de3e1373f779;hp=1ef894fe4675ff00774c9d43c46541126a248d46;hpb=c18059db4f507fd31b5898667f57eced7d48c5f7;p=clitk.git diff --git a/registration/clitkNormalizedCorrelationImageToImageMetric.h b/registration/clitkNormalizedCorrelationImageToImageMetric.h index 1ef894f..0dd921b 100644 --- a/registration/clitkNormalizedCorrelationImageToImageMetric.h +++ b/registration/clitkNormalizedCorrelationImageToImageMetric.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 -======================================================================-====*/ +===========================================================================**/ #ifndef _clitkNormalizedCorrelationImageToImageMetric_h #define _clitkNormalizedCorrelationImageToImageMetric_h @@ -23,96 +23,7 @@ // This line can be removed once the optimized versions // gets integrated into the main directories. #include "itkConfigure.h" - -#ifdef ITK_USE_OPTIMIZED_REGISTRATION_METHODS #include "clitkOptNormalizedCorrelationImageToImageMetric.h" -#else - -#include "itkImageToImageMetric.h" -#include "itkCovariantVector.h" -#include "itkPoint.h" - - -namespace clitk -{ - -template < class TFixedImage, class TMovingImage > -class ITK_EXPORT NormalizedCorrelationImageToImageMetric : - public itk::ImageToImageMetric< TFixedImage, TMovingImage> -{ -public: - - /** Standard class typedefs. */ - typedef NormalizedCorrelationImageToImageMetric Self; - typedef itk::ImageToImageMetric Superclass; - - typedef itk::SmartPointer Pointer; - typedef itk::SmartPointer ConstPointer; - - /** Method for creation through the object factory. */ - itkNewMacro(Self); - - /** Run-time type information (and related methods). */ - itkTypeMacro(NormalizedCorrelationImageToImageMetric, itk::Object); - - - /** 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::OutputPointType OutputPointType; - typedef typename Superclass::InputPointType InputPointType; - - 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; - - /** Set/Get SubtractMean boolean. If true, the sample mean is subtracted - * from the sample values in the cross-correlation formula and - * typically results in narrower valleys in the cost fucntion. - * Default value is false. */ - itkSetMacro( SubtractMean, bool ); - itkGetConstReferenceMacro( SubtractMean, bool ); - itkBooleanMacro( SubtractMean ); - -protected: - NormalizedCorrelationImageToImageMetric(); - virtual ~NormalizedCorrelationImageToImageMetric() {}; - void PrintSelf(std::ostream& os, itk::Indent indent) const; - -private: - NormalizedCorrelationImageToImageMetric(const Self&); //purposely not implemented - void operator=(const Self&); //purposely not implemented - - bool m_SubtractMean; - -}; - -} // end namespace clitk - -#ifndef ITK_MANUAL_INSTANTIATION -#include "clitkNormalizedCorrelationImageToImageMetric.txx" -#endif - -#endif // opt #endif // _clitkNormalizedCorrelationImageToImageMetric.txx