X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx;h=147c6fbcbb2252259209c6799ea645b9e20dcaf8;hb=5d11babf14d2a6e12c041286c9d107aa9eff1c10;hp=de0366e1d998baadc051fafa9d89051dec7f1947;hpb=e0561dae1fa08ae95f620029a50de7a370e55d04;p=clitk.git diff --git a/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx b/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx index de0366e..147c6fb 100644 --- a/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx +++ b/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx @@ -159,7 +159,7 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD delete [] m_ThreaderDerivativeF; } m_ThreaderDerivativeF = new DerivativeType[this->m_NumberOfThreads]; - for(unsigned int threadID=0; threadIDm_NumberOfThreads; threadID++) { + for(ThreadIdType threadID=0; threadIDm_NumberOfThreads; threadID++) { m_ThreaderDerivativeF[threadID].SetSize( this->m_NumberOfParameters ); } @@ -167,7 +167,7 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD delete [] m_ThreaderDerivativeM; } m_ThreaderDerivativeM = new DerivativeType[this->m_NumberOfThreads]; - for(unsigned int threadID=0; threadIDm_NumberOfThreads; threadID++) { + for(ThreadIdType threadID=0; threadIDm_NumberOfThreads; threadID++) { m_ThreaderDerivativeM[threadID].SetSize( this->m_NumberOfParameters ); } } @@ -177,7 +177,7 @@ template < class TFixedImage, class TMovingImage > inline bool NormalizedCorrelationImageToImageMetricFor3DBLUTFFD ::GetValueThreadProcessSample( - unsigned int threadID, + ThreadIdType threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue) const @@ -354,7 +354,7 @@ template < class TFixedImage, class TMovingImage > inline bool NormalizedCorrelationImageToImageMetricFor3DBLUTFFD ::GetValueAndDerivativeThreadProcessSample( - unsigned int threadID, + ThreadIdType threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue, @@ -381,7 +381,12 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD } // 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++) // { @@ -459,7 +464,7 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD 0, this->m_NumberOfParameters * sizeof(typename DerivativeType::ValueType) ); - for( unsigned int threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { + for( ThreadIdType threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { memset( m_ThreaderDerivativeF[threadID].data_block(), 0, this->m_NumberOfParameters * sizeof(typename DerivativeType::ValueType) );