19 #ifndef itkObjectToObjectMultiMetricv4_h
20 #define itkObjectToObjectMultiMetricv4_h
92 template <
unsigned int TFixedDimension,
93 unsigned int TMovingDimension,
94 typename TVirtualImage = Image<double, TFixedDimension>,
95 class TInternalComputationValueType =
double>
97 :
public ObjectToObjectMetric<TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType>
151 GetNumberOfMetrics()
const;
154 Initialize()
override;
160 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
167 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
172 SetMovingTransform(MovingTransformType *)
override;
176 SetFixedTransform(FixedTransformType *)
override;
183 GetValue()
const override;
186 GetDerivative(DerivativeType &)
const override;
195 GetValueAndDerivative(MeasureType & firstValue, DerivativeType & derivativeResult)
const override;
200 GetValueArray()
const;
205 GetWeightedValue()
const;
208 const MetricQueueType &
209 GetMetricQueue()
const;
212 SupportsArbitraryVirtualDomainSamples()
const override;
220 return MetricCategoryType::MULTI_METRIC;
227 PrintSelf(std::ostream & os,
Indent indent)
const override;
237 #ifndef ITK_MANUAL_INSTANTIATION
238 # include "itkObjectToObjectMultiMetricv4.hxx"