18 #ifndef itkObjectToObjectOptimizerBase_h
19 #define itkObjectToObjectOptimizerBase_h
21 #include "ITKOptimizersv4Export.h"
56 extern ITKOptimizersv4_EXPORT std::ostream &
112 template <
typename TInternalComputationValueType =
double>
155 itkGetModifiableObjectMacro(Metric,
MetricType);
161 itkGetConstReferenceMacro(CurrentMetricValue,
MeasureType);
176 this->m_Scales = scales;
181 itkGetConstReferenceMacro(Scales, ScalesType);
184 itkGetConstReferenceMacro(ScalesAreIdentity,
bool);
187 itkSetMacro(Weights, ScalesType);
191 itkGetConstReferenceMacro(Weights, ScalesType);
194 itkGetConstReferenceMacro(WeightsAreIdentity,
bool);
199 GetScalesInitialized()
const;
210 itkSetObjectMacro(ScalesEstimator, ScalesEstimatorType);
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;
240 #endif // !ITK_LEGACY_REMOVE
244 itkGetConstReferenceMacro(NumberOfWorkUnits,
ThreadIdType);
258 virtual const ParametersType &
259 GetCurrentPosition()
const;
269 StartOptimization(
bool doOnlyInitialization =
false);
272 virtual StopConditionReturnStringType
273 GetStopConditionDescription()
const = 0;
309 bool m_ScalesAreIdentity{};
315 bool m_WeightsAreIdentity{};
320 bool m_DoEstimateScales{};
323 PrintSelf(std::ostream & os,
Indent indent)
const override;
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
353 ITK_GCC_PRAGMA_DIAG_PUSH()
354 ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
356 #if defined(_MSC_VER)
357 # pragma warning(disable : 4661) // no suitable definition provided for explicit template instantiation request
362 ITK_GCC_PRAGMA_DIAG_POP()
365 #undef ITKOptimizersv4_EXPORT_EXPLICIT