go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
elxFiniteDifferenceGradientDescent.h
Go to the documentation of this file.
1 /*======================================================================
2 
3  This file is part of the elastix software.
4 
5  Copyright (c) University Medical Center Utrecht. All rights reserved.
6  See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7  details.
8 
9  This software is distributed WITHOUT ANY WARRANTY; without even
10  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  PURPOSE. See the above copyright notices for more information.
12 
13 ======================================================================*/
14 
15 #ifndef __elxFiniteDifferenceGradientDescent_h
16 #define __elxFiniteDifferenceGradientDescent_h
17 
19 #include "elxIncludes.h"
20 
21 namespace elastix
22 {
23 
76  template <class TElastix>
78  public
80  public
81  OptimizerBase<TElastix>
82  {
83  public:
84 
89  typedef itk::SmartPointer<Self> Pointer;
90  typedef itk::SmartPointer<const Self> ConstPointer;
91 
93  itkNewMacro( Self );
94 
97 
102  elxClassNameMacro( "FiniteDifferenceGradientDescent" );
103 
105  typedef Superclass1::CostFunctionType CostFunctionType;
106  typedef Superclass1::CostFunctionPointer CostFunctionPointer;
107  typedef Superclass1::StopConditionType StopConditionType;
108 
117 
119  typedef typename Superclass1::ParametersType ParametersType;
120 
122  virtual void BeforeRegistration(void);
123  virtual void BeforeEachResolution(void);
124  virtual void AfterEachResolution(void);
125  virtual void AfterEachIteration(void);
126  virtual void AfterRegistration(void);
127 
130  virtual void StartOptimization(void);
131 
132  protected:
133 
136 
137  bool m_ShowMetricValues;
138 
139  private:
140 
141  FiniteDifferenceGradientDescent( const Self& ); // purposely not implemented
142  void operator=( const Self& ); // purposely not implemented
143 
144  }; // end class FiniteDifferenceGradientDescent
145 
146 
147 } // end namespace elastix
148 
149 #ifndef ITK_MANUAL_INSTANTIATION
150 #include "elxFiniteDifferenceGradientDescent.hxx"
151 #endif
152 
153 #endif // end #ifndef __elxFiniteDifferenceGradientDescent_h
154 
Superclass::RegistrationPointer RegistrationPointer
elxClassNameMacro("FiniteDifferenceGradientDescent")
This class is the elastix base class for all Optimizers.
An optimizer based on the itk::FiniteDifferenceGradientDescentOptimizer.
Superclass::ElastixType ElastixType
Superclass::ConfigurationPointer ConfigurationPointer
Superclass::ElastixPointer ElastixPointer
Superclass::ConfigurationType ConfigurationType
itk::Optimizer ITKBaseType
Superclass::RegistrationType RegistrationType
FiniteDifferenceGradientDescentOptimizer Superclass1


Generated on 05-01-2014 for elastix by doxygen 1.8.5 elastix logo