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>
132 itkSetMacro(MetricWeights,WeightsArrayType);
133 itkGetMacro(MetricWeights,WeightsArrayType);
147 virtual
void SetFixedObject( const ObjectType *itkNotUsed(
object ) ) ITK_OVERRIDE
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.");
168 MeasureType
GetValue()
const ITK_OVERRIDE;
170 virtual void GetDerivative( DerivativeType & )
const ITK_OVERRIDE;
209 void operator=(
const Self &) ITK_DELETE_FUNCTION;
218 #ifndef ITK_MANUAL_INSTANTIATION 219 #include "itkObjectToObjectMultiMetricv4.hxx"
WeightsArrayType m_MetricWeights
Superclass::ParametersType ParametersType
MetricQueueType m_MetricQueue
Superclass::ParametersType ParametersType
virtual void SetFixedTransform(FixedTransformType *) override
Transform< TInternalComputationValueType, TVirtualImage::ImageDimension, TMovingDimension > MovingTransformType
void GetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const override
MetricType::Pointer MetricBasePointer
ObjectToObjectMetric< TFixedDimension, TMovingDimension, TVirtualImage, TInternalComputationValueType > Superclass
void operator=(const Self &) ITK_DELETE_FUNCTION
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
TInternalComputationValueType ParametersValueType
Superclass::DerivativeType DerivativeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
MeasureType GetValue() const override
virtual void SetFixedObject(const ObjectType *) override
Computes similarity between regions of two objects.
unsigned long SizeValueType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
void Initialize(void) override
Superclass::Object ObjectType
virtual void SetMovingTransform(MovingTransformType *) override
Superclass::MeasureType MeasureType
virtual void SetMovingObject(const ObjectType *) override
Superclass::FixedTransformType FixedTransformType
SmartPointer< const Self > ConstPointer
Superclass::MeasureType MeasureType
DerivativeType::ValueType WeightValueType
Array< MeasureType > MetricValueArrayType
Superclass::MetricCategoryType MetricCategoryType
Superclass::DerivativeType DerivativeType
virtual ~ObjectToObjectMultiMetricv4()
Standard exception handling object.
Superclass::MetricCategoryType MetricCategoryType
MetricType::ConstPointer MetricBaseConstPointer
virtual MetricCategoryType GetMetricCategory() const override
MetricValueArrayType GetValueArray() const
TInternalComputationValueType CoordinateRepresentationType
void AddMetric(MetricType *metric)
virtual bool SupportsArbitraryVirtualDomainSamples(void) const override
Superclass::MovingTransformType MovingTransformType
Superclass::NumberOfParametersType NumberOfParametersType
ObjectToObjectMultiMetricv4()
MetricValueArrayType m_MetricValueArray
Control indentation during Print() invocation.
SmartPointer< Self > Pointer
virtual void GetDerivative(DerivativeType &) const override
void PrintSelf(std::ostream &os, Indent indent) const override
MeasureType GetWeightedValue() const
Superclass::ObjectType ObjectType
std::deque< MetricBasePointer > MetricQueueType
Array< WeightValueType > WeightsArrayType
const MetricQueueType & GetMetricQueue() const
ObjectToObjectMultiMetricv4 Self
Superclass::DerivativeValueType DerivativeValueType
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::DerivativeValueType DerivativeValueType