ITK
5.2.0
Insight Toolkit
ITK
Modules
Numerics
Optimizersv4
include
itkConjugateGradientLineSearchOptimizerv4.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
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 itkConjugateGradientLineSearchOptimizerv4_h
19
#define itkConjugateGradientLineSearchOptimizerv4_h
20
21
#include "
itkGradientDescentLineSearchOptimizerv4.h
"
22
#include "
itkOptimizerParameterScalesEstimator.h
"
23
#include "
itkWindowConvergenceMonitoringFunction.h
"
24
25
namespace
itk
26
{
47
template
<
typename
TInternalComputationValueType>
48
class
ITK_TEMPLATE_EXPORT
ConjugateGradientLineSearchOptimizerv4Template
49
:
public
GradientDescentLineSearchOptimizerv4Template
<TInternalComputationValueType>
50
{
51
public
:
52
ITK_DISALLOW_COPY_AND_MOVE(
ConjugateGradientLineSearchOptimizerv4Template
);
53
55
using
Self
=
ConjugateGradientLineSearchOptimizerv4Template
;
56
using
Superclass
=
GradientDescentLineSearchOptimizerv4Template<TInternalComputationValueType>
;
57
using
Pointer
=
SmartPointer<Self>
;
58
using
ConstPointer
=
SmartPointer<const Self>
;
59
61
itkTypeMacro(
ConjugateGradientLineSearchOptimizerv4Template
,
Superclass
);
62
64
itkNewMacro(
Self
);
65
67
using
InternalComputationValueType
= TInternalComputationValueType;
68
70
using
DerivativeType
=
typename
Superclass::DerivativeType
;
71
73
using
MeasureType
=
typename
Superclass::MeasureType;
74
76
using
ConvergenceMonitoringType
=
itk::Function::WindowConvergenceMonitoringFunction<TInternalComputationValueType>
;
77
78
void
79
StartOptimization(
bool
doOnlyInitialization =
false
)
override
;
80
81
protected
:
84
void
85
AdvanceOneStep()
override
;
86
88
ConjugateGradientLineSearchOptimizerv4Template
() =
default
;
89
91
~
ConjugateGradientLineSearchOptimizerv4Template
()
override
=
default
;
92
93
void
94
PrintSelf(std::ostream & os,
Indent
indent)
const override
;
95
96
private
:
97
DerivativeType
m_LastGradient
;
98
DerivativeType
m_ConjugateGradient
;
99
};
100
102
using
ConjugateGradientLineSearchOptimizerv4
=
ConjugateGradientLineSearchOptimizerv4Template<double>
;
103
104
}
// end namespace itk
105
106
#ifndef ITK_MANUAL_INSTANTIATION
107
# include "itkConjugateGradientLineSearchOptimizerv4.hxx"
108
#endif
109
110
#endif
itk::GradientDescentLineSearchOptimizerv4Template::DerivativeType
typename Superclass::DerivativeType DerivativeType
Definition:
itkGradientDescentLineSearchOptimizerv4.h:83
itk::ConjugateGradientLineSearchOptimizerv4Template::InternalComputationValueType
TInternalComputationValueType InternalComputationValueType
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:67
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition:
itkIndent.h:49
itk::ConjugateGradientLineSearchOptimizerv4Template::DerivativeType
typename Superclass::DerivativeType DerivativeType
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:70
itkWindowConvergenceMonitoringFunction.h
itkOptimizerParameterScalesEstimator.h
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:59
itk::Function::WindowConvergenceMonitoringFunction
Class which monitors convergence during the course of optimization.
Definition:
itkWindowConvergenceMonitoringFunction.h:39
itkGradientDescentLineSearchOptimizerv4.h
itk::ConjugateGradientLineSearchOptimizerv4Template::m_ConjugateGradient
DerivativeType m_ConjugateGradient
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:98
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnnulusOperator.h:24
itk::GradientDescentLineSearchOptimizerv4Template
Gradient descent optimizer with a golden section line search.
Definition:
itkGradientDescentLineSearchOptimizerv4.h:60
itk::ConjugateGradientLineSearchOptimizerv4Template::MeasureType
typename Superclass::MeasureType MeasureType
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:73
itk::ConjugateGradientLineSearchOptimizerv4Template
Conjugate gradient descent optimizer with a golden section line search for nonlinear optimization.
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:48
itk::ConjugateGradientLineSearchOptimizerv4Template::m_LastGradient
DerivativeType m_LastGradient
Definition:
itkConjugateGradientLineSearchOptimizerv4.h:97
Generated on Thu Apr 1 2021 01:39:17 for ITK by
1.8.16