18 #ifndef itkObjectToObjectMetricBase_h
19 #define itkObjectToObjectMetricBase_h
49 template<
typename TInternalComputationValueType=
double>
84 itkSetConstObjectMacro( FixedObject,
ObjectType );
85 itkGetConstObjectMacro( FixedObject,
ObjectType );
89 itkSetConstObjectMacro( MovingObject,
ObjectType );
90 itkGetConstObjectMacro( MovingObject,
ObjectType );
96 typedef enum { GRADIENT_SOURCE_FIXED=0,
98 GRADIENT_SOURCE_BOTH } GradientSourceType;
106 itkSetMacro( GradientSource, GradientSourceType );
112 itkGetConstMacro( GradientSource, GradientSourceType );
116 bool GetGradientSourceIncludesFixed()
const;
120 bool GetGradientSourceIncludesMoving()
const;
126 virtual void Initialize() = 0;
161 virtual bool HasLocalSupport()
const = 0;
169 virtual void UpdateTransformParameters(
const DerivativeType & derivative,
183 POINT_SET_METRIC = 3,
185 } MetricCategoryType;
190 return UNKNOWN_METRIC;
197 void PrintSelf(std::ostream & os,
Indent indent)
const override;
214 #ifndef ITK_MANUAL_INSTANTIATION
215 #include "itkObjectToObjectMetricBase.hxx"
Light weight base class for most itk classes.
Define numeric traits for std::vector.
TParametersValueType ParametersValueType
GradientSourceType m_GradientSource
ObjectConstPointer m_MovingObject
typename DerivativeType::ValueType DerivativeValueType
Base class for all object-to-object similarlity metrics added in ITKv4.
typename Superclass::MeasureType MeasureType
virtual MetricCategoryType GetMetricCategory() const
TParametersValueType CoordinateRepresentationType
typename ObjectType::ConstPointer ObjectConstPointer
Class to hold and manage different parameter types used during optimization.
unsigned int NumberOfParametersType
ObjectConstPointer m_FixedObject
This class is a base for a CostFunction that returns a single value.
Control indentation during Print() invocation.
typename Superclass::DerivativeType DerivativeType
Base class for most ITK classes.