Orfeo Toolbox  3.16
itkLevenbergMarquardtOptimizer.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Insight Segmentation & Registration Toolkit
4  Module: $RCSfile: itkLevenbergMarquardtOptimizer.h,v $
5  Language: C++
6  Date: $Date: 2009-06-24 12:02:52 $
7  Version: $Revision: 1.24 $
8 
9  Copyright (c) Insight Software Consortium. All rights reserved.
10  See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
11 
12  This software is distributed WITHOUT ANY WARRANTY; without even
13  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14  PURPOSE. See the above copyright notices for more information.
15 
16 =========================================================================*/
17 #ifndef __itkLevenbergMarquardtOptimizer_h
18 #define __itkLevenbergMarquardtOptimizer_h
19 
21 #include "vnl/algo/vnl_levenberg_marquardt.h"
22 
23 namespace itk
24 {
25 
33 {
34 public:
40 
42  itkNewMacro(Self);
43 
46 
49 
51  typedef vnl_levenberg_marquardt InternalOptimizerType;
52 
54  vnl_levenberg_marquardt * GetOptimizer(void) const;
55 
57  void StartOptimization( void );
58 
60  virtual void SetCostFunction( MultipleValuedCostFunction * costFunction );
61 
62  void SetNumberOfIterations(unsigned int iterations);
63  void SetValueTolerance(double tol);
64  void SetGradientTolerance(double tol);
65  void SetEpsilonFunction(double epsilon);
66 
68  MeasureType GetValue() const;
69 
70  const std::string GetStopConditionDescription() const;
71 
72 protected:
74  virtual ~LevenbergMarquardtOptimizer();
75 
76  typedef Superclass::CostFunctionAdaptorType CostFunctionAdaptorType;
77 
78 private:
79  LevenbergMarquardtOptimizer(const Self&); //purposely not implemented
80  void operator=(const Self&); //purposely not implemented
81 
84  unsigned int m_NumberOfIterations;
88 
89 };
90 
91 } // end namespace itk
92 
93 
94 #endif

Generated at Sat Feb 2 2013 23:51:03 for Orfeo Toolbox with doxygen 1.8.1.1