X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx;h=8aa553fd2bf14aca714bd29ecb56b1a502e1d00d;hb=e0561dae1fa08ae95f620029a50de7a370e55d04;hp=5fee9e5d540da1ec7055bce99ebe2a033346def6;hpb=c18059db4f507fd31b5898667f57eced7d48c5f7;p=clitk.git diff --git a/registration/clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx b/registration/clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx index 5fee9e5..8aa553f 100644 --- a/registration/clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx +++ b/registration/clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx @@ -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 _clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD_txx #define _clitkNormalizedCorrelationImageToImageMetricFor3DBLUTFFD_txx @@ -181,13 +181,13 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD const unsigned int ParametersDimension = this->GetNumberOfParameters(); derivative = DerivativeType( ParametersDimension ); - derivative.Fill( itk::NumericTraits::Zero ); + derivative.Fill( itk::NumericTraits::Zero ); DerivativeType derivativeF = DerivativeType( ParametersDimension ); - derivativeF.Fill( itk::NumericTraits::Zero ); + derivativeF.Fill( itk::NumericTraits::Zero ); DerivativeType derivativeM = DerivativeType( ParametersDimension ); - derivativeM.Fill( itk::NumericTraits::Zero ); + derivativeM.Fill( itk::NumericTraits::Zero ); ti.GoToBegin(); // First compute the sums @@ -251,8 +251,13 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD const RealType movingValue = this->m_Interpolator->Evaluate( transformedPoint ); const RealType fixedValue = ti.Get(); +#if ITK_VERSION_MAJOR >= 4 + TransformJacobianType jacobian; + this->m_Transform->ComputeJacobianWithRespectToParameters( inputPoint, jacobian ); +#else const TransformJacobianType & jacobian = this->m_Transform->GetJacobian( inputPoint ); +#endif // Get the gradient by NearestNeighboorInterpolation: // which is equivalent to round up the point components. @@ -353,16 +358,16 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD const unsigned int ParametersDimension = this->GetNumberOfParameters(); derivative = DerivativeType( ParametersDimension ); - derivative.Fill( itk::NumericTraits::Zero ); + derivative.Fill( itk::NumericTraits::Zero ); DerivativeType derivativeF = DerivativeType( ParametersDimension ); - derivativeF.Fill( itk::NumericTraits::Zero ); + derivativeF.Fill( itk::NumericTraits::Zero ); DerivativeType derivativeM = DerivativeType( ParametersDimension ); - derivativeM.Fill( itk::NumericTraits::Zero ); + derivativeM.Fill( itk::NumericTraits::Zero ); DerivativeType derivativeM1 = DerivativeType( ParametersDimension ); - derivativeM1.Fill( itk::NumericTraits::Zero ); + derivativeM1.Fill( itk::NumericTraits::Zero ); ti.GoToBegin(); // First compute the sums @@ -427,8 +432,13 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD const RealType movingValue = this->m_Interpolator->Evaluate( transformedPoint ); const RealType fixedValue = ti.Get(); +#if ITK_VERSION_MAJOR >= 4 + TransformJacobianType jacobian; + this->m_Transform->ComputeJacobianWithRespectToParameters( inputPoint, jacobian ); +#else const TransformJacobianType & jacobian = this->m_Transform->GetJacobian( inputPoint ); +#endif // Get the gradient by NearestNeighboorInterpolation: // which is equivalent to round up the point components.