18 #ifndef itkObjectToObjectOptimizerBase_h
19 #define itkObjectToObjectOptimizerBase_h
21 #include "ITKOptimizersv4Export.h"
81 template<
typename TInternalComputationValueType =
double>
122 itkGetModifiableObjectMacro(Metric,
MetricType );
128 itkGetConstReferenceMacro( CurrentMetricValue,
MeasureType );
141 this->m_Scales = scales;
146 itkGetConstReferenceMacro( Scales, ScalesType );
149 itkGetConstReferenceMacro( ScalesAreIdentity,
bool );
152 itkSetMacro( Weights, ScalesType );
156 itkGetConstReferenceMacro( Weights, ScalesType );
159 itkGetConstReferenceMacro( WeightsAreIdentity,
bool );
163 bool GetScalesInitialized()
const;
174 itkSetObjectMacro(ScalesEstimator, ScalesEstimatorType);
181 itkSetMacro(DoEstimateScales,
bool);
182 itkGetConstReferenceMacro(DoEstimateScales,
bool);
183 itkBooleanMacro(DoEstimateScales);
192 itkGetConstReferenceMacro( NumberOfThreads,
ThreadIdType );
206 virtual const ParametersType & GetCurrentPosition()
const;
215 virtual void StartOptimization(
bool doOnlyInitialization =
false );
218 virtual const StopConditionReturnStringType GetStopConditionDescription()
const = 0;
259 virtual void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
271 #ifndef ITK_MANUAL_INSTANTIATION
272 #include "itkObjectToObjectOptimizerBase.hxx"
279 #ifndef ITK_TEMPLATE_EXPLICIT_ObjectToObjectOptimizerBaseTemplate
288 # if defined( ITKOptimizersv4_EXPORTS )
290 # define ITKOptimizersv4_EXPORT_EXPLICIT
293 # define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
298 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
299 ITK_GCC_PRAGMA_DIAG_PUSH()
301 ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
306 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
307 ITK_GCC_PRAGMA_DIAG_POP()
309 ITK_GCC_PRAGMA_DIAG(warning
"-Wattributes")
313 # undef ITKOptimizersv4_EXPORT_EXPLICIT
OptimizerParameters< TInternalComputationValueType > ScalesType
#define ITKOptimizersv4_EXPORT_EXPLICIT
ThreadIdType m_NumberOfThreads
OptimizerParameters< TInternalComputationValueType > ParametersType
ScalesEstimatorType::Pointer m_ScalesEstimator
MetricType::DerivativeType DerivativeType
MetricType::MeasureType MeasureType
Base class for all object-to-object similarlity metrics added in ITKv4.
unsigned long SizeValueType
ObjectToObjectMetricBaseTemplate< TInternalComputationValueType > MetricType
OptimizerParameterScalesEstimatorTemplate< TInternalComputationValueType > ScalesEstimatorType
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
SmartPointer< const Self > ConstPointer
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< double >
std::ostringstream StopConditionDescriptionType
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< float >
ObjectToObjectOptimizerBaseTemplate Self
bool m_WeightsAreIdentity
MetricTypePointer m_Metric
unsigned int NumberOfParametersType
SizeValueType m_NumberOfIterations
SmartPointer< Self > Pointer
MeasureType m_CurrentMetricValue
unsigned int ThreadIdType
MetricType::NumberOfParametersType NumberOfParametersType
ObjectToObjectOptimizerBaseTemplate< double > ObjectToObjectOptimizerBase
Control indentation during Print() invocation.
SizeValueType m_CurrentIteration
Superclass::DerivativeType DerivativeType
std::string StopConditionReturnStringType
Base class for most ITK classes.
Abstract base for object-to-object optimizers.
virtual void SetScales(const ScalesType &scales)
MetricType::Pointer MetricTypePointer