template <class TFixedImage, class TMovingImage>
void
MeanSquaresImageToImageMetricFor3DBLUTFFD<TFixedImage,TMovingImage>
+#if ( ( ITK_VERSION_MAJOR == 4 ) && ( ITK_VERSION_MINOR > 12 ) || ( ITK_VERSION_MAJOR > 4 ))
+::Initialize(void)
+#else
::Initialize(void) throw ( ExceptionObject )
+#endif
{
this->Superclass::Initialize();
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; threadID<this->m_NumberOfThreads; threadID++) {
+ for(unsigned int threadID=0; threadID<this->m_NumberOfThreads; threadID++) {
+#else
+ m_ThreaderMSEDerivatives = new DerivativeType[this->m_NumberOfWorkUnits];
+ for(unsigned int threadID=0; threadID<this->m_NumberOfWorkUnits; threadID++) {
+#endif
m_ThreaderMSEDerivatives[threadID].SetSize( this->m_NumberOfParameters );
}
}
template < class TFixedImage, class TMovingImage >
inline bool
MeanSquaresImageToImageMetricFor3DBLUTFFD<TFixedImage,TMovingImage>
-::GetValueThreadProcessSample( ThreadIdType threadID,
+::GetValueThreadProcessSample( unsigned int threadID,
unsigned long fixedImageSample,
const MovingImagePointType & itkNotUsed(mappedPoint),
double movingImageValue) const
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 );
- this->m_Parameters = parameters;
// MUST BE CALLED TO INITIATE PROCESSING
this->GetValueMultiThreadedInitiate();
}
double mse = m_ThreaderMSE[0];
+#if ITK_VERSION_MAJOR <= 4
for(unsigned int t=1; t<this->m_NumberOfThreads; t++) {
+#else
+ for(unsigned int t=1; t<this->m_NumberOfWorkUnits; t++) {
+#endif
mse += m_ThreaderMSE[t];
}
mse /= this->m_NumberOfPixelsCounted;
template < class TFixedImage, class TMovingImage >
inline bool
MeanSquaresImageToImageMetricFor3DBLUTFFD<TFixedImage,TMovingImage>
-::GetValueAndDerivativeThreadProcessSample( ThreadIdType threadID,
+::GetValueAndDerivativeThreadProcessSample( unsigned int 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 );
- this->m_Parameters = parameters;
// 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) {
0,
this->m_NumberOfParameters * sizeof(double) );
- for( ThreadIdType threadID = 0; threadID<this->m_NumberOfThreads; threadID++ ) {
+#if ITK_VERSION_MAJOR <= 4
+ for( unsigned int threadID = 0; threadID<this->m_NumberOfThreads; threadID++ ) {
+#else
+ for( unsigned int threadID = 0; threadID<this->m_NumberOfWorkUnits; threadID++ ) {
+#endif
memset( m_ThreaderMSEDerivatives[threadID].data_block(),
0,
this->m_NumberOfParameters * sizeof(double) );
}
value = 0;
+#if ITK_VERSION_MAJOR <= 4
for(unsigned int t=0; t<this->m_NumberOfThreads; t++) {
+#else
+ for(unsigned int t=0; t<this->m_NumberOfWorkUnits; t++) {
+#endif
value += m_ThreaderMSE[t];
for(unsigned int parameter = 0; parameter < this->m_NumberOfParameters;
parameter++) {