X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=registration%2FitkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx;h=02427a397d50e586ef70dc381ffff5541c6114fb;hb=0a6ce0aedf87be56afa381561b8d5b7b7822fa15;hp=ec32c74f022147e3cb50f2d65f3a695ff8903a5e;hpb=7bf9a4e01ea80f06257ece374f291abb513c09fc;p=clitk.git diff --git a/registration/itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx b/registration/itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx index ec32c74..02427a3 100644 --- a/registration/itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx +++ b/registration/itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx @@ -100,7 +100,11 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD template void MeanSquaresImageToImageMetricFor3DBLUTFFD +#if ( ( ITK_VERSION_MAJOR == 4 ) && ( ITK_VERSION_MINOR > 12 ) || ( ITK_VERSION_MAJOR > 4 )) +::Initialize(void) +#else ::Initialize(void) throw ( ExceptionObject ) +#endif { this->Superclass::Initialize(); @@ -109,13 +113,22 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD if(m_ThreaderMSE != NULL) { delete [] m_ThreaderMSE; } +#if ITK_VERSION_MAJOR <= 4 m_ThreaderMSE = new double[this->m_NumberOfThreads]; +#else + m_ThreaderMSE = new double[this->m_NumberOfWorkUnits]; +#endif if(m_ThreaderMSEDerivatives != NULL) { delete [] m_ThreaderMSEDerivatives; } +#if ITK_VERSION_MAJOR <= 4 m_ThreaderMSEDerivatives = new DerivativeType[this->m_NumberOfThreads]; - for(ThreadIdType threadID=0; threadIDm_NumberOfThreads; threadID++) { + for(unsigned int threadID=0; threadIDm_NumberOfThreads; threadID++) { +#else + m_ThreaderMSEDerivatives = new DerivativeType[this->m_NumberOfWorkUnits]; + for(unsigned int threadID=0; threadIDm_NumberOfWorkUnits; threadID++) { +#endif m_ThreaderMSEDerivatives[threadID].SetSize( this->m_NumberOfParameters ); } } @@ -123,7 +136,7 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD template < class TFixedImage, class TMovingImage > inline bool MeanSquaresImageToImageMetricFor3DBLUTFFD -::GetValueThreadProcessSample( ThreadIdType threadID, +::GetValueThreadProcessSample( unsigned int threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue) const @@ -147,15 +160,14 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD itkExceptionMacro( << "Fixed image has not been assigned" ); } - memset( m_ThreaderMSE, - 0, - this->m_NumberOfThreads * sizeof(MeasureType) ); +#if ITK_VERSION_MAJOR <= 4 + memset( m_ThreaderMSE, 0, this->m_NumberOfThreads * sizeof(MeasureType) ); +#else + memset( m_ThreaderMSE, 0, this->m_NumberOfWorkUnits * sizeof(MeasureType) ); +#endif // 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(); @@ -174,7 +186,11 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD } double mse = m_ThreaderMSE[0]; +#if ITK_VERSION_MAJOR <= 4 for(unsigned int t=1; tm_NumberOfThreads; t++) { +#else + for(unsigned int t=1; tm_NumberOfWorkUnits; t++) { +#endif mse += m_ThreaderMSE[t]; } mse /= this->m_NumberOfPixelsCounted; @@ -186,7 +202,7 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD template < class TFixedImage, class TMovingImage > inline bool MeanSquaresImageToImageMetricFor3DBLUTFFD -::GetValueAndDerivativeThreadProcessSample( ThreadIdType threadID, +::GetValueAndDerivativeThreadProcessSample( unsigned int threadID, unsigned long fixedImageSample, const MovingImagePointType & itkNotUsed(mappedPoint), double movingImageValue, @@ -215,12 +231,8 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD } // Jacobian should be evaluated at the unmapped (fixed image) point. -#if ITK_VERSION_MAJOR >= 4 TransformJacobianType jacobian; transform->ComputeJacobianWithRespectToParameters(this->m_FixedImageSamples[fixedImageSample].point, jacobian); -#else - const TransformJacobianType & jacobian = transform ->GetJacobian( this->m_FixedImageSamples[fixedImageSample].point ); -#endif //double sum; unsigned int par, dim; for( par=0; parm_NumberOfParameters; par+=3) { @@ -257,14 +269,13 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD // Set up the parameters in the transform this->m_Transform->SetParameters( parameters ); -#if ITK_VERSION_MAJOR < 4 - this->m_Parameters = parameters; -#endif // Reset the joint pdfs to zero - memset( m_ThreaderMSE, - 0, - this->m_NumberOfThreads * sizeof(MeasureType) ); +#if ITK_VERSION_MAJOR <= 4 + memset( m_ThreaderMSE, 0, this->m_NumberOfThreads * sizeof(MeasureType) ); +#else + memset( m_ThreaderMSE, 0, this->m_NumberOfWorkUnits * sizeof(MeasureType) ); +#endif // Set output values to zero if(derivative.GetSize() != this->m_NumberOfParameters) { @@ -274,7 +285,11 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD 0, this->m_NumberOfParameters * sizeof(double) ); - for( ThreadIdType threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { +#if ITK_VERSION_MAJOR <= 4 + for( unsigned int threadID = 0; threadIDm_NumberOfThreads; threadID++ ) { +#else + for( unsigned int threadID = 0; threadIDm_NumberOfWorkUnits; threadID++ ) { +#endif memset( m_ThreaderMSEDerivatives[threadID].data_block(), 0, this->m_NumberOfParameters * sizeof(double) ); @@ -297,7 +312,11 @@ MeanSquaresImageToImageMetricFor3DBLUTFFD } value = 0; +#if ITK_VERSION_MAJOR <= 4 for(unsigned int t=0; tm_NumberOfThreads; t++) { +#else + for(unsigned int t=0; tm_NumberOfWorkUnits; t++) { +#endif value += m_ThreaderMSE[t]; for(unsigned int parameter = 0; parameter < this->m_NumberOfParameters; parameter++) {