![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
00001 /*====================================================================== 00002 00003 This file is part of the elastix software. 00004 00005 Copyright (c) University Medical Center Utrecht. All rights reserved. 00006 See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for 00007 details. 00008 00009 This software is distributed WITHOUT ANY WARRANTY; without even 00010 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00011 PURPOSE. See the above copyright notices for more information. 00012 00013 ======================================================================*/ 00014 00015 #ifndef __itkAdaptiveStochasticGradientDescentOptimizer_h 00016 #define __itkAdaptiveStochasticGradientDescentOptimizer_h 00017 00018 #include "../StandardGradientDescent/itkStandardGradientDescentOptimizer.h" 00019 00020 namespace itk 00021 { 00022 00068 class AdaptiveStochasticGradientDescentOptimizer : 00069 public StandardGradientDescentOptimizer 00070 { 00071 public: 00072 00074 typedef AdaptiveStochasticGradientDescentOptimizer Self; 00075 typedef StandardGradientDescentOptimizer Superclass; 00076 00077 typedef SmartPointer<Self> Pointer; 00078 typedef SmartPointer<const Self> ConstPointer; 00079 00081 itkNewMacro( Self ); 00082 00084 itkTypeMacro( AdaptiveStochasticGradientDescentOptimizer, 00085 StandardGradientDescentOptimizer ); 00086 00088 typedef Superclass::MeasureType MeasureType; 00089 typedef Superclass::ParametersType ParametersType; 00090 typedef Superclass::DerivativeType DerivativeType; 00091 typedef Superclass::CostFunctionType CostFunctionType; 00092 typedef Superclass::ScalesType ScalesType; 00093 typedef Superclass::ScaledCostFunctionType ScaledCostFunctionType; 00094 typedef Superclass::ScaledCostFunctionPointer ScaledCostFunctionPointer; 00095 typedef Superclass::StopConditionType StopConditionType; 00096 00098 itkSetMacro( UseAdaptiveStepSizes, bool ); 00099 itkGetConstMacro( UseAdaptiveStepSizes, bool ); 00100 00103 itkSetMacro(SigmoidMax, double); 00104 itkGetConstMacro(SigmoidMax, double); 00105 00108 itkSetMacro(SigmoidMin, double); 00109 itkGetConstMacro(SigmoidMin, double); 00110 00113 itkSetMacro(SigmoidScale, double); 00114 itkGetConstMacro(SigmoidScale, double); 00115 00116 protected: 00117 00118 AdaptiveStochasticGradientDescentOptimizer(); 00119 virtual ~AdaptiveStochasticGradientDescentOptimizer() {}; 00120 00128 virtual void UpdateCurrentTime( void ); 00129 00131 DerivativeType m_PreviousGradient; 00132 00133 private: 00134 00135 AdaptiveStochasticGradientDescentOptimizer( const Self& ); // purposely not implemented 00136 void operator=( const Self& ); // purposely not implemented 00137 00139 bool m_UseAdaptiveStepSizes; 00140 double m_SigmoidMax; 00141 double m_SigmoidMin; 00142 double m_SigmoidScale; 00143 00144 }; // end class AdaptiveStochasticGradientDescentOptimizer 00145 00146 00147 } // end namespace itk 00148 00149 00150 #endif // end #ifndef __itkAdaptiveStochasticGradientDescentOptimizer_h 00151 00152
Generated on 24-05-2012 for elastix by ![]() |
![]() |