0.11.11: changed Statistics table name to Info and added new Statistics table containing detection statistics. StatisticsToolBox can cache statistics (true by default). DatabaseViewer: new Statistics panel to see all statistics contained in the database.

This commit is contained in:
matlabbe
2016-09-20 11:19:34 -04:00
parent a0972158dc
commit 3530da935b
20 changed files with 609 additions and 219 deletions

View File

@@ -144,6 +144,7 @@ public:
bool imageHighestHypShown() const;
bool beepOnPause() const;
bool isTimeUsedInFigures() const;
bool isCacheSavedInFigures() const;
bool notifyWhenNewGlobalPathIsReceived() const;
int getOdomQualityWarnThr() const;
bool isPosteriorGraphView() const;

View File

@@ -46,12 +46,15 @@ class RTABMAPGUI_EXP StatItem : public QWidget
Q_OBJECT;
public:
StatItem(const QString & name, const std::vector<float> & x, const std::vector<float> & y, const QString & unit = QString(), const QMenu * menu = 0, QGridLayout * grid = 0, QWidget * parent = 0);
StatItem(const QString & name, bool cacheOn, const std::vector<float> & x, const std::vector<float> & y, const QString & unit = QString(), const QMenu * menu = 0, QGridLayout * grid = 0, QWidget * parent = 0);
virtual ~StatItem();
void addValue(float y);
void addValue(float x, float y);
void setValues(const std::vector<float> & x, const std::vector<float> & y);
QString value() const;
std::vector<float> xValues() const {return _x;}
std::vector<float> yValues() const {return _y;}
void setCacheOn(bool on);
public slots:
void updateMenu(const QMenu * menu);
@@ -74,6 +77,10 @@ private:
QLabel * _value;
QLabel * _unit;
QMenu * _menu;
bool _cacheOn;
std::vector<float> _x;
std::vector<float> _y;
};
@@ -88,14 +95,16 @@ public:
virtual ~StatsToolBox();
void getFiguresSetup(QList<int> & curvesPerFigure, QStringList & curveNames);
void addCurve(const QString & name, bool newFigure = true);
void addCurve(const QString & name, bool newFigure = true, bool cacheOn = false);
void setWorkingDirectory(const QString & workingDirectory);
void closeFigures();
void setCacheOn(bool on);
public slots:
void updateStat(const QString & statFullName, float y);
void updateStat(const QString & statFullName, float x, float y);
void updateStat(const QString & statFullName, const std::vector<float> & x, const std::vector<float> & y);
void updateStat(const QString & statFullName, bool cacheOn);
void updateStat(const QString & statFullName, float y, bool cacheOn);
void updateStat(const QString & statFullName, float x, float y, bool cacheOn);
void updateStat(const QString & statFullName, const std::vector<float> & x, const std::vector<float> & y, bool cacheOn);
signals:
void menuChanged(const QMenu *);