mirror of
https://github.com/introlab/rtabmap.git
synced 2026-09-02 01:20:25 +08:00
report: added --ignore_inter_nodes option. CloudViewer: set max absolute scan intensity to 100 (was 0=auto). reprocess/replay db: ignore intermediate nodes if Rtabmap/CreateIntermediateNodes is false.
This commit is contained in:
@@ -78,6 +78,7 @@ void showUsage()
|
||||
" session for 1=min,2=max,4=mean,8=stddev,16=total,32=nonnull%%\n"
|
||||
" --loc_delay # Delay to split sessions for localization statistics (default 60 seconds)\n"
|
||||
" (it is a mask, we can combine those numbers, e.g., 63 for all) \n"
|
||||
" --ignore_inter_nodes Ignore intermediate poses and statistics.\n"
|
||||
" --help Show usage\n\n");
|
||||
exit(1);
|
||||
}
|
||||
@@ -135,6 +136,7 @@ int main(int argc, char * argv[])
|
||||
bool outputLoopAccuracy = false;
|
||||
bool showAvailableStats = false;
|
||||
bool invertFigures = false;
|
||||
bool ignoreInterNodes = false;
|
||||
bool useIds = false;
|
||||
int startId = 0;
|
||||
bool exportFigures = false;
|
||||
@@ -191,6 +193,10 @@ int main(int argc, char * argv[])
|
||||
{
|
||||
useIds = true;
|
||||
}
|
||||
else if(strcmp(argv[i],"--ignore_inter_nodes") == 0)
|
||||
{
|
||||
ignoreInterNodes = true;
|
||||
}
|
||||
else if(strcmp(argv[i],"--export") == 0)
|
||||
{
|
||||
exportFigures = true;
|
||||
@@ -372,7 +378,7 @@ int main(int argc, char * argv[])
|
||||
params = driver->getLastParameters();
|
||||
ULogger::setLevel(ULogger::kWarning);
|
||||
std::set<int> ids;
|
||||
driver->getAllNodeIds(ids);
|
||||
driver->getAllNodeIds(ids, false, false, ignoreInterNodes);
|
||||
std::map<int, std::pair<std::map<std::string, float>, double> > stats = driver->getAllStatistics();
|
||||
std::map<int, Transform> odomPoses, gtPoses;
|
||||
std::map<int, double> odomStamps;
|
||||
|
||||
@@ -505,10 +505,12 @@ int main(int argc, char * argv[])
|
||||
bool incrementalMemory = Parameters::defaultMemIncrementalMemory();
|
||||
Parameters::parse(parameters, Parameters::kMemIncrementalMemory(), incrementalMemory);
|
||||
Parameters::parse(parameters, Parameters::kDbTargetVersion(), targetVersion);
|
||||
bool intermediateNodes = Parameters::defaultRtabmapCreateIntermediateNodes();
|
||||
Parameters::parse(parameters, Parameters::kRtabmapCreateIntermediateNodes(), intermediateNodes);
|
||||
|
||||
int totalIds = 0;
|
||||
std::set<int> ids;
|
||||
dbDriver->getAllNodeIds(ids);
|
||||
dbDriver->getAllNodeIds(ids, false, false, !intermediateNodes);
|
||||
if(ids.empty())
|
||||
{
|
||||
printf("Input database doesn't have any nodes saved in it.\n");
|
||||
@@ -532,7 +534,7 @@ int main(int argc, char * argv[])
|
||||
return -1;
|
||||
}
|
||||
ids.clear();
|
||||
dbDriver->getAllNodeIds(ids);
|
||||
dbDriver->getAllNodeIds(ids, false, false, !intermediateNodes);
|
||||
totalIds += ids.size();
|
||||
dbDriver->closeConnection(false);
|
||||
}
|
||||
@@ -567,7 +569,7 @@ int main(int argc, char * argv[])
|
||||
bool rgbdEnabled = Parameters::defaultRGBDEnabled();
|
||||
Parameters::parse(parameters, Parameters::kRGBDEnabled(), rgbdEnabled);
|
||||
bool odometryIgnored = !rgbdEnabled;
|
||||
DBReader * dbReader = new DBReader(inputDatabasePath, useDatabaseRate?-1:0, odometryIgnored, false, false, startId, -1, stopId);
|
||||
DBReader * dbReader = new DBReader(inputDatabasePath, useDatabaseRate?-1:0, odometryIgnored, false, false, startId, -1, stopId, !intermediateNodes);
|
||||
dbReader->init();
|
||||
|
||||
OccupancyGrid grid(parameters);
|
||||
|
||||
Reference in New Issue
Block a user