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)) {
return this->SetNumberOfWorkUnits(number); }
233 itkLegacyMacro(
virtual const ThreadIdType & GetNumberOfThreads()
const) {
return this->m_NumberOfWorkUnits; }
238 itkGetConstReferenceMacro(NumberOfWorkUnits, ThreadIdType);
303 bool m_ScalesAreIdentity{};
309 bool m_WeightsAreIdentity{};
314 bool m_DoEstimateScales{};
328#ifndef ITK_TEMPLATE_EXPLICIT_ObjectToObjectOptimizerBaseTemplate
337#if defined(ITKOptimizersv4_EXPORTS)
339# define ITKOptimizersv4_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
342# define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
347ITK_GCC_PRAGMA_DIAG_PUSH()
348ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
351# pragma warning(disable : 4661)
356ITK_GCC_PRAGMA_DIAG_POP()
359#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 const 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....
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< double >
template class ITKOptimizersv4_EXPORT_EXPLICIT ObjectToObjectOptimizerBaseTemplate< float >
unsigned int ThreadIdType
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
unsigned long SizeValueType