18#ifndef itkObjectToObjectOptimizerBase_h
19#define itkObjectToObjectOptimizerBase_h
21#include "ITKOptimizersv4Export.h"
44 MAXIMUM_NUMBER_OF_ITERATIONS,
46 UPDATE_PARAMETERS_ERROR,
48 CONVERGENCE_CHECKER_PASSED,
49 GRADIENT_MAGNITUDE_TOLEARANCE,
56extern ITKOptimizersv4_EXPORT std::ostream &
112template <
typename TInternalComputationValueType =
double>
176 this->m_Scales = scales;
184 itkGetConstReferenceMacro(ScalesAreIdentity,
bool);
194 itkGetConstReferenceMacro(WeightsAreIdentity,
bool);
217 itkSetMacro(DoEstimateScales,
bool);
218 itkGetConstReferenceMacro(DoEstimateScales,
bool);
219 itkBooleanMacro(DoEstimateScales);
228#if !defined(ITK_LEGACY_REMOVE)
232 itkLegacyMacro(
virtual void SetNumberOfThreads(
ThreadIdType number))
234 return this->SetNumberOfWorkUnits(number);
236 itkLegacyMacro(
virtual const ThreadIdType & GetNumberOfThreads()
const)
238 return this->m_NumberOfWorkUnits;
244 itkGetConstReferenceMacro(NumberOfWorkUnits, ThreadIdType);
309 bool m_ScalesAreIdentity{};
315 bool m_WeightsAreIdentity{};
320 bool m_DoEstimateScales{};
334#ifndef ITK_TEMPLATE_EXPLICIT_ObjectToObjectOptimizerBaseTemplate
343#if defined(ITKOptimizersv4_EXPORTS)
345# define ITKOptimizersv4_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
348# define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
353ITK_GCC_PRAGMA_DIAG_PUSH()
354ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
357# pragma warning(disable : 4661)
362ITK_GCC_PRAGMA_DIAG_POP()
365#undef ITKOptimizersv4_EXPORT_EXPLICIT
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Base class for all object-to-object similarity metrics added in ITKv4.
unsigned int NumberOfParametersType
This class contains all the enum classes used by ObjectToObjectOptimizerBaseTemplate class.
StopConditionObjectToObjectOptimizer
Abstract base for object-to-object optimizers.
typename MetricType::DerivativeType DerivativeType
virtual void StartOptimization(bool doOnlyInitialization=false)
bool GetScalesInitialized() const
typename MetricType::Pointer MetricTypePointer
typename MetricType::NumberOfParametersType NumberOfParametersType
ObjectToObjectOptimizerBaseTemplate()
void PrintSelf(std::ostream &os, Indent indent) const override
virtual bool CanUseScales() const
virtual StopConditionReturnStringType GetStopConditionDescription() const =0
virtual const ParametersType & GetCurrentPosition() const
std::ostringstream StopConditionDescriptionType
virtual void SetScales(const ScalesType &scales)
virtual const MeasureType & GetValue() const
~ObjectToObjectOptimizerBaseTemplate() override
typename MetricType::MeasureType MeasureType
virtual void SetNumberOfWorkUnits(ThreadIdType number)
std::string StopConditionReturnStringType
Base class for most ITK classes.
OptimizerParameterScalesEstimatorTemplate is the base class offering a empty method of estimating the...
SmartPointer< Self > Pointer
#define ITKOptimizersv4_EXPORT_EXPLICIT
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKCommon_EXPORT std::ostream & operator<<(std::ostream &out, typename AnatomicalOrientation::CoordinateEnum value)
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< double >
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< float >
unsigned int ThreadIdType
unsigned long SizeValueType