mirror of
https://github.com/introlab/rtabmap.git
synced 2026-10-07 02:27:47 +08:00
Sparse Bayes (#1748)
* Sparse Bayes * updated perf test * improved tests with real data * Making sparse works in incremental mapping * bookkeeping optimization * small opt * refactoring * splitting dense and sparse in different classes to make the code more lisible * cleanup comments * fixing CI * Making all Bayes tests testing both dense and sparse * Added multisession_3it integration test (test memory management, multisession and dense/sparse bayes in that settings) * optimized sparse when transfer/retrieval happens (was slower than dense for that case) * Testing retrieval param variants * Updated multisession_3it integration tests to compare loop closure hypotheses * bump version * Fixed ui sum of prediction * adding g2o gtsam to linux ci * cleanup * added debug crash log for ci * Simplified Bayes/SparsePrediction description * Dont show too dense for sparse on small maps (e.g., when we just started a new map) * fixing amd64v3 issue with gtsam on ci ubuntu 26 * Dot not auto switch to dense based on map size. * updating test range * added coverage tests * Adressing coverage * ignore one line in coverage for purpose
This commit is contained in:
@@ -1132,6 +1132,7 @@ PreferencesDialog::PreferencesDialog(QWidget * parent) :
|
||||
_ui->general_doubleSpinBox_vp->setObjectName(Parameters::kBayesVirtualPlacePriorThr().c_str());
|
||||
_ui->lineEdit_bayes_predictionLC->setObjectName(Parameters::kBayesPredictionLC().c_str());
|
||||
_ui->checkBox_bayes_fullPredictionUpdate->setObjectName(Parameters::kBayesFullPredictionUpdate().c_str());
|
||||
_ui->checkBox_bayes_sparsePrediction->setObjectName(Parameters::kBayesSparsePrediction().c_str());
|
||||
connect(_ui->lineEdit_bayes_predictionLC, SIGNAL(textChanged(const QString &)), this, SLOT(updatePredictionPlot()));
|
||||
|
||||
//Keypoint-based
|
||||
@@ -5601,7 +5602,11 @@ void PreferencesDialog::updatePredictionPlot()
|
||||
QVector<qreal> dataX((values.size()-2)*2 + 1);
|
||||
QVector<qreal> dataY((values.size()-2)*2 + 1);
|
||||
double value;
|
||||
double sum = 0;
|
||||
// Summed as PredictionModel does it, into a float: that is the sum the filter decides on,
|
||||
// and under 1 of it is what has normalize() spread the difference over every other
|
||||
// location. A double would land a few 1e-8 from a float on a list like the default one,
|
||||
// and say 1 where the filter says otherwise.
|
||||
float sum = 0.0f;
|
||||
int lvl = 1;
|
||||
bool ok = false;
|
||||
bool error = false;
|
||||
@@ -5639,7 +5644,7 @@ void PreferencesDialog::updatePredictionPlot()
|
||||
{
|
||||
_ui->label_prediction_sum->setText(QString("<font color=#FF0000>") + _ui->label_prediction_sum->text() + "</font>");
|
||||
}
|
||||
else if(sum == 1.0)
|
||||
else if(sum == 1.0f)
|
||||
{
|
||||
_ui->label_prediction_sum->setText(QString("<font color=#00FF00>") + _ui->label_prediction_sum->text() + "</font>");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user