X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkOptNormalizedCorrelationImageToImageMetric.txx;h=d1a89f9646aed937205fa639c9269812e1d4e199;hb=6ab0361c289035b4ba8487fe074ea9b268341da9;hp=d20a0e9c4b3265457e37e3d9c44889b28d4eeb4e;hpb=573d80d0f7a17607d2ee883c21c940c0ba020282;p=clitk.git diff --git a/registration/clitkOptNormalizedCorrelationImageToImageMetric.txx b/registration/clitkOptNormalizedCorrelationImageToImageMetric.txx index d20a0e9..d1a89f9 100644 --- a/registration/clitkOptNormalizedCorrelationImageToImageMetric.txx +++ b/registration/clitkOptNormalizedCorrelationImageToImageMetric.txx @@ -159,7 +159,7 @@ NormalizedCorrelationImageToImageMetric delete [] m_ThreaderDerivativeF; } m_ThreaderDerivativeF = new DerivativeType[this->m_NumberOfThreads]; - for(unsigned int threadID=0; threadIDm_NumberOfThreads; threadID++) { + for(itk::ThreadIdType threadID=0; threadIDm_NumberOfThreads; threadID++) { m_ThreaderDerivativeF[threadID].SetSize( this->m_NumberOfParameters ); } @@ -167,7 +167,7 @@ NormalizedCorrelationImageToImageMetric delete [] m_ThreaderDerivativeM; } m_ThreaderDerivativeM = new DerivativeType[this->m_NumberOfThreads]; - for(unsigned int threadID=0; threadIDm_NumberOfThreads; threadID++) { + for(itk::ThreadIdType threadID=0; threadIDm_NumberOfThreads; threadID++) { m_ThreaderDerivativeM[threadID].SetSize( this->m_NumberOfParameters ); } } @@ -177,7 +177,7 @@ template < class TFixedImage, class TMovingImage > inline bool NormalizedCorrelationImageToImageMetric ::GetValueThreadProcessSample( - unsigned int threadID, + itk::ThreadIdType threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue) const @@ -354,7 +354,7 @@ template < class TFixedImage, class TMovingImage > inline bool NormalizedCorrelationImageToImageMetric ::GetValueAndDerivativeThreadProcessSample( - unsigned int threadID, + itk::ThreadIdType threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue, @@ -381,8 +381,13 @@ NormalizedCorrelationImageToImageMetric } // Jacobian should be evaluated at the unmapped (fixed image) point. +#if ITK_VERSION_MAJOR >= 4 + TransformJacobianType jacobian; + transform->ComputeJacobianWithRespectToParameters(fixedImagePoint, jacobian); +#else const TransformJacobianType & jacobian = transform ->GetJacobian( fixedImagePoint ); +#endif for(unsigned int par=0; parm_NumberOfParameters; par++) { RealType sumF = itk::NumericTraits< RealType >::Zero; @@ -433,16 +438,16 @@ NormalizedCorrelationImageToImageMetric } memset( derivative.data_block(), 0, - this->m_NumberOfParameters * sizeof(ITK_TYPENAME DerivativeType::ValueType) ); + this->m_NumberOfParameters * sizeof(typename DerivativeType::ValueType) ); - for( unsigned int threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { + for( itk::ThreadIdType threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { memset( m_ThreaderDerivativeF[threadID].data_block(), 0, - this->m_NumberOfParameters * sizeof(ITK_TYPENAME DerivativeType::ValueType) ); + this->m_NumberOfParameters * sizeof(typename DerivativeType::ValueType) ); memset( m_ThreaderDerivativeM[threadID].data_block(), 0, - this->m_NumberOfParameters * sizeof(ITK_TYPENAME DerivativeType::ValueType) ); + this->m_NumberOfParameters * sizeof(typename DerivativeType::ValueType) ); } // MUST BE CALLED TO INITIATE PROCESSING