18#ifndef itkConvergenceMonitoringFunction_h
19#define itkConvergenceMonitoringFunction_h
42template <
typename TScalar,
typename TEnergyValue>
69 itkDebugMacro(
"Adding energy value " << value);
87 itkDebugMacro(
"Clearing energy values.");
108 os << std::endl <<
"Energy values: " << std::flush;
113 os <<
'(' << it - this->
m_EnergyValues.begin() <<
"): " << *it <<
' ';
Abstract base class which monitors convergence during the course of optimization.
typename EnergyValueContainerType::iterator EnergyValueIterator
virtual RealType GetConvergenceValue() const =0
virtual void ClearEnergyValues()
ConvergenceMonitoringFunction()
void PrintSelf(std::ostream &os, Indent indent) const override
EnergyValueContainerType m_EnergyValues
typename NumericTraits< ScalarType >::RealType RealType
virtual void AddEnergyValue(const EnergyValueType value)
EnergyValueContainerSizeType GetNumberOfEnergyValues() const
typename EnergyValueContainerType::const_iterator EnergyValueConstIterator
~ConvergenceMonitoringFunction() override=default
typename EnergyValueContainerType::size_type EnergyValueContainerSizeType
std::deque< EnergyValueType > EnergyValueContainerType
TEnergyValue EnergyValueType
Control indentation during Print() invocation.
Light weight base class for most itk classes.
Define additional traits for native types such as int or float.
Base class for most ITK classes.
void PrintSelf(std::ostream &os, Indent indent) const override
virtual void Modified() const
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....