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;
124 virtual void Initialize(
void) = 0;
133 virtual MeasureType GetValue() const ITK_OVERRIDE = 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
TInternalComputationValueType ParametersValueType
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
ObjectType::ConstPointer ObjectConstPointer
DerivativeType::ValueType DerivativeValueType
ObjectToObjectMetricBaseTemplate Self
SmartPointer< Self > Pointer
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.