go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkAdaptiveStochasticPreconditionedGradientDescentOptimizer.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkAdaptiveStochasticPreconditionedGradientDescentOptimizer_h
19#define itkAdaptiveStochasticPreconditionedGradientDescentOptimizer_h
20
22
23#include <vnl/vnl_math.h>
24#include "itkSigmoidImageFilter.h"
25
26namespace itk
27{
79{
80public:
82
86
87 using Pointer = SmartPointer<Self>;
88 using ConstPointer = SmartPointer<const Self>;
89
91 itkNewMacro(Self);
92
96
98 using Superclass::MeasureType;
99 using Superclass::ParametersType;
100 using Superclass::DerivativeType;
101 using Superclass::CostFunctionType;
106
110 // using Superclass::EigenSystemType;
111
113 itkSetMacro(UseAdaptiveStepSizes, bool);
114 itkGetConstMacro(UseAdaptiveStepSizes, bool);
115
118 itkSetMacro(SigmoidMax, double);
119 itkGetConstMacro(SigmoidMax, double);
120
123 itkSetMacro(SigmoidMin, double);
124 itkGetConstMacro(SigmoidMin, double);
125
128 itkSetMacro(SigmoidScale, double);
129 itkGetConstMacro(SigmoidScale, double);
130
131protected:
134
142 virtual void
144
147
148private:
151 double m_SigmoidMax{ 1.0 };
152 double m_SigmoidMin{ -0.8 };
153 double m_SigmoidScale{ 1e-8 };
154
155}; // end class AdaptiveStochasticPreconditionedGradientDescentOptimizer
156
157
158} // end namespace itk
159
160
161#endif // end #ifndef itkAdaptiveStochasticPreconditionedGradientDescentOptimizer_h
ITK_DISALLOW_COPY_AND_MOVE(AdaptiveStochasticPreconditionedGradientDescentOptimizer)
A cost function that applies a scaling to another cost function.
This class implements a gradient descent optimizer with a decaying gain and preconditioning.


Generated on 2023-01-13 for elastix by doxygen 1.9.6 elastix logo