19#ifndef itkObjectToObjectMultiMetricv4_h
20#define itkObjectToObjectMultiMetricv4_h
92template <
unsigned int TFixedDimension,
93 unsigned int TMovingDimension,
95 class TInternalComputationValueType =
double>
97 :
public ObjectToObjectMetric<TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType>
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.");
220 return MetricCategoryType::MULTI_METRIC;
237#ifndef ITK_MANUAL_INSTANTIATION
238# include "itkObjectToObjectMultiMetricv4.hxx"
Array class with size defined at construction time.
double ParametersValueType
Templated n-dimensional image class.
Control indentation during Print() invocation.
Array< double > DerivativeType
typename DerivativeType::ValueType DerivativeValueType
TParametersValueType CoordinateRepresentationType
typename Superclass::Object ObjectType
SmartPointer< Self > Pointer
Transform< TParametersValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
typename Superclass::MetricCategoryEnum MetricCategoryType
SmartPointer< const Self > ConstPointer
Transform< TParametersValueType, TVirtualImage::ImageDimension, TFixedDimension > FixedTransformType
unsigned int NumberOfParametersType
typename Superclass::ObjectType ObjectType
SmartPointer< Self > Pointer
void PrintSelf(std::ostream &os, Indent indent) const override
MetricValueArrayType m_MetricValueArray
ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType > Superclass
WeightsArrayType m_MetricWeights
SmartPointer< const Self > ConstPointer
void SetFixedObject(const ObjectType *object) 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
MetricQueueType m_MetricQueue
ObjectToObjectMultiMetricv4 Self
typename MetricType::Pointer MetricBasePointer
Array< WeightValueType > WeightsArrayType
ObjectToObjectMultiMetricv4()
typename DerivativeType::ValueType WeightValueType
std::deque< MetricBasePointer > MetricQueueType
void Initialize() override
void SetMovingTransform(MovingTransformType *) override
MetricCategoryType GetMetricCategory() const override
bool SupportsArbitraryVirtualDomainSamples() const override
Array< MeasureType > MetricValueArrayType
MeasureType GetValue() const override
void SetMovingObject(const ObjectType *object) override
void SetFixedTransform(FixedTransformType *) override
OptimizerParameters< double > ParametersType
Implements transparent reference counting.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
unsigned long SizeValueType