mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-05 09:37:46 +08:00
Save intermediate node input features (#1698)
* Avoid removing nodes from STM when using CreateIntermediateNodes * Clean up the data of the intermediate node when IntermediateNodeDataKept is false * Save intermediate node input features * Don't delete intermediate nodes * comment typo * Updated parameter description, bump patch for DBReader API chang * When ID is not udpated to new one, don't disable words because that signature is still used in the bayes filter * updated comment * rtabmap-reprocess: support Rtabmap/DetectionRate when intermediate nodes are created and -skip option is not used * Fixed smallMovement when rehearsal is not trigdered at the same time * GUI: visualize rehearsal darkblue when intermediate nodes are used * Fixed RtabmapThread not transfering input features on intermediate nodes * Do not override smallMovement and fastMovement when converting to intermediate nodes to keep GUI visualization color working --------- Co-authored-by: Borong Yuan <[email protected]>
This commit is contained in:
@@ -2107,6 +2107,7 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
}
|
||||
|
||||
// For intermediate empty nodes, keep latest image shown
|
||||
bool rehearsedSimilarity = (float)uValue(stat.data(), Statistics::kMemoryRehearsal_id(), 0.0f) != 0.0f;
|
||||
if(signature.getWeight() >= 0)
|
||||
{
|
||||
_ui->imageView_source->clear();
|
||||
@@ -2131,7 +2132,6 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
|
||||
_ui->label_matchId->clear();
|
||||
|
||||
bool rehearsedSimilarity = (float)uValue(stat.data(), Statistics::kMemoryRehearsal_id(), 0.0f) != 0.0f;
|
||||
int proximityTimeDetections = (int)uValue(stat.data(), Statistics::kProximityTime_detections(), 0.0f);
|
||||
bool scanMatchingSuccess = (bool)uValue(stat.data(), Statistics::kNeighborLinkRefiningAccepted(), 0.0f);
|
||||
_ui->label_stats_imageNumber->setText(QString("%1 [%2]").arg(stat.refImageId()).arg(refMapId));
|
||||
@@ -2455,6 +2455,18 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
UDEBUG("time= %d ms (update loop closure viewer)", time.restart());
|
||||
}
|
||||
}
|
||||
else if(rehearsedSimilarity)
|
||||
{
|
||||
_ui->imageView_source->setBackgroundColor(Qt::darkBlue);
|
||||
}
|
||||
else if(smallMovement)
|
||||
{
|
||||
_ui->imageView_source->setBackgroundColor(Qt::gray);
|
||||
}
|
||||
else if(fastMovement)
|
||||
{
|
||||
_ui->imageView_source->setBackgroundColor(Qt::magenta);
|
||||
}
|
||||
|
||||
// PDF AND LIKELIHOOD
|
||||
if(!stat.posterior().empty() && _ui->dockWidget_posterior->isVisible())
|
||||
@@ -2712,7 +2724,6 @@ void MainWindow::processStats(const rtabmap::Statistics & stat)
|
||||
Signature & s = *_cachedSignatures.find(stat.refImageId());
|
||||
_cachedMemoryUsage -= s.sensorData().getMemoryUsed();
|
||||
s.sensorData().clearRawData();
|
||||
s.sensorData().clearOccupancyGridRaw();
|
||||
_cachedMemoryUsage += s.sensorData().getMemoryUsed();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user