mirror of
https://github.com/introlab/rtabmap_ros.git
synced 2026-10-06 17:57:45 +08:00
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:
@@ -27,6 +27,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
#include "rtabmap/core/Statistics.h"
|
||||
#include <rtabmap/utilite/UStl.h>
|
||||
#include <rtabmap/utilite/UConversion.h>
|
||||
|
||||
namespace rtabmap {
|
||||
std::map<std::string, float> Statistics::_defaultData;
|
||||
@@ -38,11 +39,44 @@ const std::map<std::string, float> & Statistics::defaultData()
|
||||
return _defaultData;
|
||||
}
|
||||
|
||||
std::string Statistics::serializeData(const std::map<std::string, float> & data)
|
||||
{
|
||||
std::stringstream output;
|
||||
for(std::map<std::string, float>::const_iterator iter=data.begin(); iter!=data.end(); ++iter)
|
||||
{
|
||||
if(iter != data.begin())
|
||||
{
|
||||
output << ";";
|
||||
}
|
||||
// make sure there are no commas instead of dots
|
||||
output << iter->first << ":" << uReplaceChar(uNumber2Str(iter->second), ',', '.');
|
||||
}
|
||||
return output.str();
|
||||
}
|
||||
|
||||
std::map<std::string, float> Statistics::deserializeData(const std::string & data)
|
||||
{
|
||||
std::map<std::string, float> output;
|
||||
std::list<std::string> tuplets = uSplit(data, ';');
|
||||
for(std::list<std::string>::iterator iter=tuplets.begin(); iter!=tuplets.end(); ++iter)
|
||||
{
|
||||
std::list<std::string> p = uSplit(*iter, ':');
|
||||
if(p.size() == 2)
|
||||
{
|
||||
std::string key = p.front();
|
||||
std::string value = p.back();
|
||||
uInsert(output, std::make_pair(key, uStr2Float(value)));
|
||||
}
|
||||
}
|
||||
return output;
|
||||
}
|
||||
|
||||
Statistics::Statistics() :
|
||||
_extended(0),
|
||||
_refImageId(0),
|
||||
_loopClosureId(0),
|
||||
_proximiyDetectionId(0),
|
||||
_stamp(0.0f),
|
||||
_currentGoalId(0)
|
||||
{
|
||||
_defaultDataInitialized = true;
|
||||
|
||||
Reference in New Issue
Block a user