Class to monitor the evolution of a statistical quantity.
Keeps track of the last N incoming measurements of the quantity at hand and upon request returns statistical properties of these measurements (mean, median, etc.)
Class also contains methods for evaluating incoming measurements (whether to accept or reject those)
Definition at line 48 of file TSlidingWindow.h.
#include <mrpt/graphslam/misc/TSlidingWindow.h>
Public Member Functions | |
TSlidingWindow (std::string name="window") | |
~TSlidingWindow () | |
double | getMedian () |
Return the current median value. More... | |
double | getMean () |
Return the current mean value. More... | |
double | getStdDev () |
Return the Standard deviation of the current measurement vector. More... | |
bool | evaluateMeasurementInGaussian (double measurement) |
Determine whether the incoming measurement is inside the [-3sigma, +3sigma] boundaries from the current mean value. More... | |
bool | evaluateMeasurementAbove (double value) |
Determine whether the incoming measurement is over the current mean value. More... | |
bool | evaluateMeasurementBelow (double value) |
Determine whether the incoming measurement is less or equal to the current mean value. More... | |
void | addNewMeasurement (double measurement) |
Update the sliding window by appending a new measurement. More... | |
void | resizeWindow (size_t new_size) |
Resize the window. More... | |
void | loadFromConfigFile (const mrpt::utils::CConfigFileBase &source, const std::string §ion) |
This method load the options from a ".ini"-like file or memory-stored string list. More... | |
void | dumpToTextStream (mrpt::utils::CStream &out) const |
This method should clearly display all the contents of the structure in textual form, sending it to a CStream. More... | |
size_t | getWindowSize () const |
Return the size of the window. More... | |
bool | windowIsFull () const |
Check if the window has reached its limit. More... | |
void | loadFromConfigFileName (const std::string &config_file, const std::string §ion) |
Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file. More... | |
virtual void | saveToConfigFile (mrpt::utils::CConfigFileBase &target, const std::string §ion) const |
This method saves the options to a ".ini"-like file or memory-stored string list. More... | |
void | saveToConfigFileName (const std::string &config_file, const std::string §ion) const |
Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file. More... | |
void | dumpToConsole () const |
Just like dumpToTextStream() but sending the text to the console (std::cout) More... | |
Static Protected Member Functions | |
static void | dumpVar_int (CStream &out, const char *varName, int v) |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR. More... | |
static void | dumpVar_float (CStream &out, const char *varName, float v) |
static void | dumpVar_double (CStream &out, const char *varName, double v) |
static void | dumpVar_bool (CStream &out, const char *varName, bool v) |
static void | dumpVar_string (CStream &out, const char *varName, const std::string &v) |
Private Attributes | |
size_t | m_win_size |
std::vector< double > | m_measurements_vec |
std::string | m_name |
Name of the TSlidingWindow Instance at hand. More... | |
double | m_mean_cached |
Cached mean value. More... | |
double | m_median_cached |
Cached median value. More... | |
double | m_std_dev_cached |
Cached version of the standard deviation. More... | |
bool | m_mean_updated |
Is the mean up-to-date? More... | |
bool | m_median_updated |
Is the median up-to-date? More... | |
bool | m_std_dev_updated |
Is the standard deviation up-to-date? More... | |
bool | m_is_initialized |
flag is raised the first time that TSlidingWindow::addNewMeasurement is called More... | |
mrpt::graphslam::TSlidingWindow::TSlidingWindow | ( | std::string | name = "window" | ) |
mrpt::graphslam::TSlidingWindow::~TSlidingWindow | ( | ) |
void mrpt::graphslam::TSlidingWindow::addNewMeasurement | ( | double | measurement | ) |
Update the sliding window by appending a new measurement.
Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::addScanMatchingEdges(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::mahalanobisDistanceOdometryToICPEdge().
|
inherited |
Just like dumpToTextStream() but sending the text to the console (std::cout)
Referenced by mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::printParams(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::printParams(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::printParams(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::printParams(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::printParams().
|
virtual |
This method should clearly display all the contents of the structure in textual form, sending it to a CStream.
The default implementation in this base class relies on saveToConfigFile() to generate a plain text representation of all the parameters.
Reimplemented from mrpt::utils::CLoadableOptions.
|
staticprotectedinherited |
|
staticprotectedinherited |
|
staticprotectedinherited |
|
staticprotectedinherited |
Used to print variable info from dumpToTextStream with the macro LOADABLEOPTS_DUMP_VAR.
|
staticprotectedinherited |
bool mrpt::graphslam::TSlidingWindow::evaluateMeasurementAbove | ( | double | value | ) |
Determine whether the incoming measurement is over the current mean value.
bool mrpt::graphslam::TSlidingWindow::evaluateMeasurementBelow | ( | double | value | ) |
Determine whether the incoming measurement is less or equal to the current mean value.
bool mrpt::graphslam::TSlidingWindow::evaluateMeasurementInGaussian | ( | double | measurement | ) |
Determine whether the incoming measurement is inside the [-3sigma, +3sigma] boundaries from the current mean value.
double mrpt::graphslam::TSlidingWindow::getMean | ( | ) |
Return the current mean value.
double mrpt::graphslam::TSlidingWindow::getMedian | ( | ) |
double mrpt::graphslam::TSlidingWindow::getStdDev | ( | ) |
Return the Standard deviation of the current measurement vector.
size_t mrpt::graphslam::TSlidingWindow::getWindowSize | ( | ) | const |
Return the size of the window.
|
virtual |
This method load the options from a ".ini"-like file or memory-stored string list.
Only those parameters found in the given "section" and having the same name that the variable are loaded. Those not found in the file will stay with their previous values (usually the default values loaded at initialization). An example of an ".ini" file:
Implements mrpt::utils::CLoadableOptions.
|
inherited |
Behaves like loadFromConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to load the file.
Referenced by mrpt::graphslam::deciders::CRangeScanEdgeRegistrationDecider< GRAPH_T >::loadParams(), mrpt::graphslam::deciders::CICPCriteriaNRD< GRAPH_T >::loadParams(), mrpt::graphslam::deciders::CICPCriteriaERD< GRAPH_T >::loadParams(), mrpt::graphslam::optimizers::CLevMarqGSO< GRAPH_T >::loadParams(), and mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::loadParams().
void mrpt::graphslam::TSlidingWindow::resizeWindow | ( | size_t | new_size | ) |
Resize the window.
Referenced by mrpt::graphslam::deciders::CLoopCloserERD< GRAPH_T >::TLaserParams::TLaserParams().
|
virtualinherited |
This method saves the options to a ".ini"-like file or memory-stored string list.
Reimplemented in mrpt::vision::TMultiResDescOptions, mrpt::vision::TMultiResDescMatchOptions, mrpt::nav::CPTG_RobotShape_Circular, mrpt::nav::CPTG_RobotShape_Polygonal, mrpt::nav::CParameterizedTrajectoryGenerator, mrpt::nav::CAbstractPTGBasedReactive::TAbstractPTGNavigatorParams, mrpt::nav::CAbstractNavigator::TAbstractNavigatorParams, mrpt::nav::CPTG_DiffDrive_CollisionGridBased, mrpt::nav::CHolonomicND::TOptions, mrpt::nav::CWaypointsNavigator::TWaypointsNavigatorParams, mrpt::nav::CHolonomicFullEval::TOptions, mrpt::nav::CReactiveNavigationSystem::TReactiveNavigatorParams, mrpt::nav::CHolonomicVFF::TOptions, mrpt::nav::CMultiObjectiveMotionOptimizerBase::TParamsBase, mrpt::maps::CPointCloudFilterByDistance::TOptions, mrpt::nav::CPTG_DiffDrive_C, mrpt::nav::CPTG_DiffDrive_alpha, mrpt::nav::CMultiObjMotionOpt_Scalarization::TParams, mrpt::nav::CPTG_DiffDrive_CC, mrpt::nav::CPTG_DiffDrive_CCS, mrpt::nav::CPTG_DiffDrive_CS, and mrpt::nav::CPTG_Holo_Blend.
|
inherited |
Behaves like saveToConfigFile, but you can pass directly a file name and a temporary CConfigFile object will be created automatically to save the file.
bool mrpt::graphslam::TSlidingWindow::windowIsFull | ( | ) | const |
Check if the window has reached its limit.
This limit is set by the user via the resizeWindow method.
|
private |
flag is raised the first time that TSlidingWindow::addNewMeasurement is called
Definition at line 118 of file TSlidingWindow.h.
|
private |
Cached mean value.
Definition at line 107 of file TSlidingWindow.h.
|
private |
Is the mean up-to-date?
Definition at line 110 of file TSlidingWindow.h.
|
private |
Definition at line 102 of file TSlidingWindow.h.
|
private |
Cached median value.
Definition at line 108 of file TSlidingWindow.h.
|
private |
Is the median up-to-date?
Definition at line 111 of file TSlidingWindow.h.
|
private |
Name of the TSlidingWindow Instance at hand.
Definition at line 105 of file TSlidingWindow.h.
|
private |
Cached version of the standard deviation.
Definition at line 109 of file TSlidingWindow.h.
|
private |
Is the standard deviation up-to-date?
Definition at line 112 of file TSlidingWindow.h.
|
private |
Definition at line 101 of file TSlidingWindow.h.
Page generated by Doxygen 1.8.13 for MRPT 1.5.3 at Sun Nov 26 00:44:48 UTC 2017 |