Authors belong to:
- University of LYON http://www.universite-lyon.fr/
- - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr
+ - Léon Bérard cancer center http://www.centreleonberard.fr
- CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr
This software is distributed WITHOUT ANY WARRANTY; without even
- BSD See included LICENSE.txt file
- CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
-======================================================================-====*/
+===========================================================================**/
/*=========================================================================
delete [] m_ThreaderMSEDerivatives;
}
m_ThreaderMSEDerivatives = new DerivativeType[this->m_NumberOfThreads];
- for(unsigned int threadID=0; threadID<this->m_NumberOfThreads; threadID++) {
+ for(ThreadIdType threadID=0; threadID<this->m_NumberOfThreads; threadID++) {
m_ThreaderMSEDerivatives[threadID].SetSize( this->m_NumberOfParameters );
}
}
template < class TFixedImage, class TMovingImage >
inline bool
MeanSquaresImageToImageMetricFor3DBLUTFFD<TFixedImage,TMovingImage>
-::GetValueThreadProcessSample( unsigned int threadID,
+::GetValueThreadProcessSample( ThreadIdType threadID,
unsigned long fixedImageSample,
const MovingImagePointType & itkNotUsed(mappedPoint),
double movingImageValue) const
// 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();
template < class TFixedImage, class TMovingImage >
inline bool
MeanSquaresImageToImageMetricFor3DBLUTFFD<TFixedImage,TMovingImage>
-::GetValueAndDerivativeThreadProcessSample( unsigned int threadID,
+::GetValueAndDerivativeThreadProcessSample( ThreadIdType threadID,
unsigned long fixedImageSample,
const MovingImagePointType & itkNotUsed(mappedPoint),
double movingImageValue,
}
// 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; par<this->m_NumberOfParameters; par+=3) {
// 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_NumberOfParameters * sizeof(double) );
- for( unsigned int threadID = 0; threadID<this->m_NumberOfThreads; threadID++ ) {
+ for( ThreadIdType threadID = 0; threadID<this->m_NumberOfThreads; threadID++ ) {
memset( m_ThreaderMSEDerivatives[threadID].data_block(),
0,
this->m_NumberOfParameters * sizeof(double) );