Moved printing to NonlinearOptimizer base class

release/4.3a0
Richard Roberts 2012-03-23 03:38:58 +00:00
parent 0bd74426ea
commit bcd663244a
3 changed files with 8 additions and 8 deletions

View File

@ -54,10 +54,6 @@ NonlinearOptimizer::auto_ptr GaussNewtonOptimizer::iterate() const {
SharedValues newValues(new Values(values_->retract(*delta, *ordering_))); SharedValues newValues(new Values(values_->retract(*delta, *ordering_)));
double newError = graph_->error(*newValues); double newError = graph_->error(*newValues);
// Maybe show output
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) newValues->print("newValues");
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "error: " << newError << endl;
// Create new optimizer with new values and new error // Create new optimizer with new values and new error
NonlinearOptimizer::auto_ptr newOptimizer(new GaussNewtonOptimizer( NonlinearOptimizer::auto_ptr newOptimizer(new GaussNewtonOptimizer(
*this, newValues, newError)); *this, newValues, newError));

View File

@ -132,10 +132,6 @@ NonlinearOptimizer::auto_ptr LevenbergMarquardtOptimizer::iterate() const {
} }
} // end while } // end while
// Maybe show output
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) next_values->print("newValues");
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "error: " << next_error << endl;
// Create new optimizer with new values and new error // Create new optimizer with new values and new error
NonlinearOptimizer::auto_ptr newOptimizer(new LevenbergMarquardtOptimizer( NonlinearOptimizer::auto_ptr newOptimizer(new LevenbergMarquardtOptimizer(
*this, next_values, next_error, lambda)); *this, next_values, next_error, lambda));

View File

@ -36,6 +36,10 @@ NonlinearOptimizer::auto_ptr NonlinearOptimizer::defaultOptimize() const {
return this->clone(); return this->clone();
} }
// Maybe show output
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) this->values()->print("newValues");
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "newError: " << this->error() << endl;
// Return if we already have too many iterations // Return if we already have too many iterations
if(this->iterations() >= params_->maxIterations) if(this->iterations() >= params_->maxIterations)
return this->clone(); return this->clone();
@ -49,6 +53,10 @@ NonlinearOptimizer::auto_ptr NonlinearOptimizer::defaultOptimize() const {
// Do next iteration // Do next iteration
currentError = next->error(); currentError = next->error();
next = next->iterate(); next = next->iterate();
// Maybe show output
if (params_->verbosity >= NonlinearOptimizerParams::VALUES) next->values()->print("newValues");
if (params_->verbosity >= NonlinearOptimizerParams::ERROR) cout << "newError: " << next->error() << endl;
} }
// Printing if verbose // Printing if verbose