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>
149 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
155 itkExceptionMacro(
"A single object should not be specified for the multi metric.");
220 #ifndef ITK_MANUAL_INSTANTIATION
221 #include "itkObjectToObjectMultiMetricv4.hxx"
WeightsArrayType m_MetricWeights
SmartPointer< Self > Pointer
Superclass::ParametersType ParametersType
MetricQueueType m_MetricQueue
Superclass::ParametersType ParametersType
virtual void SetFixedTransform(FixedTransformType *) override
Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
Light weight base class for most itk classes.
MetricType::Pointer MetricBasePointer
ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType > Superclass
virtual void GetDerivative(DerivativeType &) const override
void operator=(const Self &)
SizeValueType GetNumberOfMetrics() const
This class takes one ore more ObjectToObject metrics and assigns weights to their derivatives to comp...
Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TFixedDimension > FixedTransformType
Superclass::ParametersValueType ParametersValueType
MeasureType GetValue() const override
TInternalComputationValueType ParametersValueType
Superclass::DerivativeType DerivativeType
virtual void SetFixedObject(const ObjectType *) override
Computes similarity between regions of two objects.
void GetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const override
unsigned long SizeValueType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
void PrintSelf(std::ostream &os, Indent indent) const override
void Initialize(void) override
Superclass::Object ObjectType
virtual void SetMovingTransform(MovingTransformType *) override
Superclass::MeasureType MeasureType
virtual bool SupportsArbitraryVirtualDomainSamples(void) const override
virtual void SetMovingObject(const ObjectType *) override
Superclass::FixedTransformType FixedTransformType
SmartPointer< const Self > ConstPointer
virtual MetricCategoryType GetMetricCategory() const override
Superclass::MeasureType MeasureType
DerivativeType::ValueType WeightValueType
Array< MeasureType > MetricValueArrayType
Superclass::DerivativeType DerivativeType
virtual ~ObjectToObjectMultiMetricv4()
Standard exception handling object.
MetricType::ConstPointer MetricBaseConstPointer
MetricValueArrayType GetValueArray() const
TInternalComputationValueType CoordinateRepresentationType
void AddMetric(MetricType *metric)
Superclass::MovingTransformType MovingTransformType
Superclass::NumberOfParametersType NumberOfParametersType
ObjectToObjectMultiMetricv4()
MetricValueArrayType m_MetricValueArray
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
MeasureType GetWeightedValue() const
Superclass::ObjectType ObjectType
std::deque< MetricBasePointer > MetricQueueType
Array< WeightValueType > WeightsArrayType
Base class for most ITK classes.
const MetricQueueType & GetMetricQueue() const
ObjectToObjectMultiMetricv4 Self
Superclass::DerivativeValueType DerivativeValueType
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::DerivativeValueType DerivativeValueType