// gets integrated into the main directories.
#include "itkConfigure.h"
-#ifdef ITK_USE_OPTIMIZED_REGISTRATION_METHODS
+#if defined(ITK_USE_OPTIMIZED_REGISTRATION_METHODS) || ITK_VERSION_MAJOR >= 4
#include "itkOptMeanSquaresImageToImageMetricFor3DBLUTFFD.txx"
#else
const unsigned int ParametersDimension = this->GetNumberOfParameters();
derivative = DerivativeType( ParametersDimension );
- derivative.Fill( NumericTraits<ITK_TYPENAME DerivativeType::ValueType>::Zero );
+ derivative.Fill( NumericTraits<typename DerivativeType::ValueType>::Zero );
ti.GoToBegin();
if( this->m_Interpolator->IsInsideBuffer( transformedPoint ) ) {
const RealType movingValue = this->m_Interpolator->Evaluate( transformedPoint );
+#if ITK_VERSION_MAJOR >= 4
+ TransformJacobianType jacobian;
+ this->m_Transform->ComputeJacobianWithRespectToParameters( inputPoint, jacobian );
+#else
const TransformJacobianType & jacobian =
this->m_Transform->GetJacobian( inputPoint );
-
+#endif
const RealType fixedValue = ti.Value();
this->m_NumberOfPixelsCounted++;
const unsigned int ParametersDimension = this->GetNumberOfParameters();
derivative = DerivativeType( ParametersDimension );
- derivative.Fill( NumericTraits<ITK_TYPENAME DerivativeType::ValueType>::Zero );
+ derivative.Fill( NumericTraits<typename DerivativeType::ValueType>::Zero );
ti.GoToBegin();
if( this->m_Interpolator->IsInsideBuffer( transformedPoint ) ) {
const RealType movingValue = this->m_Interpolator->Evaluate( transformedPoint );
+#if ITK_VERSION_MAJOR >= 4
+ TransformJacobianType jacobian;
+ this->m_Transform->ComputeJacobianWithRespectToParameters( inputPoint, jacobian );
+#else
const TransformJacobianType & jacobian =
this->m_Transform->GetJacobian( inputPoint );
-
+#endif
const RealType fixedValue = ti.Value();
this->m_NumberOfPixelsCounted++;