15 #ifndef itkUCLRegularStepGradientDescentOptimizer_h
16 #define itkUCLRegularStepGradientDescentOptimizer_h
18 #include <NifTKConfigure.h>
21 #include <itkSingleValuedNonLinearOptimizer.h>
43 public SingleValuedNonLinearOptimizer
57 SingleValuedNonLinearOptimizer );
62 GradientMagnitudeTolerance = 1,
64 ImageNotAvailable = 3,
65 CostFunctionError = 4,
66 MaximumNumberOfIterations = 5,
71 itkSetMacro( Maximize,
bool );
72 itkGetConstReferenceMacro( Maximize,
bool );
73 itkBooleanMacro( Maximize );
75 {
return !m_Maximize; }
77 { this->SetMaximize(!v); }
79 { SetMaximize(
false ); }
81 { SetMaximize(
true ); }
84 void StartOptimization(
void )
override;
88 void ResumeOptimization(
void );
92 void StopOptimization(
void );
95 itkSetMacro( MaximumStepLength,
double );
96 itkSetMacro( MinimumStepLength,
double );
97 itkSetMacro( RelaxationFactor,
double );
98 itkSetMacro( NumberOfIterations,
unsigned long );
99 itkSetMacro( GradientMagnitudeTolerance,
double );
100 itkGetConstReferenceMacro( CurrentStepLength,
double);
101 itkGetConstReferenceMacro( MaximumStepLength,
double );
102 itkGetConstReferenceMacro( MinimumStepLength,
double );
103 itkGetConstReferenceMacro( RelaxationFactor,
double );
104 itkGetConstReferenceMacro( NumberOfIterations,
unsigned long );
105 itkGetConstReferenceMacro( GradientMagnitudeTolerance,
double );
106 itkGetConstMacro( CurrentIteration,
unsigned int );
107 itkGetConstReferenceMacro( StopCondition, StopConditionType );
108 itkGetConstReferenceMacro( Value, MeasureType );
109 itkGetConstReferenceMacro( Gradient, DerivativeType );
114 void PrintSelf(std::ostream& os, Indent indent)
const override;
119 virtual void AdvanceOneStep(
void );
126 virtual void StepAlongGradient(
double,
const DerivativeType&);
130 void operator=(
const Self&);
MeasureType m_BestSoFarValue
Definition: itkUCLRegularStepGradientDescentOptimizer.h:139
double m_MinimumStepLength
Definition: itkUCLRegularStepGradientDescentOptimizer.h:143
void SetMinimize(bool v)
Definition: itkUCLRegularStepGradientDescentOptimizer.h:76
double m_RelaxationFactor
Definition: itkUCLRegularStepGradientDescentOptimizer.h:145
ParametersType m_BestSoFarParameters
Definition: itkUCLRegularStepGradientDescentOptimizer.h:140
double m_CurrentStepLength
Definition: itkUCLRegularStepGradientDescentOptimizer.h:144
DerivativeType m_Gradient
Definition: itkUCLRegularStepGradientDescentOptimizer.h:133
Definition: niftkITKAffineResampleImage.cxx:74
StopConditionType m_StopCondition
Definition: itkUCLRegularStepGradientDescentOptimizer.h:146
double m_GradientMagnitudeTolerance
Definition: itkUCLRegularStepGradientDescentOptimizer.h:141
void MinimizeOn(void)
Definition: itkUCLRegularStepGradientDescentOptimizer.h:78
SingleValuedNonLinearOptimizer Superclass
Definition: itkUCLRegularStepGradientDescentOptimizer.h:48
bool GetMinimize() const
Definition: itkUCLRegularStepGradientDescentOptimizer.h:74
SmartPointer< Self > Pointer
Definition: itkUCLRegularStepGradientDescentOptimizer.h:49
const GLdouble * v
Definition: glew.h:1375
virtual ~UCLRegularStepGradientDescentOptimizer()
Definition: itkUCLRegularStepGradientDescentOptimizer.h:113
void MinimizeOff(void)
Definition: itkUCLRegularStepGradientDescentOptimizer.h:80
bool m_Stop
Definition: itkUCLRegularStepGradientDescentOptimizer.h:136
UCLRegularStepGradientDescentOptimizer Self
Definition: itkUCLRegularStepGradientDescentOptimizer.h:47
double m_MaximumStepLength
Definition: itkUCLRegularStepGradientDescentOptimizer.h:142
unsigned long m_NumberOfIterations
Definition: itkUCLRegularStepGradientDescentOptimizer.h:147
MeasureType m_Value
Definition: itkUCLRegularStepGradientDescentOptimizer.h:138
DerivativeType m_PreviousGradient
Definition: itkUCLRegularStepGradientDescentOptimizer.h:134
unsigned long m_CurrentIteration
Definition: itkUCLRegularStepGradientDescentOptimizer.h:148
bool m_Maximize
Definition: itkUCLRegularStepGradientDescentOptimizer.h:137
Definition: itkUCLRegularStepGradientDescentOptimizer.h:42
SmartPointer< const Self > ConstPointer
Definition: itkUCLRegularStepGradientDescentOptimizer.h:50
StopConditionType
Definition: itkUCLRegularStepGradientDescentOptimizer.h:61