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 
24 namespace elastix
25 {
26 
67 template< class TElastix >
69  public
71  public
72  OptimizerBase< TElastix >
73 {
74 public:
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  virtual void BeforeRegistration( void );
115 
116  virtual void BeforeEachResolution( void );
117 
118  virtual void AfterEachResolution( void );
119 
120  virtual void AfterEachIteration( void );
121 
122  virtual void AfterRegistration( void );
123 
126  virtual void StartOptimization( void );
127 
129  virtual void MetricErrorResponse( itk::ExceptionObject & err );
130 
134  virtual void SetCurrentPositionPublic( const ParametersType & param )
135  {
136  this->Superclass1::SetCurrentPosition( param );
137  }
138 
139 
141  itkSetMacro( MaximumNumberOfSamplingAttempts, unsigned long );
142 
144  itkGetConstReferenceMacro( MaximumNumberOfSamplingAttempts, unsigned long );
145 
146 protected:
147 
150 
151 private:
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
elastix::StandardGradientDescent::MetricErrorResponse
virtual void MetricErrorResponse(itk::ExceptionObject &err)
elastix::StandardGradientDescent::RegistrationType
Superclass2::RegistrationType RegistrationType
Definition: elxStandardGradientDescent.h:105
elastix::StandardGradientDescent::CostFunctionType
Superclass1::CostFunctionType CostFunctionType
Definition: elxStandardGradientDescent.h:96
elastix::OptimizerBase::RegistrationPointer
Superclass::RegistrationPointer RegistrationPointer
Definition: elxOptimizerBase.h:70
elastix::StandardGradientDescent::BeforeEachResolution
virtual void BeforeEachResolution(void)
elastix::StandardGradientDescent::operator=
void operator=(const Self &)
elastix::OptimizerBase::RegistrationType
Superclass::RegistrationType RegistrationType
Definition: elxOptimizerBase.h:69
elastix::OptimizerBase::ConfigurationPointer
Superclass::ConfigurationPointer ConfigurationPointer
Definition: elxOptimizerBase.h:68
elastix::StandardGradientDescent::ITKBaseType
Superclass2::ITKBaseType ITKBaseType
Definition: elxStandardGradientDescent.h:107
itk::StandardGradientDescentOptimizer::CostFunctionType
Superclass::CostFunctionType CostFunctionType
Definition: itkStandardGradientDescentOptimizer.h:87
elastix::StandardGradientDescent::elxClassNameMacro
elxClassNameMacro("StandardGradientDescent")
elastix::StandardGradientDescent::ElastixType
Superclass2::ElastixType ElastixType
Definition: elxStandardGradientDescent.h:101
elastix::StandardGradientDescent::~StandardGradientDescent
virtual ~StandardGradientDescent()
Definition: elxStandardGradientDescent.h:149
elastix::StandardGradientDescent::m_PreviousErrorAtIteration
unsigned long m_PreviousErrorAtIteration
Definition: elxStandardGradientDescent.h:159
elastix::StandardGradientDescent::ConfigurationPointer
Superclass2::ConfigurationPointer ConfigurationPointer
Definition: elxStandardGradientDescent.h:104
elastix::OptimizerBase
This class is the elastix base class for all Optimizers.
Definition: elxOptimizerBase.h:54
elastix::StandardGradientDescent::Superclass2
OptimizerBase< TElastix > Superclass2
Definition: elxStandardGradientDescent.h:79
elastix::StandardGradientDescent::ConstPointer
itk::SmartPointer< const Self > ConstPointer
Definition: elxStandardGradientDescent.h:81
itk::StandardGradientDescentOptimizer
This class implements a gradient descent optimizer with a decaying gain.
Definition: itkStandardGradientDescentOptimizer.h:67
elastix::StandardGradientDescent::ElastixPointer
Superclass2::ElastixPointer ElastixPointer
Definition: elxStandardGradientDescent.h:102
elastix::StandardGradientDescent::ConfigurationType
Superclass2::ConfigurationType ConfigurationType
Definition: elxStandardGradientDescent.h:103
elastix::StandardGradientDescent::StartOptimization
virtual void StartOptimization(void)
itk::StandardGradientDescentOptimizer::StopConditionType
Superclass::StopConditionType StopConditionType
Definition: itkStandardGradientDescentOptimizer.h:91
elastix::StandardGradientDescent::StandardGradientDescent
StandardGradientDescent()
itk::ScaledSingleValuedNonLinearOptimizer::SetCurrentPosition
virtual void SetCurrentPosition(const ParametersType &param)
elastix::StandardGradientDescent::SetCurrentPositionPublic
virtual void SetCurrentPositionPublic(const ParametersType &param)
Definition: elxStandardGradientDescent.h:134
elastix::OptimizerBase::ConfigurationType
Superclass::ConfigurationType ConfigurationType
Definition: elxOptimizerBase.h:67
itk::ScaledSingleValuedNonLinearOptimizer
Definition: itkScaledSingleValuedNonLinearOptimizer.h:64
elastix::StandardGradientDescent::StopConditionType
Superclass1::StopConditionType StopConditionType
Definition: elxStandardGradientDescent.h:98
elastix::OptimizerBase::ElastixPointer
Superclass::ElastixPointer ElastixPointer
Definition: elxOptimizerBase.h:66
elastix::StandardGradientDescent::RegistrationPointer
Superclass2::RegistrationPointer RegistrationPointer
Definition: elxStandardGradientDescent.h:106
elxIncludes.h
elastix::StandardGradientDescent::Pointer
itk::SmartPointer< Self > Pointer
Definition: elxStandardGradientDescent.h:80
elastix::StandardGradientDescent::BeforeRegistration
virtual void BeforeRegistration(void)
elastix::StandardGradientDescent::ParametersType
Superclass1::ParametersType ParametersType
Definition: elxStandardGradientDescent.h:110
elastix::StandardGradientDescent::AfterEachIteration
virtual void AfterEachIteration(void)
elastix::StandardGradientDescent::Superclass1
StandardGradientDescentOptimizer Superclass1
Definition: elxStandardGradientDescent.h:78
elastix::StandardGradientDescent::CostFunctionPointer
Superclass1::CostFunctionPointer CostFunctionPointer
Definition: elxStandardGradientDescent.h:97
elastix::StandardGradientDescent::AfterEachResolution
virtual void AfterEachResolution(void)
elastix::StandardGradientDescent::m_MaximumNumberOfSamplingAttempts
unsigned long m_MaximumNumberOfSamplingAttempts
Definition: elxStandardGradientDescent.h:157
itk::ScaledSingleValuedNonLinearOptimizer::ParametersType
Superclass::ParametersType ParametersType
Definition: itkScaledSingleValuedNonLinearOptimizer.h:82
elastix::StandardGradientDescent::StandardGradientDescent
StandardGradientDescent(const Self &)
elastix::StandardGradientDescent::Self
StandardGradientDescent Self
Definition: elxStandardGradientDescent.h:77
elastix::StandardGradientDescent
A gradient descent optimizer with a decaying gain.
Definition: elxStandardGradientDescent.h:73
itk::StandardGradientDescentOptimizer::ParametersType
Superclass::ParametersType ParametersType
Definition: itkStandardGradientDescentOptimizer.h:85
itkStandardGradientDescentOptimizer.h
elastix::OptimizerBase::ITKBaseType
itk::Optimizer ITKBaseType
Definition: elxOptimizerBase.h:73
elastix::StandardGradientDescent::AfterRegistration
virtual void AfterRegistration(void)
elastix::OptimizerBase::ElastixType
Superclass::ElastixType ElastixType
Definition: elxOptimizerBase.h:62
elastix
Definition: elxFixedGenericPyramid.h:25
elastix::StandardGradientDescent::m_CurrentNumberOfSamplingAttempts
unsigned long m_CurrentNumberOfSamplingAttempts
Definition: elxStandardGradientDescent.h:158


Generated on OURCE_DATE_EPOCH for elastix by doxygen 1.8.18 elastix logo