19 #ifndef itkObjectToObjectMultiMetricv4_h
20 #define itkObjectToObjectMultiMetricv4_h
92 template<
unsigned int TFixedDimension,
unsigned int TMovingDimension,
typename TVirtualImage = Image<
double, TFixedDimension>,
class TInternalComputationValueType =
double >
94 public ObjectToObjectMetric<TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType>
141 void ClearMetricQueue();
146 void Initialize()
override;
151 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
157 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
161 void SetMovingTransform( MovingTransformType * )
override;
164 void SetFixedTransform( FixedTransformType * )
override;
170 MeasureType GetValue()
const override;
172 void GetDerivative( DerivativeType & )
const override;
180 void GetValueAndDerivative(MeasureType & value, DerivativeType & derivative)
const override;
184 MetricValueArrayType GetValueArray()
const;
188 MeasureType GetWeightedValue()
const;
191 const MetricQueueType & GetMetricQueue()
const;
193 bool SupportsArbitraryVirtualDomainSamples()
const override;
200 return Superclass::MULTI_METRIC;
207 void PrintSelf(std::ostream & os,
Indent indent)
const override;
217 #ifndef ITK_MANUAL_INSTANTIATION
218 #include "itkObjectToObjectMultiMetricv4.hxx"
WeightsArrayType m_MetricWeights
MetricQueueType m_MetricQueue
void SetFixedObject(const ObjectType *) override
Light weight base class for most itk classes.
unsigned long SizeValueType
TInternalComputationValueType ParametersValueType
This class takes one ore more ObjectToObject metrics and assigns weights to their derivatives to comp...
typename Superclass::FixedTransformType FixedTransformType
void SetMovingObject(const ObjectType *) override
typename DerivativeType::ValueType DerivativeValueType
Computes similarity between regions of two objects.
typename Superclass::MeasureType MeasureType
typename MetricType::Pointer MetricBasePointer
TInternalComputationValueType CoordinateRepresentationType
typename DerivativeType::ValueType WeightValueType
typename MetricType::ConstPointer MetricBaseConstPointer
unsigned int NumberOfParametersType
typename Superclass::MovingTransformType MovingTransformType
MetricValueArrayType m_MetricValueArray
Control indentation during Print() invocation.
std::deque< MetricBasePointer > MetricQueueType
typename Superclass::DerivativeType DerivativeType
MetricCategoryType GetMetricCategory() const override
Base class for most ITK classes.