X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FclitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx;h=769171b87dea70e25b491816e98a4634bb212533;hb=d5d7649dc98a8b698bca05a170253513834f04bf;hp=de0366e1d998baadc051fafa9d89051dec7f1947;hpb=e1098dccba022441144bfc1c44a2b58db7dde34e;p=clitk.git diff --git a/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx b/registration/clitkOptNormalizedCorrelationImageToImageMetricFor3DBLUTFFD.txx index de0366e..769171b 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 @@ -219,7 +219,9 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD // 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(); @@ -294,7 +296,9 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD // 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(); @@ -354,7 +358,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 +385,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++) // { @@ -446,7 +455,9 @@ NormalizedCorrelationImageToImageMetricFor3DBLUTFFD // Set up the parameters in the transform this->m_Transform->SetParameters( parameters ); +#if ITK_VERSION_MAJOR < 4 this->m_Parameters = parameters; +#endif //We need the sums and the value to be calculated first value=this->ComputeSums(parameters); @@ -459,7 +470,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) );