2011-06-05 14:45:39 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>preferencesDialog</class>
<widget class="QDialog" name="preferencesDialog">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
2014-07-26 04:36:00 +00:00
<width>1035</width>
2014-09-21 16:51:51 +00:00
<height>789</height>
2011-06-05 14:45:39 +00:00
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string>Preferences</string>
</property>
<property name="windowIcon">
<iconset resource="../GuiLib.qrc">
<normaloff>:/images/RTAB-Map.ico</normaloff>:/images/RTAB-Map.ico</iconset>
</property>
2012-03-03 01:46:30 +00:00
<layout class="QVBoxLayout" name="verticalLayout_26">
2011-06-05 14:45:39 +00:00
<item>
2012-03-03 01:46:30 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_2" stretch="0,1">
2012-12-11 18:05:05 +00:00
<property name="spacing">
<number>0</number>
</property>
2011-06-05 14:45:39 +00:00
<item>
2012-03-03 01:46:30 +00:00
<layout class="QVBoxLayout" name="verticalLayout_18">
<item>
<widget class="QTreeView" name="treeView">
<property name="minimumSize">
<size>
2014-06-05 18:56:15 +00:00
<width>160</width>
2012-03-03 01:46:30 +00:00
<height>0</height>
</size>
</property>
<property name="editTriggers">
<set>QAbstractItemView::NoEditTriggers</set>
</property>
<attribute name="headerVisible">
<bool>false</bool>
</attribute>
</widget>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</item>
<item>
2012-12-11 18:05:05 +00:00
<layout class="QVBoxLayout" name="verticalLayout_17">
2011-06-05 14:45:39 +00:00
<property name="spacing">
2012-03-03 01:46:30 +00:00
<number>0</number>
2011-06-05 14:45:39 +00:00
</property>
<item>
2012-12-11 18:05:05 +00:00
<widget class="QScrollArea" name="scrollArea">
<property name="widgetResizable">
<bool>true</bool>
2011-06-05 14:45:39 +00:00
</property>
2012-12-11 18:05:05 +00:00
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
2014-10-01 19:52:46 +00:00
<y>0</y>
2014-10-01 17:30:44 +00:00
<width>744</width>
2014-10-26 21:47:29 +00:00
<height>1047</height>
2012-12-11 18:05:05 +00:00
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_16">
<property name="spacing">
<number>0</number>
</property>
<property name="margin">
<number>0</number>
</property>
2011-06-05 14:45:39 +00:00
<item>
2012-12-11 18:05:05 +00:00
<layout class="QVBoxLayout" name="verticalLayout_24">
<property name="spacing">
<number>0</number>
2011-06-05 14:45:39 +00:00
</property>
2012-12-11 18:05:05 +00:00
<item>
<widget class="QStackedWidget" name="stackedWidget">
<property name="frameShadow">
<enum>QFrame::Raised</enum>
</property>
<property name="currentIndex">
2014-10-26 21:47:29 +00:00
<number>1</number>
2012-12-11 18:05:05 +00:00
</property>
<widget class="QWidget" name="page_22">
<layout class="QVBoxLayout" name="verticalLayout_29">
2012-06-24 17:19:34 +00:00
<item>
2012-12-11 18:05:05 +00:00
<widget class="QGroupBox" name="groupBox_generalSettingsGui0">
<property name="title">
<string>General settings (GUI)</string>
2012-06-24 17:19:34 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QVBoxLayout" name="verticalLayout_28">
<item>
<layout class="QFormLayout" name="formLayout_14">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<item row="0" column="0">
<widget class="QCheckBox" name="general_checkBox_imagesKept">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_59">
<property name="text">
<string>Insert new data received in the GUI cache. Used to show the loop closure image and the 3D Map.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_beep">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_88">
<property name="text">
<string>Beep! on special events (finished processing the data set, an error has occured, ...).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_5">
<property name="title">
2014-06-06 18:06:49 +00:00
<string>Loop closure detection view</string>
2013-12-11 00:12:44 +00:00
</property>
<layout class="QFormLayout" name="formLayout_12">
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_imageFlipped">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_80">
<property name="text">
<string>Flip image (like a mirror).</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="checkBox_imageRejectedShown">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_73">
<property name="text">
<string>Show image when an hypothesis is rejected.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="checkBox_imageHighestHypShown">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_105">
<property name="text">
<string>Show the image of the highest hypothesis.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QSlider" name="horizontalSlider_keypointsOpacity">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>100</number>
</property>
<property name="sliderPosition">
<number>16</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_102">
<property name="text">
<string>Keypoints opacity.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_70">
<property name="text">
2014-06-06 18:06:49 +00:00
<string>Vertical layout.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox_verticalLayoutUsed">
<property name="text">
<string/>
</property>
<property name="checked">
2014-06-05 18:56:15 +00:00
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
</layout>
</widget>
</item>
2014-06-06 18:06:49 +00:00
<item>
<widget class="QGroupBox" name="groupBox">
<property name="title">
<string>3D Map view</string>
</property>
<layout class="QFormLayout" name="formLayout_23">
<item row="0" column="0">
<widget class="QSpinBox" name="spinBox_odomQualityWarnThr">
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_86">
<property name="text">
<string>Odometry warning theshold:
Show a yellow background when the number of odometry inliers goes under this threshold. If 0, it is ignored. You can see the current odometry inliers count under Statistics view -> General -> Odom inliers.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QGroupBox" name="groupBox_2">
<property name="title">
2014-01-22 19:49:28 +00:00
<string>Save/load settings</string>
2012-12-11 18:05:05 +00:00
</property>
2014-07-30 17:42:58 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_9">
2013-12-11 00:12:44 +00:00
<item>
2014-07-30 17:42:58 +00:00
<widget class="QPushButton" name="pushButton_loadConfig">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-07-30 17:42:58 +00:00
<string>Load settings (*.ini) ...</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item>
2014-07-30 17:42:58 +00:00
<widget class="QPushButton" name="pushButton_saveConfig">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-07-30 17:42:58 +00:00
<string>Save settings (*.ini) ...</string>
2014-01-22 19:49:28 +00:00
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_resetConfig">
<property name="text">
<string>Reset all settings</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-07-30 17:42:58 +00:00
<item>
<spacer name="horizontalSpacer_4">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
2013-12-11 00:12:44 +00:00
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_24">
<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 class="QWidget" name="page_2">
<layout class="QVBoxLayout" name="verticalLayout_42">
<item>
<widget class="QGroupBox" name="groupBox_cloudRendering1">
<property name="title">
<string>3D Rendering</string>
</property>
2014-02-13 21:32:46 +00:00
<layout class="QVBoxLayout" name="verticalLayout_31">
2014-06-23 20:43:08 +00:00
<item>
<widget class="QGroupBox" name="groupBox_poseFiltering">
<property name="title">
<string>Cloud filtering</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
2014-10-18 13:12:45 +00:00
<bool>true</bool>
2014-06-23 20:43:08 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_37">
<item>
<widget class="QLabel" name="label_33">
<property name="text">
<string>For visualization, superposed clouds are not shown. By comparing poses in the same area, only one cloud in a fixed radius and angle is kept.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
2014-07-29 21:48:37 +00:00
<layout class="QGridLayout" name="gridLayout_17" rowstretch="0,0" columnstretch="0,1">
2014-06-23 20:43:08 +00:00
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_cloudFilterRadius">
<property name="suffix">
<string> m</string>
</property>
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="value">
2014-10-18 13:12:45 +00:00
<double>0.200000000000000</double>
2014-06-23 20:43:08 +00:00
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_37">
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Radius.</string>
2014-06-23 20:43:08 +00:00
</property>
</widget>
</item>
2014-07-29 21:48:37 +00:00
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_cloudFilterAngle">
<property name="suffix">
<string> degrees</string>
</property>
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>180.000000000000000</double>
</property>
<property name="value">
<double>30.000000000000000</double>
</property>
</widget>
</item>
2014-06-23 20:43:08 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_48">
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Angle.</string>
2014-06-23 20:43:08 +00:00
</property>
</widget>
</item>
2014-07-29 21:48:37 +00:00
</layout>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_gridMap">
<property name="title">
<string>Occupancy grid map</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_45">
<item>
<widget class="QLabel" name="label_167">
<property name="text">
2014-10-20 02:14:31 +00:00
<string>When the Graph view is visible or if the "Show in 3D map view" below is checked, the grid map is generated using the laser scans.</string>
2014-07-29 21:48:37 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_20" columnstretch="0,1">
2014-06-23 20:43:08 +00:00
<item row="1" column="0">
2014-07-29 21:48:37 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_map_resolution">
2014-06-23 20:43:08 +00:00
<property name="suffix">
2014-07-29 21:48:37 +00:00
<string> m</string>
2014-06-23 20:43:08 +00:00
</property>
2014-07-29 21:48:37 +00:00
<property name="minimum">
<double>0.010000000000000</double>
2014-06-23 20:43:08 +00:00
</property>
<property name="maximum">
2014-07-29 21:48:37 +00:00
<double>1.000000000000000</double>
2014-06-23 20:43:08 +00:00
</property>
<property name="value">
2014-07-29 21:48:37 +00:00
<double>0.050000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_159">
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Resolution (cell size).</string>
2014-07-29 21:48:37 +00:00
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="3" column="1">
2014-07-29 21:48:37 +00:00
<widget class="QLabel" name="label_164">
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Fill empty space.</string>
2014-07-29 21:48:37 +00:00
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="3" column="0">
2014-07-29 21:48:37 +00:00
<widget class="QCheckBox" name="checkBox_map_fillEmptySpace">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_170">
<property name="text">
<string>Opacity.</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox_map_shown">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_map_shown">
<property name="text">
<string>Show in 3D map view.</string>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="checkBox_map_occupancyFrom3DCloud">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>false</bool>
</property>
</widget>
</item>
<item row="2" column="0">
2014-07-29 21:48:37 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_map_opacity">
<property name="suffix">
<string/>
</property>
<property name="minimum">
<double>0.750000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="value">
<double>0.750000000000000</double>
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="4" column="1">
<widget class="QLabel" name="label_210">
2014-07-29 21:48:37 +00:00
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Occupancy from 3D cloud projection on the ground. Laser scans are ignored when activated.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2014-07-29 21:48:37 +00:00
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="5" column="1">
<widget class="QLabel" name="label_211">
2014-07-29 21:48:37 +00:00
<property name="text">
2014-10-20 02:14:31 +00:00
<string>Fill empty radius. Used when occupancy from 3D projection is activated.</string>
2014-07-29 21:48:37 +00:00
</property>
2014-10-20 02:14:31 +00:00
<property name="wordWrap">
<bool>true</bool>
2014-07-29 21:48:37 +00:00
</property>
</widget>
</item>
2014-10-20 02:14:31 +00:00
<item row="5" column="0">
2014-10-26 21:47:29 +00:00
<widget class="QSpinBox" name="spinbox_map_fillEmptyRadius">
2014-10-20 02:14:31 +00:00
<property name="suffix">
<string> cells</string>
</property>
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>0</number>
2014-06-23 20:43:08 +00:00
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
2014-02-13 21:32:46 +00:00
<item>
<widget class="QFrame" name="frame">
<property name="frameShape">
<enum>QFrame::StyledPanel</enum>
2013-12-11 00:12:44 +00:00
</property>
2014-02-13 21:32:46 +00:00
<property name="frameShadow">
<enum>QFrame::Raised</enum>
2012-12-11 18:05:05 +00:00
</property>
2014-07-29 00:52:35 +00:00
<layout class="QGridLayout" name="gridLayout_2" columnstretch="0,0,1">
<item row="9" column="0">
<widget class="QSpinBox" name="spinBox_ptsize_scan">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>64</number>
</property>
</widget>
</item>
<item row="3" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_108">
<property name="text">
<string>3D cloud decimation (1-2-4-8-...).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-02-13 21:32:46 +00:00
<item row="0" column="0">
<widget class="QLabel" name="label_154">
<property name="text">
<string>Map</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_137">
<property name="text">
<string>Odometry</string>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_showClouds">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="checkBox_showOdomClouds">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_119">
<property name="text">
<string>Show 3D clouds.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_voxelSize">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox_voxelSize_odom">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="label_107">
<property name="text">
<string>3D cloud voxel size.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="spinBox_decimation">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QSpinBox" name="spinBox_decimation_odom">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>32</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_maxDepth">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>4.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox_maxDepth_odom">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QLabel" name="label_132">
<property name="text">
<string>3D cloud maximum depth (0 means no limit).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_opacity">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
2014-06-06 18:06:49 +00:00
<double>1.000000000000000</double>
2014-02-13 21:32:46 +00:00
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox_opacity_odom">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="5" column="2">
2014-02-13 21:32:46 +00:00
<widget class="QLabel" name="label_155">
<property name="text">
<string>3D cloud opacity.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QSpinBox" name="spinBox_ptsize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>64</number>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QSpinBox" name="spinBox_ptsize_odom">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>64</number>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="6" column="2">
2014-02-13 21:32:46 +00:00
<widget class="QLabel" name="label_157">
<property name="text">
<string>3D cloud point size (1..64).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="0">
<widget class="QCheckBox" name="checkBox_showScans">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QCheckBox" name="checkBox_showOdomScans">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="7" column="2">
<widget class="QLabel" name="label_110">
<property name="text">
<string>Show 2D scans.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_opacity_scan">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
2014-06-03 19:28:59 +00:00
<item row="10" column="0">
<widget class="QCheckBox" name="checkBox_meshing">
<property name="text">
<string/>
</property>
</widget>
</item>
2014-02-13 21:32:46 +00:00
<item row="8" column="1">
<widget class="QDoubleSpinBox" name="doubleSpinBox_opacity_odom_scan">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="8" column="2">
2014-02-13 21:32:46 +00:00
<widget class="QLabel" name="label_156">
<property name="text">
<string>2D scan opacity.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="9" column="1">
<widget class="QSpinBox" name="spinBox_ptsize_odom_scan">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>64</number>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="9" column="2">
2014-02-13 21:32:46 +00:00
<widget class="QLabel" name="label_158">
<property name="text">
<string>2D scan point size (1..64).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="12" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_168">
<property name="text">
<string>Sphere radius that is to be used for determining the k-nearest neighbors used for triangulating (GP3). Guidelines: 4 times the voxel size, 0.025 for voxel=0.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="14" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_85">
<property name="text">
<string>Mesh smoothing using Moving Least Squares algorithm (MLS).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="12" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_gp3Radius">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.040000000000000</double>
</property>
</widget>
</item>
<item row="15" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_mlsRadius">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.040000000000000</double>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="10" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_169">
<property name="text">
<string>Online meshing using Greedy Projection Triangulation (GP3).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="15" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_87">
2014-02-13 21:32:46 +00:00
<property name="text">
2014-06-03 19:28:59 +00:00
<string>MLS search radius: Set the sphere radius that is to be used for determining the k-nearest neighbors used for fitting. Guidelines: 4 times the voxel size, 0.025 for voxel=0.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="0">
<widget class="QCheckBox" name="checkBox_mls">
<property name="text">
<string/>
2014-02-13 21:32:46 +00:00
</property>
<property name="checked">
2014-06-08 05:16:14 +00:00
<bool>false</bool>
2014-06-03 19:28:59 +00:00
</property>
</widget>
</item>
2014-07-29 00:52:35 +00:00
<item row="11" column="2">
2014-06-03 19:28:59 +00:00
<widget class="QLabel" name="label_71">
<property name="text">
<string>Set the number of k nearest neighbors to use for the normal estimation to create the mesh. Not used when mesh smoothing below is used.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="11" column="0">
<widget class="QSpinBox" name="spinBox_normalKSearch">
<property name="value">
<number>20</number>
</property>
</widget>
</item>
2014-02-13 21:32:46 +00:00
</layout>
2013-12-11 00:12:44 +00:00
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_8">
<layout class="QVBoxLayout" name="verticalLayout_43">
<item>
<widget class="QGroupBox" name="groupBox_logging1">
<property name="title">
<string>Logging</string>
</property>
<layout class="QFormLayout" name="formLayout_11">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QComboBox" name="comboBox_loggerLevel">
<property name="currentIndex">
<number>2</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>DEBUG</string>
</property>
</item>
<item>
<property name="text">
<string>INFO</string>
</property>
</item>
<item>
<property name="text">
<string>WARNING</string>
</property>
</item>
<item>
<property name="text">
<string>ERROR</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_60">
<property name="text">
<string>Logger level.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="comboBox_loggerEventLevel">
<property name="currentIndex">
<number>3</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>DEBUG</string>
</property>
</item>
<item>
<property name="text">
<string>INFO</string>
</property>
</item>
<item>
<property name="text">
<string>WARNING</string>
</property>
</item>
<item>
<property name="text">
<string>ERROR</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_61">
<property name="text">
<string>Logger event sent level (fatal messages are always sent).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QComboBox" name="comboBox_loggerPauseLevel">
<property name="currentIndex">
<number>3</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>DEBUG</string>
</property>
</item>
<item>
<property name="text">
<string>INFO</string>
</property>
</item>
<item>
<property name="text">
<string>WARNING</string>
</property>
</item>
<item>
<property name="text">
<string>ERROR</string>
</property>
</item>
<item>
<property name="text">
<string>FATAL</string>
</property>
</item>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_62">
<property name="text">
<string>Logger level on which the process will automatically pause, showing the log console. A level set under the logger event level will do nothing.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="checkBox_logger_printTime">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_67">
<property name="text">
<string>Logger print time.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QComboBox" name="comboBox_loggerType">
<property name="currentIndex">
<number>1</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>No log</string>
</property>
</item>
<item>
<property name="text">
<string>Console</string>
</property>
</item>
<item>
<property name="text">
<string>File</string>
</property>
</item>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_68">
<property name="text">
<string>Logger type:
when using the file type, logs are saved in LogRtabmap.txt (located in the working directory).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_4">
<layout class="QVBoxLayout" name="verticalLayout_27">
<item>
<widget class="QGroupBox" name="groupBox_source0">
<property name="title">
<string>Source</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_7">
<item>
<layout class="QGridLayout" name="gridLayout_28" columnstretch="0,1">
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_imgRate">
<property name="suffix">
<string> Hz</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>100.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
2014-10-20 20:13:02 +00:00
<double>30.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_3">
<property name="text">
<string>Input rate (0 means as fast as possible).</string>
</property>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
</item>
<item>
<widget class="QGroupBox" name="groupBox_sourceImage">
<property name="title">
<string>Image source</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
2013-12-11 00:12:44 +00:00
<property name="checked">
<bool>false</bool>
</property>
2012-12-11 18:05:05 +00:00
<layout class="QVBoxLayout" name="verticalLayout_5">
<item>
<layout class="QGridLayout" name="gridLayout_5" columnstretch="0,1">
<item row="0" column="0">
<widget class="QComboBox" name="source_comboBox_image_type">
<property name="currentIndex">
<number>0</number>
</property>
<item>
<property name="text">
<string>Usb camera</string>
</property>
</item>
<item>
<property name="text">
<string>Images</string>
</property>
</item>
<item>
<property name="text">
<string>Video file</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_20">
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Source type. 0-Usb camera (Webcam), 1-Images (directory of images), 2-Video (AVI)</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_10">
<property name="text">
<string>Image width (set to 0 to use the default size of the source).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-15 03:31:35 +00:00
<item row="2" column="1">
2012-12-11 18:05:05 +00:00
<widget class="QLabel" name="label_11">
<property name="text">
<string>Image height (set to 0 to use the default size of the source).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-15 03:31:35 +00:00
<item row="1" column="0">
2012-12-11 18:05:05 +00:00
<widget class="QSpinBox" name="source_spinBox_imgWidth">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="singleStep">
<number>160</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
2014-06-15 03:31:35 +00:00
<item row="2" column="0">
2012-12-11 18:05:05 +00:00
<widget class="QSpinBox" name="source_spinBox_imgheight">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="singleStep">
<number>120</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QStackedWidget" name="stackedWidget_image">
<property name="currentIndex">
2013-12-11 00:12:44 +00:00
<number>0</number>
2012-12-11 18:05:05 +00:00
</property>
<widget class="QWidget" name="page_7">
<layout class="QVBoxLayout" name="verticalLayout_30">
<item>
<widget class="QGroupBox" name="source_groupBox_usbDevice">
<property name="title">
<string>Usb device</string>
</property>
<layout class="QGridLayout" name="gridLayout_6" columnstretch="0,1">
2013-12-11 00:12:44 +00:00
<item row="0" column="1">
<widget class="QLabel" name="label_38">
<property name="text">
<string>Usb device.</string>
</property>
</widget>
</item>
2012-12-11 18:05:05 +00:00
<item row="0" column="0">
<widget class="QSpinBox" name="source_usbDevice_spinBox_id">
<property name="minimum">
<number>-1</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_8">
<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>
2012-06-24 17:19:34 +00:00
</widget>
2012-12-11 18:05:05 +00:00
<widget class="QWidget" name="page_5">
<layout class="QVBoxLayout" name="verticalLayout_6">
<item>
<widget class="QGroupBox" name="source_groupBox_images">
<property name="title">
<string>Images dataset</string>
</property>
<layout class="QGridLayout" name="gridLayout_7" columnstretch="0,10">
<item row="0" column="0">
<widget class="QToolButton" name="source_images_toolButton_selectSource">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="source_images_lineEdit_path">
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="source_images_spinBox_startPos">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_21">
<property name="text">
<string>Start position (default 1, 0=start from the last).</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="source_images_refreshDir">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_34">
<property name="text">
<string>Refresh the directory files list after each image loaded.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_9">
<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>
2012-06-24 17:19:34 +00:00
</widget>
2012-12-11 18:05:05 +00:00
<widget class="QWidget" name="page_6">
<layout class="QVBoxLayout" name="verticalLayout_8">
<item>
<widget class="QGroupBox" name="source_groupBox_video">
<property name="title">
<string>Video (AVI)</string>
</property>
<layout class="QGridLayout" name="gridLayout_8" columnstretch="0,10">
<item row="0" column="0">
<widget class="QToolButton" name="source_video_toolButton_selectSource">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="source_video_lineEdit_path">
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_10">
<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>
2012-06-24 17:19:34 +00:00
</widget>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_sourceDatabase">
<property name="title">
<string>Database source</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
<bool>false</bool>
</property>
<layout class="QGridLayout" name="gridLayout_9">
<item row="0" column="0">
<widget class="QToolButton" name="source_database_toolButton_selectSource">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLineEdit" name="source_database_lineEdit_path"/>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="1">
2012-12-11 18:05:05 +00:00
<widget class="QLabel" name="label_58">
<property name="text">
<string>Start position (index)</string>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="0">
2012-12-11 18:05:05 +00:00
<widget class="QSpinBox" name="source_spinBox_databaseStartPos">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999999</number>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QToolButton" name="toolButton_dbViewer">
<property name="toolTip">
<string>Open database viewer</string>
</property>
<property name="text">
<string/>
</property>
<property name="icon">
<iconset resource="../GuiLib.qrc">
<normaloff>:/images/mag_glass.png</normaloff>:/images/mag_glass.png</iconset>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="source_checkBox_ignoreOdometry">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_72">
<property name="text">
<string>Ignore odometry saved in the database, so if RGB-D SLAM is activated, odometry will be recomputed.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QGroupBox" name="groupBox_sourceOpenni">
<property name="title">
2014-06-03 04:42:08 +00:00
<string>RGB-D camera</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="checkable">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
2013-12-11 00:12:44 +00:00
<property name="checked">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
2013-12-11 00:12:44 +00:00
<layout class="QVBoxLayout" name="verticalLayout_11">
<item>
<widget class="QLabel" name="label_40">
<property name="text">
2014-06-03 04:42:08 +00:00
<string>Grabber for RGB-D devices (i.e., Primesense PSDK, Microsoft Kinect, Asus XTion Pro/Live).</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-03 04:42:08 +00:00
<item>
<layout class="QHBoxLayout" name="horizontalLayout_7">
<item>
2014-06-13 03:47:39 +00:00
<widget class="QRadioButton" name="radioButton_opennipcl">
2014-06-03 04:42:08 +00:00
<property name="text">
2014-06-13 03:47:39 +00:00
<string>OpenNI-PCL</string>
2014-06-03 04:42:08 +00:00
</property>
2014-07-14 01:25:28 +00:00
<property name="checked">
<bool>true</bool>
</property>
2014-06-03 04:42:08 +00:00
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_freenect">
<property name="text">
<string>Feeenect</string>
</property>
2014-06-13 03:47:39 +00:00
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_opennicv">
<property name="text">
<string>OpenNI-CV</string>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_opennicvasus">
<property name="text">
<string>OpenNI-CV-ASUS</string>
</property>
2014-06-13 23:44:38 +00:00
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_openni2">
<property name="text">
<string>OpenNI2</string>
</property>
2014-06-03 04:42:08 +00:00
</widget>
</item>
<item>
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
2014-10-01 17:30:44 +00:00
<item>
<widget class="QPushButton" name="pushButton_test_rgbd_camera">
<property name="text">
<string>Test</string>
</property>
</widget>
</item>
2014-06-03 04:42:08 +00:00
</layout>
</item>
2013-12-11 00:12:44 +00:00
<item>
<layout class="QFormLayout" name="formLayout">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QLineEdit" name="lineEdit_openniDevice">
<property name="text">
2014-06-03 04:42:08 +00:00
<string/>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_39">
<property name="text">
<string>ID of the device, which might be a serial number, bus@address or the index of the device. If empty, the first device found is taken.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLineEdit" name="lineEdit_openniLocalTransform">
<property name="text">
<string>0 0 0 -PI_2 0 -PI_2</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_42">
<property name="text">
<string>Local transform from /base_link to /camera_link. Format (6 values): x y z roll pitch yaw.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
2014-07-26 04:36:00 +00:00
<item>
<widget class="QGroupBox" name="groupBox_3">
<property name="title">
<string>Calibration</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_41">
<item>
<widget class="QLabel" name="label_160">
<property name="text">
<string>Camera intrinsic parameters. While the default values are good, a calibration is recommended to increase the precision of the 3D clouds. Set values to 0 to use the default parameters from the camera. For example, the focal length is ~525 for Kinect and ~545 for Xtion Pro Live. The button "Calibrate" below can be used to calibrate the camera with a chessboard pattern.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout_21">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::ExpandingFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_openniFx">
<property name="maximum">
<double>1000.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_161">
<property name="text">
<string>fx=K[0]</string>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_openniFy">
<property name="maximum">
<double>1000.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_162">
<property name="text">
<string>fy=K[4]</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_openniCx">
<property name="maximum">
<double>1000.000000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_166">
<property name="text">
<string>cx=K[2]</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_openniCy">
<property name="maximum">
<double>1000.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_165">
<property name="text">
<string>cy=K[5]</string>
</property>
</widget>
</item>
</layout>
</item>
<item>
2014-07-30 17:42:58 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_8">
<item>
<widget class="QPushButton" name="pushButton_calibrate">
<property name="text">
<string>Calibrate</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_calibrate_reset">
<property name="text">
<string>Reset</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_3">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
2014-07-26 04:36:00 +00:00
</item>
</layout>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
2012-06-24 17:19:34 +00:00
</widget>
</item>
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_7">
2012-12-11 18:05:05 +00:00
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
</spacer>
2012-06-24 17:19:34 +00:00
</item>
</layout>
2011-06-05 14:45:39 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_20">
<layout class="QVBoxLayout" name="verticalLayout_23">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_rtabmap_basic0">
2012-12-11 18:05:05 +00:00
<property name="title">
<string>RTAB-Map settings</string>
</property>
2013-12-11 00:12:44 +00:00
<layout class="QGridLayout" name="gridLayout_3" columnstretch="0,0,1">
2012-12-11 18:05:05 +00:00
<item row="0" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QCheckBox" name="general_checkBox_SLAM_mode_2">
2012-12-11 18:05:05 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="2">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_79">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>SLAM mode.
If set to false, global localization is performed, so without adding new data to the map.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="general_checkBox_activateRGBD_2">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string/>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="checked">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="2">
<widget class="QLabel" name="label_activateRGBD_2">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Activate metric RGB-D SLAM.
If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="0">
<widget class="QCheckBox" name="general_checkBox_publishStats_2">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string/>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="checked">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="2">
<widget class="QLabel" name="label_publishStat">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Publish statistics.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_detectionRate_2">
<property name="suffix">
<string> Hz</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="decimals">
<number>1</number>
2012-12-11 18:05:05 +00:00
</property>
<property name="value">
2013-12-11 00:12:44 +00:00
<double>1.000000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="3" column="2">
<widget class="QLabel" name="label_134">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Detection rate (0 means inf). RTAB-Map will filter input images to satisfy this rate.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="4" column="0">
<widget class="QSpinBox" name="general_spinBox_imagesBufferSize_2">
2012-12-11 18:05:05 +00:00
<property name="maximum">
<number>999</number>
</property>
<property name="value">
2013-12-11 00:12:44 +00:00
<number>1</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="4" column="2">
<widget class="QLabel" name="label_112">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Images buffer size (0 means inf).</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="5" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_timeThr_2">
<property name="suffix">
<string> ms</string>
</property>
2012-12-11 18:05:05 +00:00
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>10000.000000000000000</double>
</property>
<property name="singleStep">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>700.000000000000000</double>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="5" column="2">
<widget class="QLabel" name="label_timeLimit_2">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>T_time : Max time (ms) allowed (0 means inf).</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="6" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_hardThr_2">
<property name="maximum">
<double>1.000000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="singleStep">
<double>0.010000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
<double>0.950000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="6" column="2">
<widget class="QLabel" name="label_121">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>T_loop : Loop closure threshold.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="7" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_similarityThreshold_2">
<property name="maximum">
<double>1.000000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
<double>0.200000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="7" column="2">
<widget class="QLabel" name="label_similarity_2">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>T_similarity : Similarity threshold (for Rehearsal/Weight Update).</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="8" column="0">
<widget class="QSpinBox" name="general_spinBox_maxStMemSize_2">
<property name="minimum">
<number>1</number>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="maximum">
<number>9999</number>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
<number>15</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="8" column="2">
<widget class="QLabel" name="label_126">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>STM size : Short-term memory size.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="9" column="0">
<widget class="QLabel" name="label_databasePath_2">
2013-03-02 21:53:47 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Database path.</string>
2013-03-02 21:53:47 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="9" column="1">
<widget class="QToolButton" name="toolButton_databasePath_2">
2013-03-02 21:53:47 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>...</string>
2013-03-02 21:53:47 +00:00
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
<item row="9" column="2">
<widget class="QLineEdit" name="lineEdit_databasePath_2">
<property name="readOnly">
2013-03-02 21:53:47 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2012-12-11 18:05:05 +00:00
</layout>
</widget>
</item>
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_5">
2012-12-11 18:05:05 +00:00
<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>
2011-06-05 14:45:39 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page">
<layout class="QVBoxLayout" name="verticalLayout_44">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_rtabmap_advanced0">
2012-12-11 18:05:05 +00:00
<property name="title">
2013-12-11 00:12:44 +00:00
<string>RTAB-Map settings</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QVBoxLayout" name="verticalLayout_15">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<layout class="QFormLayout" name="formLayout_17">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
2012-12-11 18:05:05 +00:00
</property>
<item row="0" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QCheckBox" name="general_checkBox_SLAM_mode">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string/>
</property>
<property name="checked">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="0" column="1">
<widget class="QLabel" name="label_92">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>SLAM mode.
If set to false, global localization is performed, so without adding new data to the map.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_detectionRate">
<property name="suffix">
<string> Hz</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="value">
<double>1.000000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_135">
<property name="text">
<string>Detection rate (0 means inf). RTAB-Map will filter input data to satisfy this rate. If you want to process all data, consider set "Detection rate" to 0 and "Data buffer size" to 0.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_84">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Data buffer size (0 means inf).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="0">
<widget class="QSpinBox" name="general_spinBox_imagesBufferSize">
<property name="maximum">
<number>999</number>
</property>
<property name="value">
<number>1</number>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2014-10-01 19:52:46 +00:00
<item row="3" column="0">
<widget class="QCheckBox" name="general_checkBox_startNewMapOnLoopClosure">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_185">
<property name="text">
<string>Start a new map only if there is a global loop closure detected first with a previous map. If there is no map in memory, a new map is still created.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2012-12-11 18:05:05 +00:00
</layout>
</item>
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_6">
<property name="title">
<string>Thresholds</string>
</property>
<layout class="QFormLayout" name="formLayout_18">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_timeThr">
<property name="suffix">
<string> ms</string>
</property>
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>10000.000000000000000</double>
</property>
<property name="singleStep">
<double>50.000000000000000</double>
</property>
<property name="value">
<double>700.000000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_timeLimit">
<property name="text">
<string>T_time : Max time (ms) allowed (0 means inf).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="general_spinBox_memoryThr">
<property name="maximum">
<number>99999</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_maxWmSize">
<property name="text">
<string>Maximum signatures allowed in Working Memory (0 means inf).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_hardThr">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.950000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_93">
<property name="text">
<string>T_loop : Loop closure threshold. Setting to 0 means that the new place hypothesis is used as threshold.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_loopRatio">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.700000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_96">
<property name="text">
<string>T_ratio : The loop closure hypothesis must be over T_ratio x lastHypothesisValue.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_publishing">
<property name="title">
2014-10-18 13:12:45 +00:00
<string>Publish statistics (stuff to be shown in the GUI)</string>
</property>
<property name="checkable">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
<layout class="QFormLayout" name="formLayout_15">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
2014-10-18 13:12:45 +00:00
<widget class="QCheckBox" name="general_checkBox_publishRawData">
2013-12-11 00:12:44 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
2014-10-18 13:12:45 +00:00
<widget class="QLabel" name="label_91">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-26 21:47:29 +00:00
<string>Publish signature data.</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="1" column="0">
2014-10-18 13:12:45 +00:00
<widget class="QCheckBox" name="general_checkBox_publishPdf">
2013-12-11 00:12:44 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
2014-10-18 13:12:45 +00:00
<widget class="QLabel" name="label_106">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-18 13:12:45 +00:00
<string>Publish loop closure hypotheses (pdf).</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="2" column="0">
2014-10-18 13:12:45 +00:00
<widget class="QCheckBox" name="general_checkBox_publishLikelihood">
2013-12-11 00:12:44 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
2014-10-18 13:12:45 +00:00
<widget class="QLabel" name="label_116">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-18 13:12:45 +00:00
<string>Publish loop closure likelihood.</string>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_statistics">
<property name="title">
2014-10-18 13:12:45 +00:00
<string>Log statistics (LogI.txt and LogF.txt) in the working directory.</string>
</property>
<property name="checkable">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
<layout class="QFormLayout" name="formLayout_16">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
2014-10-18 13:12:45 +00:00
<item row="0" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QCheckBox" name="general_checkBox_statisticLogsBufferedInRAM">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="0" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_143">
<property name="text">
<string>Statistics logs buffered in RAM and written to hard drive on exit (otherwise logs are written at each iteration on hard drive).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="general_checkBox_statisticLoggedHeaders">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-18 13:12:45 +00:00
<string/>
2013-12-11 00:12:44 +00:00
</property>
2014-10-18 13:12:45 +00:00
<property name="checked">
2013-12-11 00:12:44 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_209">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-18 13:12:45 +00:00
<string>Add headers (column names) to log files.</string>
2013-12-11 00:12:44 +00:00
</property>
2014-10-18 13:12:45 +00:00
<property name="wordWrap">
2013-12-11 00:12:44 +00:00
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_4" columnstretch="0,0,1">
2012-12-11 18:05:05 +00:00
<item row="0" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_databasePath">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Database path.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="0" column="1">
<widget class="QToolButton" name="toolButton_databasePath">
<property name="text">
<string>...</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
<item row="0" column="2">
<widget class="QLineEdit" name="lineEdit_databasePath">
<property name="readOnly">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QLabel" name="label_workingDirectory">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Working directory (where to put logs/dump stuff).</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="1">
<widget class="QToolButton" name="toolButton_workingDirectory">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>...</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
<item row="1" column="2">
<widget class="QLineEdit" name="lineEdit_workingDirectory">
<property name="readOnly">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_4">
2012-12-11 18:05:05 +00:00
<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>
2011-06-05 14:45:39 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_23">
<layout class="QVBoxLayout" name="verticalLayout_2">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_bayes1">
2012-12-11 18:05:05 +00:00
<property name="title">
2013-12-11 00:12:44 +00:00
<string>Bayes filter</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QVBoxLayout" name="verticalLayout_22">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Prediction probabilities for each loop closure event:</string>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QLabel" name="label_76">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>We can edit how will like the prediction used in the Bayes filter when there is a loop closure hypothesis. Format is [VP LC N1 N2 N3...]. LC is the loop closure event and N# are its neighbors. VP (virtual place) is the probability to be in a new place when a loop closure was found on the last iteration.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
<layout class="QGridLayout" name="gridLayout_24">
<item row="0" column="0">
<widget class="QLabel" name="label_65">
<property name="text">
<string>Prediction</string>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QLabel" name="label_66">
<property name="text">
<string>Sum</string>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_prediction_sum">
<property name="text">
<string/>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item row="0" column="1">
<widget class="QLineEdit" name="lineEdit_bayes_predictionLC">
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
</layout>
</item>
<item>
<layout class="QHBoxLayout" name="horizontalLayout_6" stretch="0,1">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_63">
<property name="text">
<string>Preview</string>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
<item>
2013-12-11 00:12:44 +00:00
<widget class="UPlot" name="predictionPlot" native="true"/>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
</layout>
2013-03-02 21:53:47 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item>
<layout class="QGridLayout" name="gridLayout_22" columnstretch="0,1">
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox_bayes_fullPredictionUpdate">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_vp">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.900000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_113">
<property name="text">
<string>The VP here is the probability to be in a new place since no loop closure was found on the last iteration.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_142">
<property name="text">
<string>Regenerate all the prediction matrix on each iteration (otherwise only removed/added ids are updated).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_82">
<property name="text">
<string>Use the tf-idf method to compute the likelihood. Otherwise, images are compared with each other.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="checkBox_kp_tfIdfLikelihoodUsed">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
2013-03-02 21:53:47 +00:00
</item>
2012-12-11 18:05:05 +00:00
</layout>
</widget>
</item>
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_23">
2012-12-11 18:05:05 +00:00
<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>
2011-06-05 14:45:39 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_3">
<layout class="QVBoxLayout" name="verticalLayout_4">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_memory1">
2012-12-11 18:05:05 +00:00
<property name="title">
2013-12-11 00:12:44 +00:00
<string>Memory</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QVBoxLayout" name="verticalLayout_10">
<item>
<layout class="QFormLayout" name="formLayout_10">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<item row="0" column="0">
<widget class="QSpinBox" name="general_spinBox_maxStMemSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>15</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_29">
<property name="text">
<string>STM size : Short-term memory size.</string>
</property>
<property name="wordWrap">
<bool>false</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="general_doubleSpinBox_recentWmRatio">
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.200000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_ratioRecent">
<property name="text">
<string>T_recent : Ratio of locations after the last loop closure in WM that cannot be transferred.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSpinBox" name="general_spinBox_maxRetrieved">
<property name="maximum">
<number>999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_retrieved">
<property name="text">
<string>Maximum locations retrieved at the same time from LTM to WM.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="general_checkBox_generateIds">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_retrieved_2">
<property name="text">
<string>True=Generate location Ids, False=use input image ids.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-09-21 21:14:17 +00:00
<item row="4" column="0">
<widget class="QCheckBox" name="general_checkBox_badSignaturesIgnored">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2014-01-15 20:41:58 +00:00
<item row="4" column="1">
<widget class="QLabel" name="label_retrieved_3">
<property name="text">
<string>Bad signatures are ignored.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-09-21 21:14:17 +00:00
<item row="5" column="1">
<widget class="QLabel" name="label_retrieved_4">
<property name="text">
<string>Initialize the Woking Memory with all nodes from Long-Term memory, instead of only nodes of the last session. This may be useful in localization mode, where less processing time is required than in SLAM mode, so more nodes can be kept in Working Memory.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="general_checkBox_initWMWithAllNodes">
2014-01-15 20:41:58 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
2014-09-21 21:14:17 +00:00
<bool>false</bool>
2014-01-15 20:41:58 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QGroupBox" name="groupBox_rehearsal2">
<property name="title">
<string>Rehearsal / Weight Update</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QGridLayout" name="gridLayout_12" columnstretch="0,1">
<item row="0" column="1">
<widget class="QLabel" name="label_similarity">
<property name="text">
<string>T_similarity : Similarity threshold. Values must be >=0.0 ans <=1.0.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_similarityThreshold">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="value">
<double>0.200000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_rehearsalIdUpdate">
<property name="text">
<string>On merging, update to new id.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="general_checkBox_RehearsalIdUpdatedToNewOne">
<property name="text">
<string/>
</property>
</widget>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
</widget>
</item>
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_6">
2012-12-11 18:05:05 +00:00
<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>
2011-06-13 18:29:21 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_24">
<layout class="QVBoxLayout" name="verticalLayout_33">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_database2">
2012-12-11 18:05:05 +00:00
<property name="title">
2013-12-11 00:12:44 +00:00
<string>Database</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QGridLayout" name="gridLayout_11" columnstretch="0,1">
<item row="0" column="0">
<widget class="QCheckBox" name="general_checkBox_keepRawData">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string/>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="checked">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="0" column="1">
<widget class="QLabel" name="label_keepRawData">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Keep raw sensor data.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="0">
<widget class="QCheckBox" name="checkBox_dbInMemory">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string/>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="3" column="0">
<widget class="QSpinBox" name="spinBox_dbCacheSize">
<property name="minimum">
<number>10</number>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="maximum">
<number>999999</number>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="singleStep">
<number>100</number>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
<number>2000</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="3" column="1">
<widget class="QLabel" name="label_75">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Sqlite3 cache size,
see Sqlite3 doc 'PRAGMA cache_size'.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QComboBox" name="comboBox_dbJournalMode">
<item>
<property name="text">
<string>DELETE</string>
</property>
</item>
<item>
<property name="text">
<string>TRUNCATE</string>
</property>
</item>
<item>
<property name="text">
<string>PERSIST</string>
</property>
</item>
2012-12-11 18:05:05 +00:00
<item>
<property name="text">
2013-12-11 00:12:44 +00:00
<string>MEMORY</string>
2012-12-11 18:05:05 +00:00
</property>
</item>
<item>
<property name="text">
2013-12-11 00:12:44 +00:00
<string>OFF</string>
2012-12-11 18:05:05 +00:00
</property>
</item>
</widget>
</item>
<item row="4" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_77">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Sqlite3 journal mode,
see Sqlite3 doc 'PRAGMA journal_mode'.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_74">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Using database in the memory instead of a file on the hard disk (this greatly improve database access performance but it requires more RAM memory).</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
2012-12-11 18:05:05 +00:00
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="5" column="1">
<widget class="QLabel" name="label_89">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Sqlite3 synchronous,
see Sqlite3 doc 'PRAGMA synchronous'.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="6" column="1">
<widget class="QLabel" name="label_120">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Sqlite3 temp store,
see Sqlite3 doc 'PRAGMA temp_store'.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="5" column="0">
<widget class="QComboBox" name="comboBox_dbSynchronous">
<property name="currentIndex">
<number>2</number>
</property>
<item>
<property name="text">
<string>OFF</string>
</property>
</item>
2012-12-11 18:05:05 +00:00
<item>
<property name="text">
2013-12-11 00:12:44 +00:00
<string>NORMAL</string>
2012-12-11 18:05:05 +00:00
</property>
</item>
<item>
<property name="text">
2013-12-11 00:12:44 +00:00
<string>FULL</string>
2012-12-11 18:05:05 +00:00
</property>
</item>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="6" column="0">
<widget class="QComboBox" name="comboBox_dbTempStore">
<item>
<property name="text">
<string>DEFAULT</string>
</property>
</item>
<item>
<property name="text">
<string>FILE</string>
</property>
</item>
<item>
<property name="text">
<string>MEMORY</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_keepRehearsed">
2012-12-11 18:05:05 +00:00
<property name="text">
2013-12-11 00:12:44 +00:00
<string>Keep rehearsed locations.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="general_checkBox_keepRehearsedNodes">
2012-12-11 18:05:05 +00:00
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_12">
<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 class="QWidget" name="page_9">
<layout class="QVBoxLayout" name="verticalLayout_58">
<item>
<widget class="QGroupBox" name="groupBox_signature_keypoint1">
<property name="title">
2014-01-22 19:49:28 +00:00
<string>Visual word</string>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
<layout class="QVBoxLayout" name="verticalLayout_12">
2013-12-11 00:12:44 +00:00
<item>
<layout class="QFormLayout" name="formLayout_7">
2014-06-05 18:56:15 +00:00
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
2013-12-11 00:12:44 +00:00
<item row="0" column="0">
2014-10-18 13:12:45 +00:00
<widget class="QComboBox" name="comboBox_detector_strategy">
<item>
<property name="text">
<string>SURF</string>
</property>
</item>
<item>
<property name="text">
<string>SIFT</string>
</property>
</item>
<item>
<property name="text">
<string>ORB</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>GFTT+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>GFTT+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
2013-12-11 00:12:44 +00:00
</widget>
</item>
<item row="0" column="1">
2014-10-18 13:12:45 +00:00
<widget class="QLabel" name="label_117">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-10-18 13:12:45 +00:00
<string>Visual word type.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="1" column="0">
2014-04-03 19:59:46 +00:00
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_maxDepth">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>99.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
</property>
<property name="value">
<double>0.000000000000000</double>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="1" column="1">
2014-04-03 19:59:46 +00:00
<widget class="QLabel" name="label_53">
<property name="toolTip">
<string>0 means that the response (hessian) threshold
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.</string>
</property>
<property name="text">
<string>Maximum words depth (0 means inf). Only used when a depth image is provided. Applied before "Maximum words per image".</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="2" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QSpinBox" name="surf_spinBox_wordsPerImageTarget">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>2000</number>
</property>
<property name="value">
<number>150</number>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="2" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_22">
<property name="toolTip">
<string>0 means that the response (hessian) threshold
2012-06-24 17:19:34 +00:00
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="text">
<string>Maximum words per image.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="3" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_ratioBadSign">
<property name="decimals">
<number>2</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.050000000000000</double>
</property>
<property name="value">
<double>0.250000000000000</double>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="3" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_81">
<property name="toolTip">
<string>0 means that the response (hessian) threshold
2012-12-11 18:05:05 +00:00
used for the detector will not be adapted.
Otherwise, the threshold is modified to
generate the number of words requested.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="text">
<string>Bad signature ratio (less than Ratio x AverageWordsPerImage = bad).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="5" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QLineEdit" name="lineEdit_kp_roi">
<property name="readOnly">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="5" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_101">
<property name="text">
2014-10-13 19:10:22 +00:00
<string>ROI ratios [left, right, top, bottom] between 0 and 1.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="6" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_kp_roi0">
<property name="suffix">
<string> %</string>
</property>
<property name="decimals">
<number>0</number>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="6" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_97">
<property name="text">
<string>Left ROI ratio (0 = no change).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="7" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_kp_roi1">
<property name="suffix">
<string> %</string>
</property>
<property name="decimals">
<number>0</number>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="7" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_98">
<property name="text">
<string>Right ROI ratio (0 = no change).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="8" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_kp_roi2">
<property name="suffix">
<string> %</string>
</property>
<property name="decimals">
<number>0</number>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="8" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_99">
<property name="text">
<string>Top ROI ratio (0 = no change).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="9" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="doubleSpinBox_kp_roi3">
<property name="suffix">
<string> %</string>
</property>
<property name="decimals">
<number>0</number>
</property>
</widget>
</item>
2014-10-18 13:12:45 +00:00
<item row="9" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_100">
<property name="text">
<string>Bottom ROI ratio (0 = no change).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
2014-06-22 03:33:56 +00:00
<widget class="QGroupBox" name="groupBox_dictionary_strategy2">
<property name="title">
<string>Dictionary</string>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
<layout class="QGridLayout" name="gridLayout_18" columnstretch="0,0,1">
<item row="3" column="1">
<widget class="QToolButton" name="toolButton_dictionaryPath">
<property name="text">
<string>...</string>
</property>
</widget>
</item>
<item row="4" column="2">
<widget class="QLabel" name="label_78">
<property name="text">
<string>NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_nndrRatio">
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.700000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QLineEdit" name="lineEdit_dictionaryPath"/>
</item>
<item row="3" column="2">
<widget class="QLabel" name="label_dictionaryPath">
<property name="text">
<string>Path to a pre-computed dictionary (when "Use an incremental dictionary" is not set).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_dictionary_incremental">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="2">
<widget class="QLabel" name="label_12">
<property name="text">
<string>Nearest neighbor strategy.</string>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QComboBox" name="comboBox_dictionary_strategy">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>FLANN Linear</string>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
</item>
<item>
<property name="text">
<string>FLANN KdTree </string>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
</item>
<item>
<property name="text">
<string>FLANN LSH</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force GPU</string>
</property>
</item>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="label_incrementalDict">
<property name="text">
<string>Use an incremental dictionary.
When set to false, no new words are added to dictionary, so no more updates are required after each detection, which greatly increases time performance at the cost of lower adaptation to new environments.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="2">
<widget class="QLabel" name="label_94">
<property name="text">
<string>If the dictionary update and signature creation were parallelized.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="checkBox_kp_parallelized">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-14 21:48:50 +00:00
<item row="6" column="0">
<widget class="QCheckBox" name="checkBox_kp_newWordsComparedTogether">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="2">
<widget class="QLabel" name="label_186">
<property name="text">
<string>When adding new words to dictionary, they are compared also with each other (to detect same words in the same signature).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_15">
<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 class="QWidget" name="page_13">
<layout class="QVBoxLayout" name="verticalLayout_38">
<item>
<widget class="QGroupBox" name="groupBox_detector_surf2">
<property name="title">
<string>SURF</string>
</property>
<layout class="QGridLayout" name="gridLayout_15" columnstretch="0,1">
<item row="4" column="0">
<widget class="QCheckBox" name="surf_checkBox_upright">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_41">
<property name="text">
<string>Octave layers.</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_8">
<property name="text">
<string>Descriptor extended (true=128, false=64).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="label_surf_checkBox_gpuKeypointsRatio">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>GPU keypoints ratio.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_surf_checkBox_gpuVersion">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string>GPU version.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="surf_spinBox_octaves">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
<property name="value">
<number>4</number>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QCheckBox" name="surf_checkBox_gpuVersion">
<property name="enabled">
<bool>true</bool>
</property>
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_49">
<property name="text">
<string>U-SURF used.</string>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_gpuKeypointsRatio">
<property name="value">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_hessianThr">
<property name="decimals">
<number>0</number>
</property>
<property name="maximum">
<double>50000.000000000000000</double>
</property>
<property name="value">
<double>500.000000000000000</double>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QCheckBox" name="checkBox_surfExtended">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSpinBox" name="surf_spinBox_octaveLayers">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_26">
<property name="text">
<string>Octaves.</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_4">
<property name="text">
<string>Hessian threshold.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_17">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_14">
<layout class="QVBoxLayout" name="verticalLayout_39">
<item>
<widget class="QGroupBox" name="groupBox_detector_sift2">
<property name="title">
<string>SIFT</string>
</property>
<layout class="QGridLayout" name="gridLayout_19" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="sift_spinBox_nFeatures"/>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_129">
<property name="text">
<string>Sigma.</string>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="sift_doubleSpinBox_contrastThr">
<property name="decimals">
<number>6</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>50000.000000000000000</double>
</property>
<property name="singleStep">
<double>0.001000000000000</double>
</property>
<property name="value">
<double>0.006667000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_5">
<property name="text">
<string>Contrast threshold.</string>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_30">
<property name="text">
<string>Edge threshold.</string>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="sift_doubleSpinBox_edgeThr">
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="sift_doubleSpinBox_sigma">
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>10.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="sift_spinBox_nOctaveLayers"/>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_130">
<property name="text">
<string>nOctaveLayers.</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_131">
<property name="text">
<string>nFeatures.</string>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_19">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
2012-12-11 18:05:05 +00:00
</property>
</spacer>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</widget>
2014-06-22 03:33:56 +00:00
<widget class="QWidget" name="page_17">
<layout class="QVBoxLayout" name="verticalLayout_14">
<item>
<widget class="QGroupBox" name="groupBox_detector_fast2">
<property name="title">
<string>FAST</string>
</property>
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<layout class="QFormLayout" name="formLayout_2">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QSpinBox" name="fastThreshold">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>50</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_56">
<property name="text">
<string>Threshold on difference between intensity of the central pixel and pixels of a circle around this pixel.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QCheckBox" name="fastSuppressNonMax">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_69">
<property name="text">
<string>If true, non-maximum suppression is applied to detected corners (keypoints).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QCheckBox" name="fastGpu">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_fastGPU">
<property name="text">
<string>GPU-FAST: Use GPU version of FAST. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="fastKeypointRatio">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.050000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_fastGPUKptRatio">
<property name="text">
<string>Used with FAST GPU.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</item>
<item>
<spacer name="verticalSpacer_16">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_15">
<layout class="QVBoxLayout" name="verticalLayout_40">
2012-12-11 18:05:05 +00:00
<item>
2014-06-22 03:33:56 +00:00
<widget class="QGroupBox" name="groupBox_detector_brief2">
2012-12-11 18:05:05 +00:00
<property name="title">
2014-06-22 03:33:56 +00:00
<string>BRIEF</string>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
<layout class="QGridLayout" name="gridLayout_16" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="briefBytes">
<property name="minimum">
<number>1</number>
</property>
2012-12-11 18:05:05 +00:00
<property name="maximum">
2014-06-22 03:33:56 +00:00
<number>1000</number>
2012-12-11 18:05:05 +00:00
</property>
<property name="value">
2014-06-22 03:33:56 +00:00
<number>32</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="0" column="1">
<widget class="QLabel" name="label_52">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>Bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_22">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>660</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_18">
<layout class="QVBoxLayout" name="verticalLayout_35">
<item>
<widget class="QGroupBox" name="groupBox_detector_orb2">
<property name="title">
<string>ORB</string>
</property>
<layout class="QGridLayout" name="gridLayout_14" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="spinBox_ORBNFeatures">
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>500</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_24">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>The maximum number of features to retain.</string>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
<property name="wordWrap">
2013-12-11 00:12:44 +00:00
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_ORBScaleFactor">
<property name="decimals">
<number>1</number>
</property>
<property name="value">
<double>1.200000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_32">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>Pyramid decimation ratio, greater than 1. scaleFactor==2 means the classical pyramid, where each next level has 4x less pixels than the previous, but such a big scale factor will degrade feature matching scores dramatically. On the other hand, too close to 1 scale factor will mean that to cover certain scale range you will need more pyramid levels and so the speed will suffer.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="2" column="0">
<widget class="QSpinBox" name="spinBox_ORBNLevels">
<property name="value">
<number>8</number>
</property>
</widget>
</item>
2012-12-11 18:05:05 +00:00
<item row="2" column="1">
2014-06-22 03:33:56 +00:00
<widget class="QLabel" name="label_43">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="3" column="0">
<widget class="QSpinBox" name="spinBox_ORBEdgeThreshold">
<property name="value">
<number>31</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_95">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>This is size of the border where the features are not detected. It should roughly match the patchSize parameter.</string>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
<property name="wordWrap">
2013-12-11 00:12:44 +00:00
<bool>true</bool>
</property>
2012-12-11 18:05:05 +00:00
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="4" column="0">
<widget class="QSpinBox" name="spinBox_ORBFirstLevel">
<property name="maximum">
<number>0</number>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_127">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>It should be 0 in the current implementation.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="5" column="0">
2014-06-22 03:33:56 +00:00
<widget class="QSpinBox" name="spinBox_ORBWTA_K">
<property name="value">
<number>2</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_128">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>WTA_K: The number of points that produce each element of the oriented BRIEF descriptor. The default value 2 means the BRIEF where we take a random point pair and compare their brightnesses, so we get 0/1 response. Other possible values are 3 and 4. For example, 3 means that we take 3 random points (of course, those point coordinates are random, but they are generated from the pre-defined seed, so each element of BRIEF descriptor is computed deterministically from the pixel rectangle), find point of maximum brightness and output index of the winner (0, 1 or 2). Such output will occupy 2 bits, and therefore it will need a special variant of Hamming distance, denoted as NORM_HAMMING2 (2 bits per bin). When WTA_K=4, we take 4 random points to compute each bin (that will also occupy 2 bits with possible values 0, 1, 2 or 3).</string>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
<property name="wordWrap">
2013-12-11 00:12:44 +00:00
<bool>true</bool>
</property>
2012-12-11 18:05:05 +00:00
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="6" column="0">
2014-06-22 03:33:56 +00:00
<widget class="QSpinBox" name="spinBox_ORBScoreType"/>
</item>
<item row="6" column="1">
<widget class="QLabel" name="label_140">
<property name="text">
<string>The default HARRIS_SCORE=0 means that Harris algorithm is used to rank features (the score is written to KeyPoint::score and is used to retain best nfeatures features); FAST_SCORE=1 is alternative value of the parameter that produces slightly less stable keypoints, but it is a little faster to compute.</string>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
2014-06-22 03:33:56 +00:00
</widget>
</item>
<item row="7" column="0">
<widget class="QSpinBox" name="spinBox_ORBPatchSize">
2013-12-11 00:12:44 +00:00
<property name="value">
2014-06-22 03:33:56 +00:00
<number>31</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="7" column="1">
<widget class="QLabel" name="label_147">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>size of the patch used by the oriented BRIEF descriptor. Of course, on smaller pyramid layers the perceived image area covered by a feature will be larger.</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="8" column="0">
<widget class="QCheckBox" name="checkBox_ORBGpu">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="8" column="1">
<widget class="QLabel" name="label_orbGpu">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>GPU-ORB: Use GPU version of ORB. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
2014-06-22 03:33:56 +00:00
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_18">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_11">
<layout class="QVBoxLayout" name="verticalLayout_36">
<item>
<widget class="QGroupBox" name="groupBox_detector_freak2">
<property name="title">
<string>FREAK</string>
</property>
<layout class="QGridLayout" name="gridLayout_13" columnstretch="0,1">
<item row="0" column="0">
<widget class="QCheckBox" name="checkBox_FREAKOrientationNormalized">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_6">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>Enable orientation normalization.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="checkBox_FREAKScaleNormalized">
<property name="text">
<string/>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_9">
<property name="text">
<string>Enable scale normalization.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
2014-06-22 03:33:56 +00:00
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_FREAKPatternScale">
2012-12-11 18:05:05 +00:00
<property name="value">
2014-06-22 03:33:56 +00:00
<double>22.000000000000000</double>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_13">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>Scaling of the description pattern.</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="3" column="0">
<widget class="QSpinBox" name="spinBox_FREAKNOctaves">
<property name="value">
<number>4</number>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="3" column="1">
<widget class="QLabel" name="label_23">
<property name="text">
<string>Number of octaves covered by the detected keypoints.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
</widget>
</item>
<item>
2014-06-22 03:33:56 +00:00
<spacer name="verticalSpacer_13">
2013-12-11 00:12:44 +00:00
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
2014-06-22 03:33:56 +00:00
<width>20</width>
<height>40</height>
2013-12-11 00:12:44 +00:00
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2014-08-20 23:05:06 +00:00
<widget class="QWidget" name="page_16">
<layout class="QVBoxLayout" name="verticalLayout_9">
<item>
<widget class="QGroupBox" name="groupBox_detector_gftt2">
<property name="title">
<string>GFTT</string>
</property>
<layout class="QGridLayout" name="gridLayout_21" columnstretch="0,1">
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_GFTT_qualityLevel">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_GFTT_minDistance">
<property name="decimals">
<number>1</number>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="checkBox_GFTT_useHarrisDetector">
<property name="text">
<string/>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_172">
<property name="text">
<string>Use Harris detector.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_GFTT_k">
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.040000000000000</double>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_173">
<property name="text">
<string>K.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="spinBox_GFTT_blockSize">
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QSpinBox" name="spinBox_GFTT_maxCorners">
<property name="maximum">
<number>100000</number>
</property>
<property name="value">
<number>1000</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_174">
<property name="text">
<string>Maximum corners.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_175">
<property name="text">
<string>Quality level.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_176">
<property name="text">
<string>Mininum distance.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_177">
<property name="text">
<string>Block size.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_25">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>644</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2014-10-06 19:41:45 +00:00
<widget class="QWidget" name="page_25">
<layout class="QVBoxLayout" name="verticalLayout_47">
<item>
<widget class="QGroupBox" name="groupBox_detector_brisk2">
<property name="title">
<string>BRISK</string>
</property>
<layout class="QGridLayout" name="gridLayout_26" columnstretch="0,1">
<item row="0" column="1">
<widget class="QLabel" name="label_191">
<property name="text">
<string>FAST/AGAST detection threshold score.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="doubleSpinBox_BRISK_patterScale">
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_188">
<property name="text">
<string>Detection octaves. Use 0 to do single scale.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="spinBox_BRISK_octaves">
<property name="maximum">
<number>10</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_189">
<property name="text">
<string>Apply this scale to the pattern used for sampling the neighbourhood of a keypoint.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QSpinBox" name="spinBox_BRISK_thresh">
<property name="maximum">
<number>9999</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_26">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>742</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_19">
<layout class="QVBoxLayout" name="verticalLayout_13">
<item>
<widget class="QGroupBox" name="groupBox_vh_strategy1">
<property name="minimumSize">
<size>
<width>0</width>
<height>0</height>
</size>
</property>
<property name="title">
<string>Hypotheses verification</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<layout class="QFormLayout" name="formLayout_9">
<item row="0" column="0">
<widget class="QComboBox" name="comboBox_vh_strategy">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>No verification</string>
</property>
</item>
<item>
<property name="text">
<string>Epipolar constraints</string>
</property>
</item>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_50">
<property name="text">
<string>Hypotheses verification.</string>
</property>
</widget>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QGroupBox" name="groupBox_vh_epipolar2">
<property name="title">
<string>Epipolar constraints</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<layout class="QGridLayout" name="gridLayout" columnstretch="0,10">
<item row="0" column="0">
<widget class="QSpinBox" name="surf_spinBox_matchCountMinAccepted">
<property name="minimum">
<number>8</number>
</property>
<property name="maximum">
<number>100000</number>
</property>
<property name="value">
<number>11</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_25">
<property name="text">
<string>Minimum match count to accept a loop closure.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_ransacParam1">
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>10.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>3.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_27">
<property name="text">
<string>Fundamental Matrix : Distance (pixels) for inliers.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="surf_doubleSpinBox_ransacParam2">
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>0.990000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.990000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_28">
<property name="text">
<string>Fundamental Matrix : Ransac performance.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
</widget>
</item>
<item>
2013-12-11 00:12:44 +00:00
<spacer name="verticalSpacer_3">
2012-12-11 18:05:05 +00:00
<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>
2011-06-05 14:45:39 +00:00
</widget>
2013-12-11 00:12:44 +00:00
<widget class="QWidget" name="page_10">
<layout class="QVBoxLayout" name="verticalLayout_19">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QGroupBox" name="groupBox_slam1">
2012-12-11 18:05:05 +00:00
<property name="title">
2013-12-11 00:12:44 +00:00
<string>RGB-D SLAM</string>
2012-12-11 18:05:05 +00:00
</property>
2013-12-11 00:12:44 +00:00
<property name="checkable">
<bool>false</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_25">
<item>
2014-01-22 19:49:28 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_4" stretch="0,1">
2012-12-11 18:05:05 +00:00
<item>
2013-12-11 00:12:44 +00:00
<widget class="QCheckBox" name="general_checkBox_activateRGBD">
<property name="text">
<string/>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
<item>
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_activateRGBD">
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Activate metric RGB-D SLAM. This module enables 6d metric SLAM directly in RTAB-Map.
2013-12-11 00:12:44 +00:00
If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
</layout>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item>
<widget class="QLabel" name="label_83">
2012-12-11 18:05:05 +00:00
<property name="text">
2014-06-25 23:00:35 +00:00
<string>Rigid transformations between nodes are saved on the neighbor links of the RTAB-Map's graph. On loop closures, a new constraint is added to the graph and TORO optimizes the graph. RGB-D images must be sent to work (see Source->RGB-D Camera).</string>
2012-12-11 18:05:05 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QGroupBox" name="groupBox_slam_update">
<property name="title">
2014-06-25 23:00:35 +00:00
<string>Map update</string>
2012-12-11 18:05:05 +00:00
</property>
2014-01-22 19:49:28 +00:00
<layout class="QFormLayout" name="formLayout_20">
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="rgdb_linearUpdate">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_153">
<property name="text">
<string>Linear update: Minimum linear displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="rgdb_angularUpdate">
<property name="suffix">
<string> rad</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>3.140000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_152">
<property name="text">
<string>Angular update: Minimum angular displacement to update the map. Note that Weight Update is done prior to this, so weights are still updated.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-02-19 19:00:38 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_163">
<property name="text">
<string>Odometry change detected that triggers a new map (0 means whatever the odometry change, the detector will still link the new pose in the current map). Also by default, when an odometry with Identity transformation is detected, a new map is automatically created. </string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="rgdb_newMapOdomChange">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>1</number>
</property>
<property name="maximum">
<double>99.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
2014-06-25 23:00:35 +00:00
<item row="3" column="1">
<widget class="QLabel" name="label_scanMatching">
<property name="text">
<string>Laser scan matching history size for odometry correction. Set to 0 to disable odometry correction. ICP 2D only is used here.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="odomScanHistory"/>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</widget>
2012-12-11 18:05:05 +00:00
</item>
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QGroupBox" name="groupBox_globalConstraints">
2013-12-11 00:12:44 +00:00
<property name="title">
2014-01-22 19:49:28 +00:00
<string>Global loop closure constraints</string>
2012-12-11 18:05:05 +00:00
</property>
2014-01-22 19:49:28 +00:00
<layout class="QVBoxLayout" name="verticalLayout_20">
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_55">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>When a global loop closure is detected by the Bayes filter, a transform is computed between the current location and the old one. If a transform cannot be computed, the loop closure is rejected. The computation of the transform is done in 2 steps: </string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
2014-01-22 19:49:28 +00:00
<layout class="QGridLayout" name="gridLayout_10" columnstretch="0,1">
<item row="0" column="1">
<widget class="QLabel" name="label_57">
<property name="text">
2014-10-18 13:12:45 +00:00
<string>A transformation is computed using the 3D visual word correspondences. See "Loop closure constraint" panel for parameters.</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item row="0" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_17">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>1)</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_64">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Then if enabled, the visual transform is used as a guess for ICP estimation (3D or 2D). See "ICP" panel for parameters.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="1" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_18">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>2)</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</item>
<item>
2014-02-11 23:04:22 +00:00
<layout class="QFormLayout" name="formLayout_5">
2014-06-25 23:00:35 +00:00
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
2014-02-11 23:04:22 +00:00
<item row="0" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QComboBox" name="globalDetection_icpType">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
2013-12-11 00:12:44 +00:00
</property>
2014-01-22 19:49:28 +00:00
<item>
<property name="text">
<string>No ICP</string>
</property>
</item>
<item>
<property name="text">
<string>ICP 3D (e.g. Kinect depth)</string>
</property>
</item>
<item>
<property name="text">
<string>ICP 2D (e.g. Laser scan)</string>
</property>
</item>
</widget>
</item>
2014-02-11 23:04:22 +00:00
<item row="0" column="1">
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_19">
<property name="text">
<string>Use ICP estimation. If ICP 2D is selected, laser scans are required.</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-02-19 19:00:38 +00:00
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="globalDetection_icpMaxDistance">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.200000000000000</double>
</property>
</widget>
</item>
2014-06-25 23:00:35 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_51">
<property name="text">
<string>Maximum ICP correction distance accepted. A large translation difference between the visual transformation and ICP transformation results in wrong transformations in most cases.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</item>
</layout>
</widget>
</item>
<item>
2014-06-25 23:00:35 +00:00
<widget class="QGroupBox" name="groupBox_graphOptimization">
2014-01-22 19:49:28 +00:00
<property name="title">
2014-06-25 23:00:35 +00:00
<string>Graph optimization</string>
2014-01-22 19:49:28 +00:00
</property>
2014-06-25 23:00:35 +00:00
<layout class="QFormLayout" name="formLayout_19">
2014-01-22 19:49:28 +00:00
<item row="0" column="0">
2014-06-25 23:00:35 +00:00
<widget class="QSpinBox" name="globalDetection_toroIterations">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
2014-01-22 19:49:28 +00:00
</item>
<item row="0" column="1">
2014-06-25 23:00:35 +00:00
<widget class="QLabel" name="label_31">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-06-25 23:00:35 +00:00
<string>TORO graph optimization iterations</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_151">
<property name="text">
2014-10-18 13:12:45 +00:00
<string>Optimize graph from the newest node.
-If false, the graph is optimized from the oldest node of the current graph (this adds an overhead computation to detect to oldest mode of the current graph, but it can be useful to preserve the map referential from the oldest node). An odometry correction from frames /map to /odom is computed.
-If true, there is no odometry correction computed since it is all previous poses in the map that are corrected, not the last one (which corresponds to latest odometry value).
2014-07-13 18:09:54 +00:00
Warning when set to false: when some nodes are transferred, the first referential of the local map may change, resulting in momentary changes in robot/map position (which are annoying in teleoperation).</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-25 23:00:35 +00:00
<item row="1" column="0">
<widget class="QCheckBox" name="globalDetection_optimizeFromGraphEnd">
<property name="text">
<string/>
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_localDetection_time">
<property name="title">
<string>Local loop closure detection in time</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_21">
<item>
<widget class="QLabel" name="label_54">
<property name="text">
<string>Activate local detection over all locations in STM. The Bayes filter is not used here, so it may results in more false detections. The same 2-steps technique as for global loop closure constraints is used here.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_localDetection_space">
<property name="title">
<string>Local loop closure detection in space (laser scans are required)</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<layout class="QVBoxLayout" name="verticalLayout_48">
<item>
<widget class="QLabel" name="label_space1_2">
<property name="text">
<string>Activate local detection over locations (in Working Memory) near in space. The Bayes filter is not used here, so it may results in more false detections. ICP 2D only is used here.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QFormLayout" name="formLayout_13">
<item row="0" column="0">
2013-12-11 00:12:44 +00:00
<widget class="QDoubleSpinBox" name="localDetection_radius">
<property name="suffix">
<string> m</string>
</property>
<property name="value">
<double>1.000000000000000</double>
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="0" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_space2">
<property name="text">
<string>Maximum radius for space detection.</string>
</property>
2014-01-22 19:49:28 +00:00
<property name="wordWrap">
<bool>true</bool>
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="1" column="0">
<widget class="QSpinBox" name="localDetection_maxNeighbors">
<property name="value">
<number>10</number>
</property>
</widget>
</item>
<item row="1" column="1">
2013-12-11 00:12:44 +00:00
<widget class="QLabel" name="label_space3">
<property name="text">
<string>Maximum nearest neighbors for space detection.</string>
</property>
2014-01-22 19:49:28 +00:00
<property name="wordWrap">
<bool>true</bool>
</property>
2013-12-11 00:12:44 +00:00
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_space3_2">
<property name="text">
<string>Maximum ID difference between the current/last loop closure location and the local loop closure hypotheses. Set 0 to ignore.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSpinBox" name="localDetection_maxDiffID">
<property name="maximum">
<number>999</number>
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
2014-01-22 19:49:28 +00:00
<number>0</number>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
</layout>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
</widget>
</item>
<item>
2014-01-22 19:49:28 +00:00
<spacer name="verticalSpacer_11">
2012-12-11 18:05:05 +00:00
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
2013-12-11 00:12:44 +00:00
<width>20</width>
2014-01-22 19:49:28 +00:00
<height>0</height>
2012-12-11 18:05:05 +00:00
</size>
</property>
</spacer>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</widget>
2014-01-22 19:49:28 +00:00
<widget class="QWidget" name="page_21">
<layout class="QVBoxLayout" name="verticalLayout_50">
2012-12-11 18:05:05 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QGroupBox" name="groupBox_visualTransform2">
2012-12-11 18:05:05 +00:00
<property name="title">
2014-09-21 16:51:51 +00:00
<string>Loop closure constraint</string>
2012-12-11 18:05:05 +00:00
</property>
2014-01-22 19:49:28 +00:00
<layout class="QVBoxLayout" name="verticalLayout_49">
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_16">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Parameters to compute a transform from 3D visual word correspondences.</string>
2013-12-11 00:12:44 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
2014-09-21 16:51:51 +00:00
<layout class="QGridLayout" name="gridLayout_23" columnstretch="0,1">
2014-01-22 19:49:28 +00:00
<item row="0" column="0">
<widget class="QSpinBox" name="loopClosure_bowMinInliers">
<property name="minimum">
<number>1</number>
2013-12-11 00:12:44 +00:00
</property>
2014-01-22 19:49:28 +00:00
<property name="maximum">
<number>1000</number>
2013-12-11 00:12:44 +00:00
</property>
<property name="value">
2014-01-22 19:49:28 +00:00
<number>10</number>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="0" column="1">
<widget class="QLabel" name="label_2">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Minimum visual word correspondences to compute geometry transform.</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="1" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_bowInlierDistance">
2013-12-11 00:12:44 +00:00
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
2014-01-22 19:49:28 +00:00
<double>0.020000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-09-21 16:51:51 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_14">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-09-21 16:51:51 +00:00
<string>Maximum distance for visual word correspondences.</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="2" column="0">
<widget class="QSpinBox" name="loopClosure_bowIterations">
2013-12-11 00:12:44 +00:00
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
2014-09-21 16:51:51 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_15">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-09-21 16:51:51 +00:00
<string>Maximum iterations to compute the transform from visual words.</string>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_bowMaxDepth">
2013-12-11 00:12:44 +00:00
<property name="suffix">
<string> m</string>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="value">
<double>5.000000000000000</double>
</property>
</widget>
</item>
2014-09-21 16:51:51 +00:00
<item row="3" column="1">
<widget class="QLabel" name="label_146">
<property name="text">
<string>Max feature depth. Note that parameter "Visual Word"->"Max words depth" is applied before this.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QCheckBox" name="loopClosure_bowForce2D">
<property name="text">
<string/>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_184">
<property name="text">
<string>Force 2D transform (3DoF: x,y and yaw).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
</item>
2014-09-21 16:51:51 +00:00
<item>
<widget class="QGroupBox" name="groupBox_reextract">
<property name="title">
<string>Re-extract features</string>
</property>
<property name="checkable">
<bool>true</bool>
</property>
<property name="checked">
2014-10-07 23:07:23 +00:00
<bool>true</bool>
2014-09-21 16:51:51 +00:00
</property>
<layout class="QVBoxLayout" name="verticalLayout_46">
<item>
<widget class="QLabel" name="label_171">
<property name="text">
<string>If not activated, when a loop closure constraint must be computed, the words already extracted for the loop closure detector are used. These words are limited (see Visual Word->Words Per Image) and matched to the loop closure detection vocabulary. When the vocabulary is large, there maybe less corresponding words on a loop closure.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_182">
<property name="text">
<string>By activating the re-extraction of the features, the features from the two images will be re-extracted using the settings below, and matched directly instead of using the big vocabulary. This adds an overhead processing time but it will mostly produce more corresponding words between the images, so better transformation computed. We recommend to use binary features for fast extraction and matching.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_183">
<property name="text">
<string>Note that this is used only for global loop closure, so not for local loop closure in time.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout_25" columnstretch="0,1">
<item row="3" column="0">
<widget class="QComboBox" name="reextract_nn">
<property name="currentIndex">
<number>3</number>
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>FLANN Linear</string>
</property>
</item>
<item>
<property name="text">
<string>FLANN KdTree</string>
</property>
</item>
<item>
<property name="text">
<string>FLANN LSH</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force GPU</string>
</property>
</item>
</widget>
</item>
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="reextract_nndrRatio">
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.700000000000000</double>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QSpinBox" name="reextract_maxFeatures">
<property name="maximum">
<number>999999</number>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_180">
<property name="text">
<string>Max features extracted from the images (0 means inf).</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_179">
<property name="text">
<string>Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_181">
<property name="text">
<string>NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision. 0 means disabled, matching the nearest.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="reextract_type">
<property name="currentIndex">
2014-10-06 19:41:45 +00:00
<number>0</number>
2014-09-21 16:51:51 +00:00
</property>
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>SURF</string>
</property>
</item>
<item>
<property name="text">
<string>SIFT</string>
</property>
</item>
<item>
<property name="text">
<string>ORB</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+BRIEF</string>
</property>
</item>
<item>
<property name="text">
<string>GFTT+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>GFTT+BRIEF</string>
</property>
</item>
2014-10-06 19:41:45 +00:00
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
2014-09-21 16:51:51 +00:00
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_178">
<property name="text">
<string>Feature detector </string>
</property>
</widget>
</item>
</layout>
</item>
</layout>
</widget>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_20">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_27">
<layout class="QVBoxLayout" name="verticalLayout_52">
<item>
<widget class="QGroupBox" name="groupBox_icp2">
<property name="title">
<string>ICP</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_51">
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_7">
<property name="text">
<string>Iterative closest point (ICP) parameters.</string>
2012-12-11 18:05:05 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
2014-01-22 19:49:28 +00:00
<widget class="QGroupBox" name="groupBox_loopClosure_icp3">
2013-12-11 00:12:44 +00:00
<property name="title">
2014-01-22 19:49:28 +00:00
<string>ICP 3D - Point To Plane (e.g. Kinect depth)</string>
2012-12-11 18:05:05 +00:00
</property>
2014-01-22 19:49:28 +00:00
<layout class="QFormLayout" name="formLayout_3">
2013-12-11 00:12:44 +00:00
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QSpinBox" name="loopClosure_icpDecimation">
2013-12-11 00:12:44 +00:00
<property name="minimum">
2014-01-22 19:49:28 +00:00
<number>1</number>
2013-12-11 00:12:44 +00:00
</property>
<property name="maximum">
2014-01-22 19:49:28 +00:00
<number>32</number>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="0" column="1">
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_109">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Depth image decimation.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="1" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QDoubleSpinBox" name="loopClosure_icpMaxDepth">
<property name="suffix">
<string> m</string>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="value">
<double>5.000000000000000</double>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_115">
<property name="text">
<string>Max cloud depth.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icpVoxelSize">
2013-12-11 00:12:44 +00:00
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
2014-01-22 19:49:28 +00:00
<double>0.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
2014-01-22 19:49:28 +00:00
<double>0.005000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_125">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Voxel size to be used for ICP computation. Set to 0 to disable voxel filtering.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="3" column="0">
<widget class="QSpinBox" name="loopClosure_icpSamples">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>100</number>
</property>
<property name="value">
<number>5000</number>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_118">
<property name="text">
<string>Random samples to be used for ICP computation. Not used if Voxel size is null.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icpMaxCorrespondenceDistance">
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_122">
<property name="text">
<string>Max distance for point correspondences.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="5" column="0">
<widget class="QSpinBox" name="loopClosure_icpIterations">
2013-12-11 00:12:44 +00:00
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
2014-01-22 19:49:28 +00:00
<number>1000</number>
</property>
<property name="value">
<number>10</number>
</property>
</widget>
</item>
<item row="5" column="1">
<widget class="QLabel" name="label_124">
<property name="text">
<string>Max iterations.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="6" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icpMaxFitness">
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>30.000000000000000</double>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="label_133">
<property name="text">
<string>Maximum fitness to accept the computed transform.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_loopClosure_icp2">
<property name="title">
<string>ICP 2D (e.g. Laser scan)</string>
</property>
<layout class="QFormLayout" name="formLayout_4">
<property name="fieldGrowthPolicy">
<enum>QFormLayout::AllNonFixedFieldsGrow</enum>
</property>
<item row="0" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icp2MaxCorrespondenceDistance">
<property name="minimum">
<double>0.010000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
<property name="singleStep">
2014-01-22 19:49:28 +00:00
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.100000000000000</double>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_138">
<property name="text">
<string>Max distance for point correspondences.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="loopClosure_icp2Iterations">
<property name="minimum">
2013-12-11 00:12:44 +00:00
<number>1</number>
</property>
2014-01-22 19:49:28 +00:00
<property name="maximum">
<number>1000</number>
</property>
2013-12-11 00:12:44 +00:00
<property name="value">
2014-01-22 19:49:28 +00:00
<number>10</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_139">
<property name="text">
<string>Max iterations.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icp2MaxFitness">
<property name="minimum">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>30.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
<item row="2" column="1">
2014-01-22 19:49:28 +00:00
<widget class="QLabel" name="label_141">
<property name="text">
<string>Maximum fitness to accept the computed transform.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icp2Ratio">
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.900000000000000</double>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_148">
<property name="text">
<string>Ratio of matching correspondences to accept the transform.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QLabel" name="label_150">
2013-12-11 00:12:44 +00:00
<property name="text">
2014-01-22 19:49:28 +00:00
<string>Voxel size. Set to 0 to disable voxel filtering.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-01-22 19:49:28 +00:00
<item row="4" column="0">
<widget class="QDoubleSpinBox" name="loopClosure_icp2Voxel">
2013-12-11 00:12:44 +00:00
<property name="suffix">
<string> m</string>
</property>
2014-01-22 19:49:28 +00:00
<property name="decimals">
<number>3</number>
</property>
2013-12-11 00:12:44 +00:00
<property name="minimum">
<double>0.000000000000000</double>
</property>
2014-01-22 19:49:28 +00:00
<property name="maximum">
<double>0.100000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
2014-01-22 19:49:28 +00:00
<property name="singleStep">
<double>0.001000000000000</double>
</property>
<property name="value">
<double>0.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
</layout>
2012-12-11 18:05:05 +00:00
</widget>
</item>
2014-01-22 19:49:28 +00:00
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_21">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2014-10-16 00:14:23 +00:00
<widget class="QWidget" name="page_29">
<layout class="QVBoxLayout" name="verticalLayout_57">
<item>
<widget class="QGroupBox" name="groupBox_stereo2">
<property name="title">
<string>Stereo</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_56">
<item>
<widget class="QLabel" name="label_187">
<property name="text">
<string>These parameters are used to find the 3D positions of visual words using disparity between the left and right images. Optical flow is used to find corresponding corners in the right image of words extracted from the left image. Sub pixel corners may not be used for features like SURF/SIFT, which are already sub pixel.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_10">
<property name="title">
<string>calcOpticalFlowPyrLK()</string>
</property>
<layout class="QGridLayout" name="gridLayout_33" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="stereo_winSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>21</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_205">
<property name="text">
<string>Window size.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="stereo_iterations">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_206">
<property name="text">
<string>Iterations.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="stereo_eps">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="maximum">
<double>0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_207">
<property name="text">
<string>Epsilon.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_208">
<property name="text">
<string>Max level.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="stereo_maxLevel">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_9">
<property name="title">
<string>cornerSubPix()</string>
</property>
<layout class="QGridLayout" name="gridLayout_32" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="stereo_subpix_winSize">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_200">
<property name="text">
<string>Window size for sub pixel estimation.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="stereo_subpix_iterations">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_203">
<property name="text">
<string>Iterations for sub pixel estimation. 0 disables sub pixel refining.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="stereo_subpix_eps">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="maximum">
<double>0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.030000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_204">
<property name="text">
<string>Epsilon for sub pixel estimation.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_29">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>464</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2014-01-22 19:49:28 +00:00
<widget class="QWidget" name="page_12">
<layout class="QVBoxLayout" name="verticalLayout_32">
<item>
<widget class="QGroupBox" name="groupBox_odometry2">
<property name="title">
<string>Odometry</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_34">
<item>
<widget class="QLabel" name="label_114">
<property name="text">
<string>Odometry is computed as fast as possible up to "Source->Input rate" parameter. Odometry is not computed if already provided by the source.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
<item>
2014-10-13 19:10:22 +00:00
<layout class="QGridLayout" name="gridLayout_27" columnstretch="0,1">
<item row="4" column="1">
<widget class="QLabel" name="label_47">
2014-06-22 03:33:56 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>Automatically reset odometry after X consecutive images on which odometry cannot be computed (value=0 disables auto-reset).</string>
2014-06-22 03:33:56 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="0" column="0">
<widget class="QComboBox" name="odom_strategy">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
2014-01-22 19:49:28 +00:00
</property>
2014-10-13 19:10:22 +00:00
<item>
<property name="text">
<string>BOW (bag-of-words)</string>
</property>
</item>
<item>
<property name="text">
<string>Optical Flow</string>
</property>
</item>
2014-01-22 19:49:28 +00:00
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="3" column="1">
2014-10-13 19:10:22 +00:00
<widget class="QLabel" name="label_46">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>Angular update: minimum angular distance to update the odometry.</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="10" column="0">
<widget class="QSpinBox" name="odom_refine_iterations">
<property name="minimum">
<number>0</number>
2014-01-22 19:49:28 +00:00
</property>
2014-10-13 19:10:22 +00:00
<property name="maximum">
<number>10000</number>
2014-01-22 19:49:28 +00:00
</property>
<property name="singleStep">
2014-10-13 19:10:22 +00:00
<number>1</number>
2014-01-22 19:49:28 +00:00
</property>
<property name="value">
2014-10-13 19:10:22 +00:00
<number>10</number>
2014-01-22 19:49:28 +00:00
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="10" column="1">
<widget class="QLabel" name="label_111">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>Refine iterations of the resulting transformation computed by RANSAC. 0 means no refining.</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="5" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QSpinBox" name="odom_maxFeatures">
<property name="maximum">
<number>999999</number>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="5" column="1">
2014-06-22 03:33:56 +00:00
<widget class="QLabel" name="label_136">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-06-22 03:33:56 +00:00
<string>Max features extracted from the images (0 means inf).</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="3" column="0">
<widget class="QDoubleSpinBox" name="odom_angularUpdate">
2014-01-22 19:49:28 +00:00
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="singleStep">
2014-10-13 19:10:22 +00:00
<double>0.100000000000000</double>
2014-01-22 19:49:28 +00:00
</property>
<property name="value">
2014-10-13 19:10:22 +00:00
<double>0.015000000000000</double>
2014-01-22 19:49:28 +00:00
</property>
</widget>
</item>
<item row="8" column="1">
2014-10-13 19:10:22 +00:00
<widget class="QLabel" name="label_149">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>RANSAC: Maximum distance for 3D feature correspondences. Lower the value, higher the precision but higher the chance of RED screens (odometry lost).</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-06-22 03:33:56 +00:00
<item row="9" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QSpinBox" name="odom_iterations">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>10000</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>100</number>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="4" column="0">
<widget class="QSpinBox" name="odom_countdown">
<property name="maximum">
<number>999999</number>
2014-01-22 19:49:28 +00:00
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="11" column="0">
2014-06-22 03:33:56 +00:00
<widget class="QDoubleSpinBox" name="odom_ratio">
<property name="suffix">
<string/>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.500000000000000</double>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="11" column="1">
2014-06-22 03:33:56 +00:00
<widget class="QLabel" name="label_90">
<property name="text">
<string>Minmum ratio of keypoints between the current image and the last image to compute odometry.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="12" column="0">
2014-01-22 19:49:28 +00:00
<widget class="QDoubleSpinBox" name="odom_maxDepth">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>2</number>
</property>
<property name="minimum">
<double>0.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
2014-01-22 19:49:28 +00:00
<property name="value">
<double>5.000000000000000</double>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="12" column="1">
2014-06-22 03:33:56 +00:00
<widget class="QLabel" name="label_104">
2014-01-22 19:49:28 +00:00
<property name="text">
2014-06-25 23:00:35 +00:00
<string>Max feature depth.</string>
2014-01-22 19:49:28 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="7" column="1">
<widget class="QLabel" name="label_145">
<property name="text">
<string>Minimum feature correspondences to compute geometry transform.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2013-12-11 00:12:44 +00:00
</property>
2014-01-22 19:49:28 +00:00
</widget>
2013-12-11 00:12:44 +00:00
</item>
2014-10-13 19:10:22 +00:00
<item row="9" column="1">
<widget class="QLabel" name="label_36">
2014-06-06 18:06:49 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>RANSAC: Maximum iterations to compute the transform from 3D features.</string>
2014-06-06 18:06:49 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="7" column="0">
<widget class="QSpinBox" name="odom_minInliers">
<property name="minimum">
<number>8</number>
</property>
<property name="maximum">
<number>1000</number>
</property>
<property name="value">
<number>10</number>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="odom_linearUpdate">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.015000000000000</double>
</property>
</widget>
</item>
<item row="8" column="0">
<widget class="QDoubleSpinBox" name="odom_inlierDistance">
<property name="suffix">
<string> m</string>
</property>
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.005000000000000</double>
</property>
</widget>
</item>
<item row="1" column="0">
2014-06-22 03:33:56 +00:00
<widget class="QComboBox" name="odom_type">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>SURF</string>
</property>
</item>
<item>
<property name="text">
<string>SIFT</string>
</property>
</item>
<item>
<property name="text">
<string>ORB</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>FAST+BRIEF</string>
</property>
</item>
2014-08-20 23:05:06 +00:00
<item>
<property name="text">
<string>GFTT+FREAK</string>
</property>
</item>
<item>
<property name="text">
<string>GFTT+BRIEF</string>
</property>
</item>
2014-10-06 19:41:45 +00:00
<item>
<property name="text">
<string>BRISK</string>
</property>
</item>
2014-06-22 03:33:56 +00:00
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="2" column="1">
<widget class="QLabel" name="label_45">
2014-06-22 03:33:56 +00:00
<property name="text">
2014-10-13 19:10:22 +00:00
<string>Linear update: minimum linear distance to update the odometry.</string>
2014-06-22 03:33:56 +00:00
</property>
<property name="wordWrap">
<bool>true</bool>
2014-06-06 18:06:49 +00:00
</property>
2014-06-22 03:33:56 +00:00
</widget>
</item>
2014-10-13 19:10:22 +00:00
<item row="1" column="1">
<widget class="QLabel" name="label_44">
<property name="text">
<string>Feature detector. In BOW mode, the related descriptor is also used. In Optical flow mode, only the keypoint detector is used.</string>
2014-06-06 18:06:49 +00:00
</property>
2014-10-13 19:10:22 +00:00
<property name="wordWrap">
<bool>true</bool>
2014-06-06 18:06:49 +00:00
</property>
2014-10-13 19:10:22 +00:00
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_103">
<property name="text">
<string>Odometry strategy:
1-BOW matches features extracted from both frames using nearest neighbor with descriptors, then computes RANSAC transformation estimation with corresponding 3D features.
2-Optical flow estimate the location of 2D features from last frame to new frame, then computes RANSAC transformation with corresponding 3D features.</string>
2014-06-06 18:06:49 +00:00
</property>
2014-10-13 19:10:22 +00:00
<property name="wordWrap">
<bool>true</bool>
2014-06-06 18:06:49 +00:00
</property>
2014-10-13 19:10:22 +00:00
</widget>
</item>
<item row="6" column="0">
<widget class="QLineEdit" name="lineEdit_odom_roi">
<property name="text">
<string>0.0 0.0 0.0 0.0</string>
</property>
<property name="readOnly">
<bool>false</bool>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QLabel" name="label_123">
<property name="text">
<string>ROI ratios [left, right, top, bottom] between 0 and 1.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
2014-06-06 18:06:49 +00:00
</property>
</widget>
</item>
2013-12-11 00:12:44 +00:00
</layout>
2012-12-11 18:05:05 +00:00
</item>
2014-01-22 19:49:28 +00:00
<item>
<layout class="QHBoxLayout" name="horizontalLayout_5">
<item>
2014-04-02 15:51:02 +00:00
<widget class="QPushButton" name="pushButton_testOdometry">
2014-01-22 19:49:28 +00:00
<property name="text">
<string>Test selected odometry</string>
</property>
</widget>
</item>
<item>
<spacer name="horizontalSpacer_2">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
</layout>
</item>
2012-12-11 18:05:05 +00:00
</layout>
</widget>
</item>
<item>
2014-01-22 19:49:28 +00:00
<spacer name="verticalSpacer_14">
2012-12-11 18:05:05 +00:00
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
2013-12-11 00:12:44 +00:00
<width>20</width>
<height>40</height>
2012-12-11 18:05:05 +00:00
</size>
</property>
</spacer>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</widget>
2014-10-13 19:10:22 +00:00
<widget class="QWidget" name="page_26">
<layout class="QVBoxLayout" name="verticalLayout_54">
<item>
<widget class="QGroupBox" name="groupBox_odometryBOW3">
<property name="title">
<string>BOW</string>
</property>
<layout class="QGridLayout" name="gridLayout_29" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="odom_localHistory">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_190">
<property name="text">
<string>Local history size: If > 0 (example 5000), the odometry will maintain a local map of X maximum words. This will decrease odometry drifting when the camera is not moving.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QComboBox" name="odom_bin_nn">
<property name="sizeAdjustPolicy">
<enum>QComboBox::AdjustToContents</enum>
</property>
<item>
<property name="text">
<string>FLANN Linear</string>
</property>
</item>
<item>
<property name="text">
<string>FLANN KdTree</string>
</property>
</item>
<item>
<property name="text">
<string>FLANN LSH</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force</string>
</property>
</item>
<item>
<property name="text">
<string>Brute Force GPU</string>
</property>
</item>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_201">
<property name="text">
<string>Nearest neighbor strategy. FLANN KdTree must be used only with SURF/SIFT. FLANN LSH must be used only with binary feature detector.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="odom_bin_nndrRatio">
<property name="decimals">
<number>1</number>
</property>
<property name="minimum">
<double>0.100000000000000</double>
</property>
<property name="maximum">
<double>1.000000000000000</double>
</property>
<property name="singleStep">
<double>0.100000000000000</double>
</property>
<property name="value">
<double>0.700000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_202">
<property name="text">
<string>NNDR ratio
(A matching pair is accepted, if its distance is closer than X times the distance of the second nearest neighbor)
Lower the ratio -> higher the precision. 0 means disabled, matching the nearest.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_27">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>670</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<widget class="QWidget" name="page_28">
<layout class="QVBoxLayout" name="verticalLayout_55">
<item>
<widget class="QGroupBox" name="groupBox_odometryFlow3">
<property name="title">
<string>Optical Flow</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout_53">
<item>
<widget class="QLabel" name="label_199">
<property name="text">
<string>The process is as follow:
- Features from the last frame are estimated in the new frame using an optical flow approach (see cv::calcOpticalFlowPyrLK()).
- 3D features from the new frame are extracted from the estimated positions.
- Using RANSAC, a transformation is estimated between corresponding 3D features.
- New features are extracted from the new frame to be used for the next time.
- Optionally, the 2D position of the features can be refined for sub pixel precision (see cv::cornerSubPix()). </string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_4">
<property name="title">
<string>calcOpticalFlowPyrLK()</string>
</property>
<layout class="QGridLayout" name="gridLayout_30" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="odom_flow_winSize">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>21</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_192">
<property name="text">
<string>Window size.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="odom_flow_iterations">
<property name="minimum">
<number>1</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>30</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_193">
<property name="text">
<string>Iterations.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="odom_flow_eps">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="maximum">
<double>0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.010000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_194">
<property name="text">
<string>Epsilon.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="1">
<widget class="QLabel" name="label_195">
<property name="text">
<string>Max level.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="3" column="0">
<widget class="QSpinBox" name="odom_flow_maxLevel">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>3</number>
</property>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<widget class="QGroupBox" name="groupBox_7">
<property name="title">
<string>cornerSubPix()</string>
</property>
<layout class="QGridLayout" name="gridLayout_31" columnstretch="0,1">
<item row="0" column="0">
<widget class="QSpinBox" name="odom_flow_subpix_winSize">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>5</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QLabel" name="label_196">
<property name="text">
<string>Window size for sub pixel estimation.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QSpinBox" name="odom_flow_subpix_iterations">
<property name="minimum">
<number>0</number>
</property>
<property name="maximum">
<number>999999</number>
</property>
<property name="singleStep">
<number>1</number>
</property>
<property name="value">
<number>20</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QLabel" name="label_197">
<property name="text">
<string>Iterations for sub pixel estimation. 0 disables sub pixel refining.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="2" column="0">
<widget class="QDoubleSpinBox" name="odom_flow_subpix_eps">
<property name="decimals">
<number>3</number>
</property>
<property name="minimum">
<double>0.001000000000000</double>
</property>
<property name="maximum">
<double>0.100000000000000</double>
</property>
<property name="singleStep">
<double>0.010000000000000</double>
</property>
<property name="value">
<double>0.030000000000000</double>
</property>
</widget>
</item>
<item row="2" column="1">
<widget class="QLabel" name="label_198">
<property name="text">
<string>Epsilon for sub pixel estimation.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
</layout>
</widget>
</item>
</layout>
</widget>
</item>
<item>
<spacer name="verticalSpacer_28">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>518</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
2012-12-11 18:05:05 +00:00
</widget>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</item>
</layout>
</widget>
</widget>
</item>
<item>
2012-03-03 01:46:30 +00:00
<layout class="QHBoxLayout" name="horizontalLayout">
<property name="leftMargin">
<number>12</number>
2011-06-05 14:45:39 +00:00
</property>
2012-03-03 01:46:30 +00:00
<property name="rightMargin">
<number>12</number>
2011-06-05 14:45:39 +00:00
</property>
2012-03-03 01:46:30 +00:00
<item>
<widget class="QDialogButtonBox" name="buttonBox_local">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Apply|QDialogButtonBox::RestoreDefaults</set>
</property>
</widget>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</item>
</layout>
</item>
</layout>
</item>
<item>
2012-03-03 01:46:30 +00:00
<layout class="QHBoxLayout" name="horizontalLayout_3">
<item>
<widget class="QRadioButton" name="radioButton_basic">
<property name="text">
<string>Basic</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item>
<widget class="QRadioButton" name="radioButton_advanced">
<property name="text">
<string>Advanced</string>
</property>
</widget>
</item>
<item>
<widget class="QDialogButtonBox" name="buttonBox_global">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="standardButtons">
<set>QDialogButtonBox::Cancel|QDialogButtonBox::Ok</set>
</property>
</widget>
</item>
</layout>
2011-06-05 14:45:39 +00:00
</item>
</layout>
</widget>
<customwidgets>
<customwidget>
2012-06-24 17:19:34 +00:00
<class>UPlot</class>
2011-06-05 14:45:39 +00:00
<extends>QWidget</extends>
2012-06-24 17:19:34 +00:00
<header>utilite/UPlot.h</header>
2011-06-05 14:45:39 +00:00
<container>1</container>
</customwidget>
</customwidgets>
<resources>
<include location="../GuiLib.qrc"/>
</resources>
2012-03-03 01:46:30 +00:00
<connections/>
2011-06-05 14:45:39 +00:00
</ui>