go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxStandardGradientDescent.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 __elxStandardGradientDescent_h
19#define __elxStandardGradientDescent_h
20
21#include "elxIncludes.h" // include first to avoid MSVS warning
23
24namespace elastix
25{
26
67template< class TElastix >
69 public
71 public
72 OptimizerBase< TElastix >
73{
74public:
75
80 typedef itk::SmartPointer< Self > Pointer;
81 typedef itk::SmartPointer< const Self > ConstPointer;
82
84 itkNewMacro( Self );
85
88
93 elxClassNameMacro( "StandardGradientDescent" );
94
97 typedef Superclass1::CostFunctionPointer CostFunctionPointer;
99
108
111
114 void BeforeRegistration( void ) override;
115
116 void BeforeEachResolution( void ) override;
117
118 void AfterEachResolution( void ) override;
119
120 void AfterEachIteration( void ) override;
121
122 void AfterRegistration( void ) override;
123
126 void StartOptimization( void ) override;
127
129 void MetricErrorResponse( itk::ExceptionObject & err ) override;
130
134 void SetCurrentPositionPublic( const ParametersType & param ) override
135 {
136 this->Superclass1::SetCurrentPosition( param );
137 }
138
139
141 itkSetMacro( MaximumNumberOfSamplingAttempts, unsigned long );
142
144 itkGetConstReferenceMacro( MaximumNumberOfSamplingAttempts, unsigned long );
145
146protected:
147
150
151private:
152
153 StandardGradientDescent( const Self & ); // purposely not implemented
154 void operator=( const Self & ); // purposely not implemented
155
160
161};
162
163} // end namespace elastix
164
165#ifndef ITK_MANUAL_INSTANTIATION
166#include "elxStandardGradientDescent.hxx"
167#endif
168
169#endif // end #ifndef __elxStandardGradientDescent_h
A class that deals with user given parameters and command line arguments.
This class is the elastix base class for all Optimizers.
Superclass::ConfigurationPointer ConfigurationPointer
itk::Optimizer ITKBaseType
Superclass::ElastixType ElastixType
Superclass::ElastixPointer ElastixPointer
Superclass::RegistrationPointer RegistrationPointer
Superclass::RegistrationType RegistrationType
A gradient descent optimizer with a decaying gain.
Superclass2::ConfigurationType ConfigurationType
Superclass2::ConfigurationPointer ConfigurationPointer
void AfterEachResolution(void) override
Superclass1::StopConditionType StopConditionType
Superclass1::CostFunctionType CostFunctionType
Superclass1::CostFunctionPointer CostFunctionPointer
elxClassNameMacro("StandardGradientDescent")
itk::SmartPointer< const Self > ConstPointer
Superclass2::ElastixPointer ElastixPointer
StandardGradientDescentOptimizer Superclass1
void MetricErrorResponse(itk::ExceptionObject &err) override
Superclass2::RegistrationPointer RegistrationPointer
void AfterRegistration(void) override
Superclass1::ParametersType ParametersType
void StartOptimization(void) override
void BeforeEachResolution(void) override
void SetCurrentPositionPublic(const ParametersType &param) override
void AfterEachIteration(void) override
void BeforeRegistration(void) override
Superclass2::RegistrationType RegistrationType
void SetCurrentPosition(const ParametersType &param) override
This class implements a gradient descent optimizer with a decaying gain.


Generated on 1667476801 for elastix by doxygen 1.9.4 elastix logo