go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkGradientDescentOptimizer2.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __itkGradientDescentOptimizer2_h
16 #define __itkGradientDescentOptimizer2_h
17 
19 
20 namespace itk
21 {
22 
51  {
52  public:
56  typedef SmartPointer<Self> Pointer;
57  typedef SmartPointer<const Self> ConstPointer;
58 
60  itkNewMacro(Self);
61 
64 
73 
77  typedef enum {
81 
83  virtual void AdvanceOneStep( void );
84 
86  virtual void StartOptimization( void );
87 
90  virtual void ResumeOptimization( void );
91 
93  virtual void MetricErrorResponse( ExceptionObject & err );
94 
97  virtual void StopOptimization( void );
98 
100  itkSetMacro( LearningRate, double );
101 
103  itkGetConstReferenceMacro( LearningRate, double);
104 
106  itkSetMacro( NumberOfIterations, unsigned long );
107 
109  itkGetConstReferenceMacro( NumberOfIterations, unsigned long );
110 
112  itkGetConstMacro( CurrentIteration, unsigned int );
113 
115  itkGetConstReferenceMacro( Value, double );
116 
118  itkGetConstReferenceMacro( StopCondition, StopConditionType );
119 
121  itkGetConstReferenceMacro( Gradient, DerivativeType );
122 
123 
124  protected:
127  void PrintSelf(std::ostream& os, Indent indent) const;
128 
129  // made protected so subclass can access
133 
134  private:
135  GradientDescentOptimizer2(const Self&); //purposely not implemented
136  void operator=(const Self&); //purposely not implemented
137 
138  bool m_Stop;
139  double m_Value;
140 
141  unsigned long m_NumberOfIterations;
142  unsigned long m_CurrentIteration;
143 
144 
145 
146  };
147 
148 } // end namespace itk
149 
150 
151 #endif
152 
153 
154 
Implement a gradient descent optimizer.
void operator=(const Self &)
virtual void StartOptimization(void)
ScaledSingleValuedNonLinearOptimizer Superclass
Superclass::DerivativeType DerivativeType
Superclass::ScaledCostFunctionType ScaledCostFunctionType
virtual void StopOptimization(void)
void PrintSelf(std::ostream &os, Indent indent) const
virtual void AdvanceOneStep(void)
virtual void MetricErrorResponse(ExceptionObject &err)
Superclass::ParametersType ParametersType
Superclass::CostFunctionType CostFunctionType
virtual void ResumeOptimization(void)
Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer


Generated on 06-12-2013 for elastix by doxygen 1.8.5 elastix logo