OSVR-Core
Namespaces | Typedefs | Functions
ParamFindingRoutine.h File Reference

Header. More...

#include "OptimizationBase.h"
#include "UtilityFunctions.h"
#include "newuoa.h"
#include <functional>
#include <iomanip>

Go to the source code of this file.

Namespaces

 osvr
 The main namespace for all C++ elements of the framework, internal and external.
 

Typedefs

using osvr::vbtracker::ParamOptimizerFunc = std::function< void(MeasurementsRows const &, bool, OptimCommonData const &, std::size_t)>
 

Functions

template<typename TrackingReferenceType , typename ParamSet >
void osvr::vbtracker::runOptimizer (MeasurementsRows const &data, bool costOnly, OptimCommonData const &commonData, std::size_t maxRuns)
 The main optimization routine, in which we run the tracker repeatedly with different parameters and compare its results at each step to some source of reference data. More...
 

Detailed Description

Header.

Date
2016
Author
Sensics, Inc. http://sensics.com/osvr

Function Documentation

§ runOptimizer()

template<typename TrackingReferenceType , typename ParamSet >
void osvr::vbtracker::runOptimizer ( MeasurementsRows const &  data,
bool  costOnly,
OptimCommonData const &  commonData,
std::size_t  maxRuns 
)

The main optimization routine, in which we run the tracker repeatedly with different parameters and compare its results at each step to some source of reference data.

Set up initial values for the vector we'll optimize - load them from the config params.

Update config from provided param vec

Main algorithm loop

Cost accumulation/post-processing.

Sometimes gets stuck in parameter ditches where we get very few tracked frames