DBViewer: added total time info

This commit is contained in:
matlabbe
2015-10-27 13:39:29 -04:00
parent 8fa7b73aea
commit c884781741
2 changed files with 38 additions and 245 deletions

View File

@@ -1060,6 +1060,8 @@ void DatabaseViewer::updateIds()
double totalOdom = 0.0;
Transform previousPose;
int sessions = ids_.size()?1:0;
double totalTime = 0.0;
double previousStamp = 0.0;
for(int i=0; i<ids_.size(); ++i)
{
idToIndex_.insert(ids_[i], i);
@@ -1080,12 +1082,18 @@ void DatabaseViewer::updateIds()
{
totalOdom += p.getDistance(previousPose);
}
if(previousStamp > 0.0 && s > 0.0)
{
totalTime += s-previousStamp;
}
}
else
{
++sessions;
}
}
previousStamp=s;
previousPose=p;
//links
@@ -1122,24 +1130,25 @@ void DatabaseViewer::updateIds()
poses_.insert(std::make_pair(ids_[i], p));
}
}
UDEBUG("Update database info...");
ui_->label_odom->setText(tr("%1 m").arg(totalOdom));
ui_->label_sessions->setNum(sessions);
ui_->label_nodes->setText(tr("%1 nodes").arg(ids.size()));
ui_->label_version->setText(dbDriver_->getDatabaseVersion().c_str());
ui_->label_db_size->setText(tr("%1 MB").arg(dbDriver_->getMemoryUsed()/1000000));
ui_->label_words->setText(tr("%1 words").arg(dbDriver_->getTotalDictionarySize()));
ui_->label_global_map->setText(tr("%1 nodes").arg(poses_.size()));
ui_->label_rgb_size->setText(tr("%1 MB").arg(dbDriver_->getImagesMemoryUsed()/1000000));
ui_->label_depth_size->setText(tr("%1 MB").arg(dbDriver_->getDepthImagesMemoryUsed()/1000000));
ui_->label_scan_size->setText(tr("%1 MB").arg(dbDriver_->getLaserScansMemoryUsed()/1000000));
ui_->label_userData_size->setText(tr("%1 bytes").arg(dbDriver_->getUserDataMemoryUsed()));
ui_->label_words_size->setText(tr("%1 bytes").arg(dbDriver_->getWordsMemoryUsed()));
ui_->label_wm->setText(tr("%1 nodes").arg(dbDriver_->getLastNodesSize()));
ui_->label_dictionary->setText(tr("%1 words").arg(dbDriver_->getLastDictionarySize()));
UINFO("Loaded %d ids, %d poses and %d links", (int)ids_.size(), (int)poses_.size(), (int)links_.size());
UINFO("Update database info...");
ui_->textEdit_info->clear();
ui_->textEdit_info->append(tr("Version:\t\t%1").arg(dbDriver_->getDatabaseVersion().c_str()));
ui_->textEdit_info->append(tr("Sessions:\t\t%1").arg(sessions));
ui_->textEdit_info->append(tr("Total odometry length:\t%1 m").arg(totalOdom));
ui_->textEdit_info->append(tr("Total time:\t\t%1").arg(QDateTime::fromMSecsSinceEpoch(totalTime*1000).toUTC().toString("hh:mm:ss.zzz")));
ui_->textEdit_info->append(tr("LTM:\t\t%1 nodes and %2 words").arg(ids.size()).arg(dbDriver_->getTotalDictionarySize()));
ui_->textEdit_info->append(tr("WM:\t\t%1 nodes and %2 words").arg(dbDriver_->getLastNodesSize()).arg(dbDriver_->getLastDictionarySize()));
ui_->textEdit_info->append(tr("Global graph:\t%1 poses and %2 links").arg(poses_.size()).arg(links_.size()));
ui_->textEdit_info->append("");
ui_->textEdit_info->append(tr("Database size:\t%1 MB").arg(dbDriver_->getMemoryUsed()/1000000));
ui_->textEdit_info->append(tr("Images size:\t%1 MB").arg(dbDriver_->getImagesMemoryUsed()/1000000));
ui_->textEdit_info->append(tr("Depths size:\t%1 MB").arg(dbDriver_->getDepthImagesMemoryUsed()/1000000));
ui_->textEdit_info->append(tr("Scans size:\t\t%1 MB").arg(dbDriver_->getLaserScansMemoryUsed()/1000000));
ui_->textEdit_info->append(tr("User data size:\t%1 bytes").arg(dbDriver_->getUserDataMemoryUsed()));
ui_->textEdit_info->append(tr("Dictionary size:\t%1 bytes").arg(dbDriver_->getWordsMemoryUsed()));
if(ids.size())
{
if(poses_.size())
@@ -1201,8 +1210,6 @@ void DatabaseViewer::updateIds()
}
}
UINFO("Loaded %d ids", ids_.size());
if(ids_.size())
{
ui_->horizontalSlider_A->setMinimum(0);

View File

@@ -836,7 +836,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>338</width>
<width>314</width>
<height>303</height>
</rect>
</property>
@@ -1389,7 +1389,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>338</width>
<width>333</width>
<height>333</height>
</rect>
</property>
@@ -1628,7 +1628,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>338</width>
<width>255</width>
<height>377</height>
</rect>
</property>
@@ -1885,8 +1885,8 @@
<rect>
<x>0</x>
<y>0</y>
<width>351</width>
<height>176</height>
<width>201</width>
<height>117</height>
</rect>
</property>
<attribute name="label">
@@ -1985,7 +1985,7 @@
<rect>
<x>0</x>
<y>0</y>
<width>338</width>
<width>285</width>
<height>309</height>
</rect>
</property>
@@ -2338,231 +2338,17 @@
<number>2</number>
</attribute>
<widget class="QWidget" name="dockWidgetContents_4">
<layout class="QVBoxLayout" name="verticalLayout_12">
<layout class="QVBoxLayout" name="verticalLayout_12" stretch="0">
<item>
<layout class="QGridLayout" name="gridLayout_15" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="label_70">
<property name="text">
<string>Database version</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_version">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_69">
<property name="text">
<string>Sessions</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_sessions">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Nodes</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_nodes">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_80">
<property name="text">
<string>Dictionary</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_words">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_78">
<property name="text">
<string>Global map</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_global_map">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_79">
<property name="text">
<string>Working memory</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_wm">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QLabel" name="label_77">
<property name="text">
<string>Last dictionary</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="label_dictionary">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QLabel" name="label_74">
<property name="text">
<string>Odometry</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="label_odom">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="Line" name="line">
<property name="orientation">
<enum>Qt::Horizontal</enum>
<widget class="QTextEdit" name="textEdit_info">
<property name="lineWrapMode">
<enum>QTextEdit::NoWrap</enum>
</property>
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_14" columnstretch="0,1">
<item row="0" column="0">
<widget class="QLabel" name="label_68">
<property name="text">
<string>Database size</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_db_size">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_72">
<property name="text">
<string>RGB images</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_rgb_size">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QLabel" name="label_73">
<property name="text">
<string>Depth images</string>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_depth_size">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLabel" name="label_71">
<property name="text">
<string>Laser scans</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_scan_size">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QLabel" name="label_75">
<property name="text">
<string>User data </string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_userData_size">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QLabel" name="label_76">
<property name="text">
<string>Dictionary</string>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_words_size">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_7">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>