Tomato
OxFitterLevenbergMarquardtVnl.h
Go to the documentation of this file.
1 
7 #ifndef Tomato_OXFITTERLevenbergMarquardtVNL_H
8 #define Tomato_OXFITTERLevenbergMarquardtVNL_H
9 
10 #include "CmakeConfigForTomato.h"
11 #ifdef USE_VNL
12 
13 #include "OxFitter.h"
14 
15 class vnl_levenberg_marquardt;
16 
17 namespace Ox {
18 
19  class ModelT1AdapterVnlLeastSquares;
20 
21  template<typename MeasureType>
22  class FitterLevenbergMarquardtVnl : public Fitter<MeasureType> {
23 
24  public:
25 
30  virtual int performFitting();
31 
32  // getters
33  ModelT1AdapterVnlLeastSquares *getModelAdaptedToVnl() const {
34  return _ModelAdaptedToVnl;
35  }
36 
40  virtual void disp();
41 
45  FitterLevenbergMarquardtVnl();
46 
51  FitterLevenbergMarquardtVnl(const FitterLevenbergMarquardtVnl &old);
52 
57  virtual Fitter<MeasureType> *newByCloning() { return new FitterLevenbergMarquardtVnl<MeasureType>(*this); }
58 
62  virtual ~FitterLevenbergMarquardtVnl();
63 
64  protected:
65 
66  virtual void configureMinimizer();
67 
68  private:
69 
70  vnl_levenberg_marquardt *_VnlFitter; // not meant to be see outside
71  ModelT1AdapterVnlLeastSquares *_ModelAdaptedToVnl; // not meant to be see outside
72 
73  };
74 
75 } // namespace Ox
76 
77 #ifndef TOMATOLIB_COMPILED
78 #include "OxFitterLevenbergMarquardtVnl.hxx"
79 #endif // TOMATOLIB_COMPILED
80 
81 #endif //USE_VNL
82 
83 #endif //Tomato_OXFITTERLevenbergMarquardtVNL_H
Definition: OxCalculator.h:19