7 #ifndef Tomato_OXFITTERAMOEBAVNL_HXX 8 #define Tomato_OXFITTERAMOEBAVNL_HXX 10 #include "CmakeConfigForTomato.h" 14 #include <vnl/algo/vnl_amoeba.h> 18 template<
typename MeasureType>
20 FitterAmoebaVnl<MeasureType>
25 vnl_vector<MeasureType> temp(this->getParameters(), this->_Model->getNDims());
27 _VnlFitter->minimize(temp);
29 if (temp.size() != 0) {
30 temp.copy_out(this->getParameters());
32 if (this->getVerbose()) {
33 std::cout <<
"Results: " << temp <<
" Cost: " << this->_Model->calcCostValue(this->getParameters()) << std::endl;
39 template<
typename MeasureType>
40 ModelT1AdapterVnlCost*
41 FitterAmoebaVnl<MeasureType>
42 ::getModelAdaptedToVnl()
const {
43 return _FunctionsAdaptedToVnl;
46 template<
typename MeasureType>
48 FitterAmoebaVnl<MeasureType>
50 std::cout <<
"\nYou called disp() on a FitterAmoebaVnl object " <<
this <<
"\n";
51 std::cout <<
"It has VnlFitter " << _VnlFitter << std::endl;
52 std::cout <<
"It has FunctionsAdaptedToVnl " << _FunctionsAdaptedToVnl << std::endl;
53 std::cout <<
"It's base class is as follows: ";
58 template<
typename MeasureType>
59 FitterAmoebaVnl<MeasureType>
62 _FunctionsAdaptedToVnl = 0;
66 template<
typename MeasureType>
67 FitterAmoebaVnl<MeasureType>
68 ::~FitterAmoebaVnl() {
69 delete _FunctionsAdaptedToVnl; _FunctionsAdaptedToVnl = 0;
70 delete _VnlFitter; _VnlFitter = 0;
73 template<
typename MeasureType>
75 FitterAmoebaVnl<MeasureType>
76 ::configureMinimizer() {
79 throw std::runtime_error(
"Set the Model object");
81 delete _FunctionsAdaptedToVnl; _FunctionsAdaptedToVnl = 0;
82 delete _VnlFitter; _VnlFitter = 0;
83 int nDims = this->_Model->getNDims();
84 _FunctionsAdaptedToVnl =
new ModelT1AdapterVnlCost(nDims);
85 _FunctionsAdaptedToVnl->setModel(this->_Model);
86 _VnlFitter =
new vnl_amoeba(*_FunctionsAdaptedToVnl);
88 _FunctionsAdaptedToVnl->setModel(this->_Model);
89 _VnlFitter->set_x_tolerance(this->getXTolerance());
90 _VnlFitter->set_f_tolerance(this->getFTolerance());
92 _VnlFitter->set_max_iterations(this->getMaxFunctionEvals());
100 #endif //Tomato_OXFITTERAMOEBAVNL_H virtual void disp()
show me your Fitter
Definition: OxFitter.h:77
Definition: OxCalculator.h:19