18 #ifndef itkObjectToObjectOptimizerBase_h
19 #define itkObjectToObjectOptimizerBase_h
21 #include "ITKOptimizersv4Export.h"
81 template<
typename TInternalComputationValueType =
double>
124 itkGetModifiableObjectMacro(Metric,
MetricType );
130 itkGetConstReferenceMacro( CurrentMetricValue,
MeasureType );
143 this->m_Scales = scales;
148 itkGetConstReferenceMacro( Scales, ScalesType );
151 itkGetConstReferenceMacro( ScalesAreIdentity,
bool );
154 itkSetMacro( Weights, ScalesType );
158 itkGetConstReferenceMacro( Weights, ScalesType );
161 itkGetConstReferenceMacro( WeightsAreIdentity,
bool );
165 bool GetScalesInitialized()
const;
176 itkSetObjectMacro(ScalesEstimator, ScalesEstimatorType);
183 itkSetMacro(DoEstimateScales,
bool);
184 itkGetConstReferenceMacro(DoEstimateScales,
bool);
185 itkBooleanMacro(DoEstimateScales);
191 virtual void SetNumberOfWorkUnits(
ThreadIdType number );
193 #if !defined( ITK_LEGACY_REMOVE )
197 itkLegacyMacro(
virtual void SetNumberOfThreads(
ThreadIdType number ) )
199 return this->SetNumberOfWorkUnits( number );
201 itkLegacyMacro(
virtual const ThreadIdType& GetNumberOfThreads()
const )
203 return this->m_NumberOfWorkUnits;
205 #endif // !ITK_LEGACY_REMOVE
209 itkGetConstReferenceMacro( NumberOfWorkUnits,
ThreadIdType );
223 virtual const ParametersType & GetCurrentPosition()
const;
232 virtual void StartOptimization(
bool doOnlyInitialization =
false );
235 virtual const StopConditionReturnStringType GetStopConditionDescription()
const = 0;
240 ObjectToObjectOptimizerBaseTemplate();
241 ~ObjectToObjectOptimizerBaseTemplate()
override;
276 void PrintSelf(std::ostream & os,
Indent indent)
const override;
284 #ifndef ITK_MANUAL_INSTANTIATION
285 #include "itkObjectToObjectOptimizerBase.hxx"
292 #ifndef ITK_TEMPLATE_EXPLICIT_ObjectToObjectOptimizerBaseTemplate
301 # if defined( ITKOptimizersv4_EXPORTS )
303 # define ITKOptimizersv4_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
306 # define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
311 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
312 ITK_GCC_PRAGMA_DIAG_PUSH()
314 ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
319 #ifdef ITK_HAS_GCC_PRAGMA_DIAG_PUSHPOP
320 ITK_GCC_PRAGMA_DIAG_POP()
322 ITK_GCC_PRAGMA_DIAG(warning
"-Wattributes")
326 # undef ITKOptimizersv4_EXPORT_EXPLICIT
Light weight base class for most itk classes.
#define ITKOptimizersv4_EXPORT_EXPLICIT
unsigned long SizeValueType
ScalesEstimatorType::Pointer m_ScalesEstimator
typename MetricType::DerivativeType DerivativeType
typename MetricType::MeasureType MeasureType
Base class for all object-to-object similarlity metrics added in ITKv4.
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< double >
typename MetricType::Pointer MetricTypePointer
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< float >
bool m_WeightsAreIdentity
MetricTypePointer m_Metric
SizeValueType m_NumberOfIterations
typename MetricType::NumberOfParametersType NumberOfParametersType
MeasureType m_CurrentMetricValue
unsigned int NumberOfParametersType
unsigned int ThreadIdType
std::ostringstream StopConditionDescriptionType
Control indentation during Print() invocation.
SizeValueType m_CurrentIteration
ThreadIdType m_NumberOfWorkUnits
typename Superclass::DerivativeType DerivativeType
Base class for most ITK classes.
Abstract base for object-to-object optimizers.
virtual void SetScales(const ScalesType &scales)
std::string StopConditionReturnStringType