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)) {
return this->SetNumberOfWorkUnits(number); }
233 itkLegacyMacro(
virtual const ThreadIdType & GetNumberOfThreads()
const) {
return this->m_NumberOfWorkUnits; }
234 #endif // !ITK_LEGACY_REMOVE
238 itkGetConstReferenceMacro(NumberOfWorkUnits,
ThreadIdType);
252 virtual const ParametersType &
253 GetCurrentPosition()
const;
263 StartOptimization(
bool doOnlyInitialization =
false);
266 virtual const StopConditionReturnStringType
267 GetStopConditionDescription()
const = 0;
271 ObjectToObjectOptimizerBaseTemplate();
272 ~ObjectToObjectOptimizerBaseTemplate()
override;
308 PrintSelf(std::ostream & os,
Indent indent)
const override;
319 #ifndef ITK_TEMPLATE_EXPLICIT_ObjectToObjectOptimizerBaseTemplate
328 #if defined(ITKOptimizersv4_EXPORTS)
330 # define ITKOptimizersv4_EXPORT_EXPLICIT ITK_FORWARD_EXPORT
333 # define ITKOptimizersv4_EXPORT_EXPLICIT ITKOptimizersv4_EXPORT
338 ITK_GCC_PRAGMA_DIAG_PUSH()
339 ITK_GCC_PRAGMA_DIAG(ignored
"-Wattributes")
341 #if defined(_MSC_VER)
342 # pragma warning(disable : 4661) // no suitable definition provided for explicit template instantiation request
347 ITK_GCC_PRAGMA_DIAG_POP()
350 #undef ITKOptimizersv4_EXPORT_EXPLICIT