X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FitkMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx;h=1b38cae012c10569ca6d8add8bcf8ab490d6fb0c;hb=fa358ee6738c92950cd9e6c45f55dda6e9b4576e;hp=f13fe2aa81b9d950cdb80795f5f0d640d92ae947;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/registration/itkMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx b/registration/itkMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx index f13fe2a..1b38cae 100644 --- a/registration/itkMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx +++ b/registration/itkMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx @@ -54,7 +54,11 @@ #include "itkImageRegionIterator.h" #include "itkImageIterator.h" #include "vnl/vnl_math.h" -#include "itkBSplineDeformableTransform.h" +#if ITK_VERSION_MAJOR >= 4 + #include "itkBSplineTransform.h" +#else + #include "itkBSplineDeformableTransform.h" +#endif namespace itk { @@ -1441,9 +1445,13 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD // Compute the transform Jacobian. typedef typename TransformType::JacobianType JacobianType; - const JacobianType& jacobian = - this->m_Transform->GetJacobian( - m_FixedImageSamples[sampleNumber].FixedImagePointValue ); +#if ITK_VERSION_MAJOR >= 4 + JacobianType jacobian; + this->m_Transform->ComputeJacobianWithRespectToParameters( m_FixedImageSamples[sampleNumber].FixedImagePointValue, jacobian ); +#else + const JacobianType & jacobian = + this->m_Transform->GetJacobian( m_FixedImageSamples[sampleNumber].FixedImagePointValue ); +#endif for ( unsigned int mu = 0; mu < m_NumberOfParameters; mu++ ) { double innerProduct = 0.0; @@ -1476,8 +1484,13 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD weights = m_BSplineTransformWeightsArray[sampleNumber]; indices = m_BSplineTransformIndicesArray[sampleNumber]; } else { +#if ITK_VERSION_MAJOR >= 4 + m_BSplineTransform->ComputeJacobianFromBSplineWeightsWithRespectToPosition( + m_FixedImageSamples[sampleNumber].FixedImagePointValue, m_Weights, m_Indices ); +#else m_BSplineTransform->GetJacobian( m_FixedImageSamples[sampleNumber].FixedImagePointValue, m_Weights, m_Indices ); +#endif } for( unsigned int dim = 0; dim < FixedImageDimension; dim++ ) {