X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FitkOptMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx;h=f55b19a5556d1d76c343babb15e80f610b6ec117;hb=5a7da4aedae5c204bc55c187717193e5950f9a44;hp=724f2bfd4c5d19bc57146e0954316ef1639bb0fc;hpb=765020625fbc092d283e221e36c83e60a1844cb7;p=clitk.git diff --git a/registration/itkOptMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx b/registration/itkOptMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx index 724f2bf..f55b19a 100644 --- a/registration/itkOptMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx +++ b/registration/itkOptMattesMutualInformationImageToImageMetricFor3DBLUTFFD.txx @@ -630,7 +630,9 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD { // Set up the parameters in the transform this->m_Transform->SetParameters( parameters ); +#if ITK_VERSION_MAJOR < 4 this->m_Parameters = parameters; +#endif // MUST BE CALLED TO INITIATE PROCESSING this->GetValueMultiThreadedInitiate(); @@ -939,7 +941,9 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD // Set up the parameters in the transform this->m_Transform->SetParameters( parameters ); +#if ITK_VERSION_MAJOR < 4 this->m_Parameters = parameters; +#endif // MUST BE CALLED TO INITIATE PROCESSING ON SAMPLES this->GetValueAndDerivativeMultiThreadedInitiate(); @@ -1152,8 +1156,13 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD transform = this->m_Transform; } +#if ITK_VERSION_MAJOR >= 4 + JacobianType jacobian; + transform->ComputeJacobianWithRespectToParameters(this->m_FixedImageSamples[sampleNumber].point, jacobian); +#else const JacobianType& jacobian = transform->GetJacobian( this->m_FixedImageSamples[sampleNumber].point ); +#endif // for ( unsigned int mu = 0; mu < this->m_NumberOfParameters; mu++ ) // { @@ -1221,9 +1230,15 @@ MattesMutualInformationImageToImageMetricFor3DBLUTFFD indicesHelper = &(this->m_BSplineTransformIndices); } +#if ITK_VERSION_MAJOR >= 4 + this->m_BSplineTransform->ComputeJacobianFromBSplineWeightsWithRespectToPosition( + this->m_FixedImageSamples[sampleNumber].point, + *weightsHelper, *indicesHelper ); +#else this->m_BSplineTransform->GetJacobian( this->m_FixedImageSamples[sampleNumber].point, *weightsHelper, *indicesHelper ); +#endif } for( unsigned int dim = 0; dim < Superclass::FixedImageDimension; dim++ ) {