18 #ifndef itkObjectToObjectMetric_h
19 #define itkObjectToObjectMetric_h
88 template <
unsigned int TFixedDimension,
89 unsigned int TMovingDimension,
90 typename TVirtualImage = Image<double, TFixedDimension>,
91 typename TParametersValueType =
double>
134 static constexpr
DimensionType VirtualDimension = TVirtualImage::ImageDimension;
178 Initialize()
override;
181 GetNumberOfParameters()
const override;
183 GetNumberOfLocalParameters()
const override;
187 GetParameters()
const override;
189 HasLocalSupport()
const override;
191 UpdateTransformParameters(
const DerivativeType & derivative, TParametersValueType factor)
override;
249 SupportsArbitraryVirtualDomainSamples()
const = 0;
257 GetVirtualDomainTimeStamp()
const;
262 GetVirtualSpacing()
const;
267 GetVirtualOrigin()
const;
272 GetVirtualDirection()
const;
277 GetVirtualRegion()
const;
323 return MetricCategoryType::OBJECT_METRIC;
331 PrintSelf(std::ostream & os,
Indent indent)
const override;
336 VerifyDisplacementFieldSizeAndPhysicalSpace();
339 TransformPhysicalPointToVirtualIndex(
const VirtualPointType &, VirtualIndexType &)
const;
341 TransformVirtualIndexToPhysicalPoint(
const VirtualIndexType &, VirtualPointType &)
const;
347 const MovingDisplacementFieldTransformType *
348 GetMovingDisplacementFieldTransform()
const;
357 VerifyNumberOfValidPoints(MeasureType & value, DerivativeType & derivative)
const;
376 #ifndef ITK_MANUAL_INSTANTIATION
377 # include "itkObjectToObjectMetric.hxx"