ImFusion SDK 4.3
OptimizationStudy Class Reference

#include <ImFusion/Base/OptimizationStudy.h>

Holds optimization study results and offers methods for analyzing results. More...

Detailed Description

Holds optimization study results and offers methods for analyzing results.

Classes

struct  Record
 Structure for a single optimization study record. More...
 

Public Member Functions

void add (const OptimizationStudy *s)
 Add multiple results.
 
void add (const Record &r)
 Add results for one optimization.
 
void add (const std::vector< double > &pInit, const std::vector< double > &pOpt, int eval, double time, double costInit, double costOpt, const std::vector< double > &errorInit, const std::vector< double > &errorOpt)
 Add results for one optimization run to study.
 
void add (int dim, const double *pInit, const double *pOpt, int eval, double time, double costInit, double costOpt, const std::vector< double > &errorInit, const std::vector< double > &errorOpt)
 Alternative way of adding study results with parameter pointers.
 
void addError (int run, const std::vector< double > &error)
 Retrospectively add error values.
 
void clear ()
 Clear study.
 
int size () const
 Return size (number of runs) in the study.
 
int bestRun (bool minimized, double *valOut=0) const
 Return the run index with the best cost function value.
 
const std::vector< Record > & data () const
 Access the entire study data.
 
std::vector< double > plotData (int which) const
 Return a single parameter for all study samples.
 
void save (const std::string &filename) const
 Save the study to a text file.
 
int computeInliers (double parRangeThreshold, double &rangeOut, double &stdDevOut, double &errorOut, std::vector< int > *sortingOut=0) const
 Compute count of results in converged cluster and their average parameter range.
 
void parRange (const std::vector< int > &sorting, int first, double &rangeOut, double &stdDevOut, double &errorOut) const
 Return final parameter range of a subset of the results.
 
double evaluationsPerSecond () const
 Return the number of cost function evaluations per second over all runs.
 
void setAllParameters (int n, const double *x)
 If a selection is used, the Optimizer class sets the complete set of parameters here.
 
const std::vector< double > & allParameters () const
 Return vector of all parameters if available.
 
void setCustomDisplacements (const std::vector< std::vector< double > > &disp)
 Allows to set custom displacements to use by the Optimizer class (needs to be of selection dimension, not full parameter dimension)
 
const std::vector< std::vector< double > > & customDisplacements () const
 Return the custom displacement vectors.
 
void setSeed (unsigned int val)
 Set a custom seed for the pseudo-random number generator.
 
unsigned int seed () const
 Return the pseudo-random number seed.
 

Member Function Documentation

◆ add()

void add ( const std::vector< double > & pInit,
const std::vector< double > & pOpt,
int eval,
double time,
double costInit,
double costOpt,
const std::vector< double > & errorInit,
const std::vector< double > & errorOpt )

Add results for one optimization run to study.

Parameters
pInitstart parameters
pOptoptimized parameters
evalnumber of optimizer evaluations
timeexecution time of the optimization
costInitinitial cost function value
costOptcost function value at optimum
errorInitinitial vector of error measures
errorOptvector of error measures at optimum

◆ plotData()

std::vector< double > plotData ( int which) const

Return a single parameter for all study samples.

The numbering of parameters corresponds to the OptimizationDialog study plot comboboxes.

◆ setCustomDisplacements()

void setCustomDisplacements ( const std::vector< std::vector< double > > & disp)
inline

Allows to set custom displacements to use by the Optimizer class (needs to be of selection dimension, not full parameter dimension)

The range parameter in the Optimizer class will be multiplied upon the values here.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close