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;
246 bool m_ScalesAreIdentity;
252 bool m_WeightsAreIdentity;
257 bool m_DoEstimateScales;
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 ITK_FORWARD_EXPORT
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
OptimizerParameters< TInternalComputationValueType > ParametersType
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
unsigned int NumberOfParametersType
SmartPointer< Self > Pointer
unsigned int ThreadIdType
MetricType::NumberOfParametersType NumberOfParametersType
Control indentation during Print() invocation.
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