19#ifndef itkObjectToObjectMultiMetricv4_h
20#define itkObjectToObjectMultiMetricv4_h
92template <
unsigned int TFixedDimension,
93 unsigned int TMovingDimension,
94 typename TVirtualImage = Image<double, TFixedDimension>,
95 class TInternalComputationValueType =
double>
97 :
public ObjectToObjectMetric<TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType>
116 using typename Superclass::MeasureType;
117 using typename Superclass::DerivativeType;
118 using typename Superclass::DerivativeValueType;
119 using typename Superclass::ParametersType;
120 using typename Superclass::ParametersValueType;
121 using typename Superclass::NumberOfParametersType;
122 using typename Superclass::CoordinateRepresentationType;
123 using typename Superclass::MovingTransformType;
124 using typename Superclass::FixedTransformType;
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.");
214 using typename Superclass::MetricCategoryType;
220 return MetricCategoryType::MULTI_METRIC;
237#ifndef ITK_MANUAL_INSTANTIATION
238# include "itkObjectToObjectMultiMetricv4.hxx"
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Computes similarity between regions of two objects.
typename Superclass::MetricCategoryEnum MetricCategoryType
This class takes one ore more ObjectToObject metrics and assigns weights to their derivatives to comp...
typename Superclass::ObjectType ObjectType
void PrintSelf(std::ostream &os, Indent indent) const override
void SetFixedObject(const ObjectType *) override
~ObjectToObjectMultiMetricv4() override=default
MetricValueArrayType GetValueArray() const
const MetricQueueType & GetMetricQueue() const
void GetDerivative(DerivativeType &) const override
void GetValueAndDerivative(MeasureType &firstValue, DerivativeType &derivativeResult) const override
MeasureType GetWeightedValue() const
void AddMetric(MetricType *metric)
SizeValueType GetNumberOfMetrics() const
typename MetricType::ConstPointer MetricBaseConstPointer
typename MetricType::Pointer MetricBasePointer
ObjectToObjectMultiMetricv4()
typename DerivativeType::ValueType WeightValueType
std::deque< MetricBasePointer > MetricQueueType
void Initialize() override
void SetMovingTransform(MovingTransformType *) override
MetricCategoryType GetMetricCategory() const override
bool SupportsArbitraryVirtualDomainSamples() const override
MeasureType GetValue() const override
void SetMovingObject(const ObjectType *) override
void SetFixedTransform(FixedTransformType *) override
SmartPointer< const Self > ConstPointer
BinaryGeneratorImageFilter< TInputImage1, TInputImage2, TOutputImage > Superclass
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType