18 #ifndef itkObjectToObjectMetricBase_h
19 #define itkObjectToObjectMetricBase_h
49 template<
typename TInternalComputationValueType=
double>
82 itkSetConstObjectMacro( FixedObject,
ObjectType );
83 itkGetConstObjectMacro( FixedObject,
ObjectType );
87 itkSetConstObjectMacro( MovingObject,
ObjectType );
88 itkGetConstObjectMacro( MovingObject,
ObjectType );
94 typedef enum { GRADIENT_SOURCE_FIXED=0,
96 GRADIENT_SOURCE_BOTH } GradientSourceType;
104 itkSetMacro( GradientSource, GradientSourceType );
110 itkGetConstMacro( GradientSource, GradientSourceType );
114 bool GetGradientSourceIncludesFixed()
const;
118 bool GetGradientSourceIncludesMoving()
const;
133 virtual
MeasureType GetValue() const ITK_OVERRIDE = 0;
147 virtual NumberOfParametersType GetNumberOfParameters() const ITK_OVERRIDE = 0;
148 virtual NumberOfParametersType GetNumberOfLocalParameters() const = 0;
159 virtual
bool HasLocalSupport() const = 0;
167 virtual
void UpdateTransformParameters( const
DerivativeType & derivative,
181 POINT_SET_METRIC = 3,
183 } MetricCategoryType;
188 return UNKNOWN_METRIC;
195 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
215 #ifndef ITK_MANUAL_INSTANTIATION
216 #include "itkObjectToObjectMetricBase.hxx"
Superclass::ParametersType ParametersType
Superclass::MeasureType MeasureType
SingleValuedCostFunctionv4Template< TInternalComputationValueType > Superclass
ObjectToObjectMetricBaseTemplate< double > ObjectToObjectMetricBase
GradientSourceType m_GradientSource
TInternalComputationValueType ParametersValueType
ObjectConstPointer m_MovingObject
Base class for all object-to-object similarlity metrics added in ITKv4.
TInternalComputationValueType CoordinateRepresentationType
virtual MetricCategoryType GetMetricCategory() const
unsigned int NumberOfParametersType
Class to hold and manage different parameter types used during optimization.
TParametersValueType ParametersValueType
Standard exception handling object.
ObjectType::ConstPointer ObjectConstPointer
DerivativeType::ValueType DerivativeValueType
ObjectToObjectMetricBaseTemplate Self
SmartPointer< Self > Pointer
ObjectConstPointer m_FixedObject
This class is a base for a CostFunction that returns a single value.
SmartPointer< const Self > ConstPointer
Control indentation during Print() invocation.
Superclass::DerivativeType DerivativeType
Define additional traits for native types such as int or float.
Base class for most ITK classes.