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 using namespace itk;
24 
77  template <class TElastix>
79  public
81  public
82  OptimizerBase<TElastix>
83  {
84  public:
85 
90  typedef SmartPointer<Self> Pointer;
91  typedef SmartPointer<const Self> ConstPointer;
92 
94  itkNewMacro( Self );
95 
98 
103  elxClassNameMacro( "FiniteDifferenceGradientDescent" );
104 
107  typedef Superclass1::CostFunctionPointer CostFunctionPointer;
109 
118 
121 
123  virtual void BeforeRegistration(void);
124  virtual void BeforeEachResolution(void);
125  virtual void AfterEachResolution(void);
126  virtual void AfterEachIteration(void);
127  virtual void AfterRegistration(void);
128 
131  virtual void StartOptimization(void);
132 
133  protected:
134 
137 
138  bool m_ShowMetricValues;
139 
140  private:
141 
142  FiniteDifferenceGradientDescent( const Self& ); // purposely not implemented
143  void operator=( const Self& ); // purposely not implemented
144 
145  }; // end class FiniteDifferenceGradientDescent
146 
147 
148 } // end namespace elastix
149 
150 #ifndef ITK_MANUAL_INSTANTIATION
151 #include "elxFiniteDifferenceGradientDescent.hxx"
152 #endif
153 
154 #endif // end #ifndef __elxFiniteDifferenceGradientDescent_h
155 


Generated on 27-06-2013 for elastix by doxygen 1.8.3.1 elastix logo