Files
rtabmap/api/latest/Parameters_8h_source.html
T

1111 lines
363 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!-- HTML header for doxygen 1.9.8-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.9.8"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>RTAB-Map: corelib/include/rtabmap/core/Parameters.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/>
<link href="custom.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript">window.RTABMAP_DOC_ROOT="";</script>
<script type="text/javascript" src="../versions.js"></script>
<script type="text/javascript" src="version-switcher.js"></script>
<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script>
<script type="text/javascript">DoxygenAwesomeDarkModeToggle.init();</script>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr id="projectrow">
<td id="projectalign">
<div id="projectname">RTAB-Map<span id="projectnumber">&#160;0.23.13</span>
</div>
<div id="projectbrief">Real-Time Appearance-Based Mapping</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.8 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function() { init_codefold(0); });
/* @license-end */
</script>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
<div id="nav-sync" class="sync"></div>
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(document).ready(function(){initNavTree('Parameters_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>
<div class="header">
<div class="headertitle"><div class="title">Parameters.h</div></div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a id="l00001" name="l00001"></a><span class="lineno"> 1</span><span class="comment">/*</span></div>
<div class="line"><a id="l00002" name="l00002"></a><span class="lineno"> 2</span><span class="comment">Copyright (c) 2010-2016, Mathieu Labbe - IntRoLab - Universite de Sherbrooke</span></div>
<div class="line"><a id="l00003" name="l00003"></a><span class="lineno"> 3</span><span class="comment">All rights reserved.</span></div>
<div class="line"><a id="l00004" name="l00004"></a><span class="lineno"> 4</span><span class="comment"></span> </div>
<div class="line"><a id="l00005" name="l00005"></a><span class="lineno"> 5</span><span class="comment">Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a id="l00006" name="l00006"></a><span class="lineno"> 6</span><span class="comment">modification, are permitted provided that the following conditions are met:</span></div>
<div class="line"><a id="l00007" name="l00007"></a><span class="lineno"> 7</span><span class="comment"> * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a id="l00008" name="l00008"></a><span class="lineno"> 8</span><span class="comment"> notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a id="l00009" name="l00009"></a><span class="lineno"> 9</span><span class="comment"> * Redistributions in binary form must reproduce the above copyright</span></div>
<div class="line"><a id="l00010" name="l00010"></a><span class="lineno"> 10</span><span class="comment"> notice, this list of conditions and the following disclaimer in the</span></div>
<div class="line"><a id="l00011" name="l00011"></a><span class="lineno"> 11</span><span class="comment"> documentation and/or other materials provided with the distribution.</span></div>
<div class="line"><a id="l00012" name="l00012"></a><span class="lineno"> 12</span><span class="comment"> * Neither the name of the Universite de Sherbrooke nor the</span></div>
<div class="line"><a id="l00013" name="l00013"></a><span class="lineno"> 13</span><span class="comment"> names of its contributors may be used to endorse or promote products</span></div>
<div class="line"><a id="l00014" name="l00014"></a><span class="lineno"> 14</span><span class="comment"> derived from this software without specific prior written permission.</span></div>
<div class="line"><a id="l00015" name="l00015"></a><span class="lineno"> 15</span><span class="comment"></span> </div>
<div class="line"><a id="l00016" name="l00016"></a><span class="lineno"> 16</span><span class="comment">THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &quot;AS IS&quot; AND</span></div>
<div class="line"><a id="l00017" name="l00017"></a><span class="lineno"> 17</span><span class="comment">ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED</span></div>
<div class="line"><a id="l00018" name="l00018"></a><span class="lineno"> 18</span><span class="comment">WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE</span></div>
<div class="line"><a id="l00019" name="l00019"></a><span class="lineno"> 19</span><span class="comment">DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY</span></div>
<div class="line"><a id="l00020" name="l00020"></a><span class="lineno"> 20</span><span class="comment">DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES</span></div>
<div class="line"><a id="l00021" name="l00021"></a><span class="lineno"> 21</span><span class="comment">(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a id="l00022" name="l00022"></a><span class="lineno"> 22</span><span class="comment">LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND</span></div>
<div class="line"><a id="l00023" name="l00023"></a><span class="lineno"> 23</span><span class="comment">ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT</span></div>
<div class="line"><a id="l00024" name="l00024"></a><span class="lineno"> 24</span><span class="comment">(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS</span></div>
<div class="line"><a id="l00025" name="l00025"></a><span class="lineno"> 25</span><span class="comment">SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a id="l00026" name="l00026"></a><span class="lineno"> 26</span><span class="comment">*/</span></div>
<div class="line"><a id="l00027" name="l00027"></a><span class="lineno"> 27</span> </div>
<div class="line"><a id="l00028" name="l00028"></a><span class="lineno"> 28</span><span class="preprocessor">#ifndef PARAMETERS_H_</span></div>
<div class="line"><a id="l00029" name="l00029"></a><span class="lineno"> 29</span><span class="preprocessor">#define PARAMETERS_H_</span></div>
<div class="line"><a id="l00030" name="l00030"></a><span class="lineno"> 30</span> </div>
<div class="line"><a id="l00031" name="l00031"></a><span class="lineno"> 31</span><span class="comment">// default parameters</span></div>
<div class="line"><a id="l00032" name="l00032"></a><span class="lineno"> 32</span><span class="preprocessor">#include &quot;rtabmap/core/rtabmap_core_export.h&quot;</span> <span class="comment">// DLL export/import defines</span></div>
<div class="line"><a id="l00033" name="l00033"></a><span class="lineno"> 33</span><span class="preprocessor">#include &quot;rtabmap/core/Version.h&quot;</span> <span class="comment">// DLL export/import defines</span></div>
<div class="line"><a id="l00034" name="l00034"></a><span class="lineno"> 34</span><span class="preprocessor">#include &lt;<a class="code" href="UConversion_8h.html">rtabmap/utilite/UConversion.h</a>&gt;</span></div>
<div class="line"><a id="l00035" name="l00035"></a><span class="lineno"> 35</span><span class="preprocessor">#include &lt;opencv2/core/version.hpp&gt;</span></div>
<div class="line"><a id="l00036" name="l00036"></a><span class="lineno"> 36</span><span class="preprocessor">#include &lt;opencv2/opencv_modules.hpp&gt;</span></div>
<div class="line"><a id="l00037" name="l00037"></a><span class="lineno"> 37</span><span class="preprocessor">#include &lt;string&gt;</span></div>
<div class="line"><a id="l00038" name="l00038"></a><span class="lineno"> 38</span><span class="preprocessor">#include &lt;map&gt;</span></div>
<div class="line"><a id="l00039" name="l00039"></a><span class="lineno"> 39</span> </div>
<div class="line"><a id="l00040" name="l00040"></a><span class="lineno"> 40</span><span class="keyword">namespace </span><a class="code hl_namespace" href="namespacertabmap.html">rtabmap</a></div>
<div class="line"><a id="l00041" name="l00041"></a><span class="lineno"> 41</span>{</div>
<div class="line"><a id="l00042" name="l00042"></a><span class="lineno"> 42</span> </div>
<div class="line"><a id="l00044" name="l00044"></a><span class="lineno"><a class="line" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55"> 44</a></span><span class="keyword">typedef</span> std::map&lt;std::string, std::string&gt; <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>; <span class="comment">// Key, value</span></div>
<div class="line"><a id="l00046" name="l00046"></a><span class="lineno"><a class="line" href="namespacertabmap.html#a4d38c2e87cb7a46dc4299f7bd4d95a01"> 46</a></span><span class="keyword">typedef</span> std::pair&lt;std::string, std::string&gt; <a class="code hl_typedef" href="namespacertabmap.html#a4d38c2e87cb7a46dc4299f7bd4d95a01">ParametersPair</a>;</div>
<div class="line"><a id="l00047" name="l00047"></a><span class="lineno"> 47</span> </div>
<div class="line"><a id="l00066" name="l00066"></a><span class="lineno"> 66</span><span class="preprocessor">#define RTABMAP_PARAM(PREFIX, NAME, TYPE, DEFAULT_VALUE, DESCRIPTION) \</span></div>
<div class="line"><a id="l00067" name="l00067"></a><span class="lineno"> 67</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00068" name="l00068"></a><span class="lineno"> 68</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00069" name="l00069"></a><span class="lineno"> 69</span><span class="preprocessor"> static std::string k##PREFIX##NAME() {return std::string(#PREFIX &quot;/&quot; #NAME);} \</span></div>
<div class="line"><a id="l00070" name="l00070"></a><span class="lineno"> 70</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00071" name="l00071"></a><span class="lineno"> 71</span><span class="preprocessor"> static TYPE default##PREFIX##NAME() {return (TYPE)DEFAULT_VALUE;} \</span></div>
<div class="line"><a id="l00072" name="l00072"></a><span class="lineno"> 72</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00073" name="l00073"></a><span class="lineno"> 73</span><span class="preprocessor"> static std::string type##PREFIX##NAME() {return std::string(#TYPE);} \</span></div>
<div class="line"><a id="l00074" name="l00074"></a><span class="lineno"> 74</span><span class="preprocessor"> private: \</span></div>
<div class="line"><a id="l00075" name="l00075"></a><span class="lineno"> 75</span><span class="preprocessor"> class Dummy##PREFIX##NAME { \</span></div>
<div class="line"><a id="l00076" name="l00076"></a><span class="lineno"> 76</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00077" name="l00077"></a><span class="lineno"> 77</span><span class="preprocessor"> Dummy##PREFIX##NAME() {parameters_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, #DEFAULT_VALUE)); \</span></div>
<div class="line"><a id="l00078" name="l00078"></a><span class="lineno"> 78</span><span class="preprocessor"> parametersType_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, #TYPE)); \</span></div>
<div class="line"><a id="l00079" name="l00079"></a><span class="lineno"> 79</span><span class="preprocessor"> descriptions_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, DESCRIPTION));} \</span></div>
<div class="line"><a id="l00080" name="l00080"></a><span class="lineno"> 80</span><span class="preprocessor"> }; \</span></div>
<div class="line"><a id="l00081" name="l00081"></a><span class="lineno"> 81</span><span class="preprocessor"> Dummy##PREFIX##NAME dummy##PREFIX##NAME</span></div>
<div class="line"><a id="l00082" name="l00082"></a><span class="lineno"> 82</span><span class="comment">// end define PARAM</span></div>
<div class="line"><a id="l00083" name="l00083"></a><span class="lineno"> 83</span> </div>
<div class="line"><a id="l00103" name="l00103"></a><span class="lineno"> 103</span><span class="preprocessor">#define RTABMAP_PARAM_STR(PREFIX, NAME, DEFAULT_VALUE, DESCRIPTION) \</span></div>
<div class="line"><a id="l00104" name="l00104"></a><span class="lineno"> 104</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00105" name="l00105"></a><span class="lineno"> 105</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00106" name="l00106"></a><span class="lineno"> 106</span><span class="preprocessor"> static std::string k##PREFIX##NAME() {return std::string(#PREFIX &quot;/&quot; #NAME);} \</span></div>
<div class="line"><a id="l00107" name="l00107"></a><span class="lineno"> 107</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00108" name="l00108"></a><span class="lineno"> 108</span><span class="preprocessor"> static std::string default##PREFIX##NAME() {return DEFAULT_VALUE;} \</span></div>
<div class="line"><a id="l00109" name="l00109"></a><span class="lineno"> 109</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00110" name="l00110"></a><span class="lineno"> 110</span><span class="preprocessor"> static std::string type##PREFIX##NAME() {return std::string(&quot;string&quot;);} \</span></div>
<div class="line"><a id="l00111" name="l00111"></a><span class="lineno"> 111</span><span class="preprocessor"> private: \</span></div>
<div class="line"><a id="l00112" name="l00112"></a><span class="lineno"> 112</span><span class="preprocessor"> class Dummy##PREFIX##NAME { \</span></div>
<div class="line"><a id="l00113" name="l00113"></a><span class="lineno"> 113</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00114" name="l00114"></a><span class="lineno"> 114</span><span class="preprocessor"> Dummy##PREFIX##NAME() {parameters_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, DEFAULT_VALUE)); \</span></div>
<div class="line"><a id="l00115" name="l00115"></a><span class="lineno"> 115</span><span class="preprocessor"> parametersType_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, &quot;string&quot;)); \</span></div>
<div class="line"><a id="l00116" name="l00116"></a><span class="lineno"> 116</span><span class="preprocessor"> descriptions_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, DESCRIPTION));} \</span></div>
<div class="line"><a id="l00117" name="l00117"></a><span class="lineno"> 117</span><span class="preprocessor"> }; \</span></div>
<div class="line"><a id="l00118" name="l00118"></a><span class="lineno"> 118</span><span class="preprocessor"> Dummy##PREFIX##NAME dummy##PREFIX##NAME</span></div>
<div class="line"><a id="l00119" name="l00119"></a><span class="lineno"> 119</span><span class="comment">// end define PARAM</span></div>
<div class="line"><a id="l00120" name="l00120"></a><span class="lineno"> 120</span> </div>
<div class="line"><a id="l00139" name="l00139"></a><span class="lineno"> 139</span><span class="preprocessor">#define RTABMAP_PARAM_COND(PREFIX, NAME, TYPE, COND, DEFAULT_VALUE1, DEFAULT_VALUE2, DESCRIPTION) \</span></div>
<div class="line"><a id="l00140" name="l00140"></a><span class="lineno"> 140</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00141" name="l00141"></a><span class="lineno"> 141</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00142" name="l00142"></a><span class="lineno"> 142</span><span class="preprocessor"> static std::string k##PREFIX##NAME() {return std::string(#PREFIX &quot;/&quot; #NAME);} \</span></div>
<div class="line"><a id="l00143" name="l00143"></a><span class="lineno"> 143</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00144" name="l00144"></a><span class="lineno"> 144</span><span class="preprocessor"> static TYPE default##PREFIX##NAME() {return COND?DEFAULT_VALUE1:DEFAULT_VALUE2;} \</span></div>
<div class="line"><a id="l00145" name="l00145"></a><span class="lineno"> 145</span><span class="preprocessor"> \</span></div>
<div class="line"><a id="l00146" name="l00146"></a><span class="lineno"> 146</span><span class="preprocessor"> static std::string type##PREFIX##NAME() {return std::string(#TYPE);} \</span></div>
<div class="line"><a id="l00147" name="l00147"></a><span class="lineno"> 147</span><span class="preprocessor"> private: \</span></div>
<div class="line"><a id="l00148" name="l00148"></a><span class="lineno"> 148</span><span class="preprocessor"> class Dummy##PREFIX##NAME { \</span></div>
<div class="line"><a id="l00149" name="l00149"></a><span class="lineno"> 149</span><span class="preprocessor"> public: \</span></div>
<div class="line"><a id="l00150" name="l00150"></a><span class="lineno"> 150</span><span class="preprocessor"> Dummy##PREFIX##NAME() {parameters_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, COND?#DEFAULT_VALUE1:#DEFAULT_VALUE2)); \</span></div>
<div class="line"><a id="l00151" name="l00151"></a><span class="lineno"> 151</span><span class="preprocessor"> parametersType_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, #TYPE)); \</span></div>
<div class="line"><a id="l00152" name="l00152"></a><span class="lineno"> 152</span><span class="preprocessor"> descriptions_.insert(ParametersPair(#PREFIX &quot;/&quot; #NAME, DESCRIPTION));} \</span></div>
<div class="line"><a id="l00153" name="l00153"></a><span class="lineno"> 153</span><span class="preprocessor"> }; \</span></div>
<div class="line"><a id="l00154" name="l00154"></a><span class="lineno"> 154</span><span class="preprocessor"> Dummy##PREFIX##NAME dummy##PREFIX##NAME</span></div>
<div class="line"><a id="l00155" name="l00155"></a><span class="lineno"> 155</span><span class="comment">// end define PARAM</span></div>
<div class="line"><a id="l00156" name="l00156"></a><span class="lineno"> 156</span> </div>
<div class="foldopen" id="foldopen00182" data-start="{" data-end="};">
<div class="line"><a id="l00182" name="l00182"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html"> 182</a></span><span class="keyword">class </span>RTABMAP_CORE_EXPORT <a class="code hl_class" href="classrtabmap_1_1Parameters.html">Parameters</a></div>
<div class="line"><a id="l00183" name="l00183"></a><span class="lineno"> 183</span>{</div>
<div class="line"><a id="l00184" name="l00184"></a><span class="lineno"> 184</span> <span class="comment">// Rtabmap parameters</span></div>
<div class="line"><a id="l00185" name="l00185"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7c5e66f953be45705f9733cb9b6c45fe"> 185</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, PublishStats, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Publishing statistics.&quot;</span>);</div>
<div class="line"><a id="l00186" name="l00186"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5409119d4fa7ae4467bb5ad2bd8fd264"> 186</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, PublishLastSignature, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Publishing last signature.&quot;</span>);</div>
<div class="line"><a id="l00187" name="l00187"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a71cdb17c468eb22164c8fea56809381f"> 187</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, PublishPdf, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Publishing pdf.&quot;</span>);</div>
<div class="line"><a id="l00188" name="l00188"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aec63f44fb276848c0276ef49e157a42e"> 188</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, PublishLikelihood, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Publishing likelihood.&quot;</span>);</div>
<div class="line"><a id="l00189" name="l00189"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a435580b8d8bfc04a3056a670733fd4ee"> 189</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, PublishRAMUsage, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Publishing RAM usage in statistics (may add a small overhead to get info from the system).&quot;</span>);</div>
<div class="line"><a id="l00190" name="l00190"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a64af0d2d6c1f1d37401c19d333c9d2fd"> 190</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, ComputeRMSE, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Compute root mean square error (RMSE) and publish it in statistics, if ground truth is provided.&quot;</span>);</div>
<div class="line"><a id="l00191" name="l00191"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae85f3dc522a58805b8e4292924fbcae4"> 191</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, SaveWMState, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Save working memory state after each update in statistics.&quot;</span>);</div>
<div class="line"><a id="l00192" name="l00192"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a25c9d8fcef338e3ff2b5906b5a3641d8"> 192</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, TimeThr, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Maximum time allowed for map update (ms) (0 means infinity). When map update time exceeds this fixed time threshold, some nodes in Working Memory (WM) are transferred to Long-Term Memory to limit the size of the WM and decrease the update time.&quot;</span>);</div>
<div class="line"><a id="l00193" name="l00193"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a74a04a2c228039577af97a6eca733af4"> 193</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, MemoryThr, <span class="keywordtype">int</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Maximum nodes in the Working Memory (0 means infinity). Similar to \&quot;%s\&quot;, when the number of nodes in Working Memory (WM) exceeds this treshold, some nodes are transferred to Long-Term Memory to keep WM size fixed.&quot;</span>, kRtabmapTimeThr().c_str()));</div>
<div class="line"><a id="l00194" name="l00194"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a17d26c31e01108f87151549822d14d55"> 194</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, DetectionRate, <span class="keywordtype">float</span>, 1, <span class="stringliteral">&quot;Detection rate (Hz). RTAB-Map will filter input images to satisfy this rate.&quot;</span>);</div>
<div class="line"><a id="l00195" name="l00195"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acf225328e66eabb45e6e7bb61541b75a"> 195</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, ImageBufferSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Data buffer size (0 min inf).&quot;</span>);</div>
<div class="line"><a id="l00196" name="l00196"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8883a52eabe5cf1b8543f28883b5c5cc"> 196</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, CreateIntermediateNodes, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Create intermediate nodes between loop closure detection. Only used when %s&gt;0.&quot;</span>, kRtabmapDetectionRate().c_str()));</div>
<div class="line"><a id="l00197" name="l00197"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5ea43cb3ed900709216cf27daf05d34d"> 197</a></span> RTABMAP_PARAM_STR(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, WorkingDirectory, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Working directory.&quot;</span>);</div>
<div class="line"><a id="l00198" name="l00198"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a10d3800662d76d7ca707779be4c64562"> 198</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, MaxRetrieved, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Maximum nodes retrieved at the same time from LTM.&quot;</span>);</div>
<div class="line"><a id="l00199" name="l00199"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a84e422bed1fee99bf3add6b22509d7b3"> 199</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, MaxRepublished, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 2, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Maximum nodes republished when requesting missing data. When %s=false, only loop closure data is republished, otherwise the closest nodes from the current localization are republished first. Ignored if %s=false.&quot;</span>, kRGBDEnabled().c_str(), kRtabmapPublishLastSignature().c_str()));</div>
<div class="line"><a id="l00200" name="l00200"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf1d0f53f567096d54ab06ac97598d8f"> 200</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, StatisticLogsBufferedInRAM, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Statistic logs buffered in RAM instead of written to hard drive after each iteration.&quot;</span>);</div>
<div class="line"><a id="l00201" name="l00201"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0e063855679c989570030552742516dc"> 201</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, StatisticLogged, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Logging enabled.&quot;</span>);</div>
<div class="line"><a id="l00202" name="l00202"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a927f4dbc6c08e694d937ee23363568a7"> 202</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, StatisticLoggedHeaders, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Add column header description to log files.&quot;</span>);</div>
<div class="line"><a id="l00203" name="l00203"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abffddbc89dfbc074e09561c39e749102"> 203</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, StartNewMapOnLoopClosure, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Start a new map only if there is a global loop closure with a previous map.&quot;</span>);</div>
<div class="line"><a id="l00204" name="l00204"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae2ec57ced69ca430af3979e0c06ca1de"> 204</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, StartNewMapOnGoodSignature, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Start a new map only if the first signature is not bad (i.e., has enough features, see %s).&quot;</span>, kKpBadSignRatio().c_str()));</div>
<div class="line"><a id="l00205" name="l00205"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a655fb29bc817d5be3be975a68b22d051"> 205</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, ImagesAlreadyRectified, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Images are already rectified. By default RTAB-Map assumes that received images are rectified. If they are not, they can be rectified by RTAB-Map if this parameter is false.&quot;</span>);</div>
<div class="line"><a id="l00206" name="l00206"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a192b1b802343b48e517d153a44fca57a"> 206</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, RectifyOnlyFeatures, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If \&quot;%s\&quot; is false and this parameter is true, the whole RGB image will not be rectified, only the features. Warning: As projection of RGB-D image to point cloud is assuming that images are rectified, the generated point cloud map will have wrong colors if this parameter is true.&quot;</span>, kRtabmapImagesAlreadyRectified().c_str()));</div>
<div class="line"><a id="l00207" name="l00207"></a><span class="lineno"> 207</span> </div>
<div class="line"><a id="l00208" name="l00208"></a><span class="lineno"> 208</span> <span class="comment">// Hypotheses selection</span></div>
<div class="line"><a id="l00209" name="l00209"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a297d4cfc19464ff9944cec968f69f25e"> 209</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, LoopThr, <span class="keywordtype">float</span>, 0.11, <span class="stringliteral">&quot;Loop closing threshold.&quot;</span>);</div>
<div class="line"><a id="l00210" name="l00210"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a693a08916d475d7ed25a94f9e5ee9e48"> 210</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, LoopRatio, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;The loop closure hypothesis must be over LoopRatio x lastHypothesisValue.&quot;</span>);</div>
<div class="line"><a id="l00211" name="l00211"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a72811b235cade342cb8598f8fc98fd2a"> 211</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, LoopGPS, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Use GPS to filter likelihood (if GPS is recorded). Only locations inside the local radius \&quot;%s\&quot; of the current GPS location are considered for loop closure detection.&quot;</span>, kRGBDLocalRadius().c_str()));</div>
<div class="line"><a id="l00212" name="l00212"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a36ed76f23eb746ff97f5c3a751e40743"> 212</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Rtabmap.html">Rtabmap</a>, VirtualPlaceLikelihoodRatio, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Likelihood ratio for virtual place (for no loop closure hypothesis): 0=Mean / StdDev, 1=StdDev / (Max-Mean)&quot;</span>);</div>
<div class="line"><a id="l00213" name="l00213"></a><span class="lineno"> 213</span> </div>
<div class="line"><a id="l00214" name="l00214"></a><span class="lineno"> 214</span> <span class="comment">// Memory</span></div>
<div class="line"><a id="l00215" name="l00215"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a24fc112f4a843966f15b7547ed7774fc"> 215</a></span> RTABMAP_PARAM(Mem, RehearsalSimilarity, <span class="keywordtype">float</span>, 0.6, <span class="stringliteral">&quot;Rehearsal similarity.&quot;</span>);</div>
<div class="line"><a id="l00216" name="l00216"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7acd099f792c408938369a5d6ac2cbb4"> 216</a></span> RTABMAP_PARAM(Mem, ImageKept, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Keep raw images in RAM.&quot;</span>);</div>
<div class="line"><a id="l00217" name="l00217"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8de7d48c83fb6e01445aba0db8ae0757"> 217</a></span> RTABMAP_PARAM(Mem, BinDataKept, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Keep binary data in db.&quot;</span>);</div>
<div class="line"><a id="l00218" name="l00218"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afdd68706f173ac772c09e5bdf8506e47"> 218</a></span> RTABMAP_PARAM(Mem, RawDescriptorsKept, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Raw descriptors kept in memory.&quot;</span>);</div>
<div class="line"><a id="l00219" name="l00219"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac9f8a3dde1fdbf9d12c916dd64816577"> 219</a></span> RTABMAP_PARAM(Mem, LoadVisualLocalFeaturesOnInit, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Load all local visual features (keypoints, descriptors and 3D points) in RAM when loading an existing database. This can add significant time to initialize the memory but the features will be already loaded before computing loop closure transforms. If false, the features are loaded on-demand from the database when a loop closure transformation should be estimated.&quot;</span>);</div>
<div class="line"><a id="l00220" name="l00220"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a314d269c542216bc1648a941749769a3"> 220</a></span> RTABMAP_PARAM(Mem, MapLabelsAdded, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Create map labels. The first node of a map will be labeled as \&quot;map#\&quot; where # is the map ID.&quot;</span>);</div>
<div class="line"><a id="l00221" name="l00221"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae23d9e42dbfbf5221f40828212b95dbc"> 221</a></span> RTABMAP_PARAM(Mem, SaveDepth16Format, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Save depth image into 16 bits format to reduce memory used. Warning: values over ~65 meters are ignored (maximum 65535 millimeters).&quot;</span>);</div>
<div class="line"><a id="l00222" name="l00222"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0378f5c6c5fa962273e14b4abf16c3b7"> 222</a></span> RTABMAP_PARAM(Mem, NotLinkedNodesKept, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Keep not linked nodes in db (rehearsed nodes and deleted nodes).&quot;</span>);</div>
<div class="line"><a id="l00223" name="l00223"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa0833629878456d49d6b9abeda19154a"> 223</a></span> RTABMAP_PARAM(Mem, IntermediateNodeDataKept, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Keep intermediate node data in db.&quot;</span>);</div>
<div class="line"><a id="l00224" name="l00224"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a93e3a1a8e17c89b5bd296b2e46e01f59"> 224</a></span> RTABMAP_PARAM_STR(Mem, ImageCompressionFormat, <span class="stringliteral">&quot;.jpg&quot;</span>, <span class="stringliteral">&quot;RGB image compression format. It should be \&quot;.jpg\&quot; or \&quot;.png\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00225" name="l00225"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a910b2ae89d8052dd47a351ec70837fff"> 225</a></span> RTABMAP_PARAM_STR(Mem, DepthCompressionFormat, <span class="stringliteral">&quot;.rvl&quot;</span>, <span class="stringliteral">&quot;Depth image compression format for 16UC1 depth type. It should be \&quot;.png\&quot; or \&quot;.rvl\&quot;. If depth type is 32FC1, \&quot;.png\&quot; is used.&quot;</span>);</div>
<div class="line"><a id="l00226" name="l00226"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab5a017cb8ba362dcc65ef27af01ee68e"> 226</a></span> RTABMAP_PARAM(Mem, STMSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 10, <span class="stringliteral">&quot;Short-term memory size.&quot;</span>);</div>
<div class="line"><a id="l00227" name="l00227"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8bb38651262b700eac115e843fd4052b"> 227</a></span> RTABMAP_PARAM(Mem, IncrementalMemory, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;SLAM mode, otherwise it is Localization mode.&quot;</span>);</div>
<div class="line"><a id="l00228" name="l00228"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8a28e4d7255ffc9748111478f123e92c"> 228</a></span> RTABMAP_PARAM(Mem, LocalizationReadOnly, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;In localization mode, open the database in read-only mode (ignored if %s=true). Currrenty incompatible with memory management (%s and %s cannot be used) and if there are disjoint sessions in working memory. Last localization pose won&#39;t be saved back in the database at the end of the session, so the robot will always restart to original last localization pose, unless %s is used or an external initial pose is provided on initialization.&quot;</span>, kMemIncrementalMemory().c_str(), kRtabmapLoopThr().c_str(), kRtabmapMemoryThr().c_str(), kRGBDStartAtOrigin().c_str()).c_str());</div>
<div class="line"><a id="l00229" name="l00229"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af371caa7510c244cf2e77f9517e20c87"> 229</a></span> RTABMAP_PARAM(Mem, LocalizationDataSaved, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Save localization data during localization session (when %s=false). When enabled, the database will then also grow in localization mode. This mode would be used only for debugging purpose.&quot;</span>, kMemIncrementalMemory().c_str()).c_str());</div>
<div class="line"><a id="l00230" name="l00230"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac798d107c6adf5eec5afa92f9bde20f1"> 230</a></span> RTABMAP_PARAM(Mem, ReduceGraph, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Reduce graph. Merge nodes when loop closures are added (ignoring those with user data). Note that this approach assumes that 100%% of the loop closures accepted are good, so it is highly recommended to enable \&quot;%s\&quot; at the same time.&quot;</span>, kRGBDOptimizeMaxError().c_str()));</div>
<div class="line"><a id="l00231" name="l00231"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2d08f0a0bf9f1971b5f0e050189a822a"> 231</a></span> RTABMAP_PARAM(Mem, RecentWmRatio, <span class="keywordtype">float</span>, 0.2, <span class="stringliteral">&quot;Ratio of locations after the last loop closure in WM that cannot be transferred.&quot;</span>);</div>
<div class="line"><a id="l00232" name="l00232"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3872c9c529790aa5ec13b3db08889936"> 232</a></span> RTABMAP_PARAM(Mem, TransferSortingByWeightId, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;On transfer, signatures are sorted by weight-&gt;ID only (i.e. the oldest of the lowest weighted signatures are transferred first). If false, the signatures are sorted by weight-&gt;Age-&gt;ID (i.e. the oldest inserted in WM of the lowest weighted signatures are transferred first). Note that retrieval updates the age, not the ID.&quot;</span>);</div>
<div class="line"><a id="l00233" name="l00233"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3a7129fc995fbdcdb40aba94242e73a8"> 233</a></span> RTABMAP_PARAM(Mem, RehearsalIdUpdatedToNewOne, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;On merge, update to new id. When false, no copy. Keep this disable if %s=true.&quot;</span>, kRtabmapCreateIntermediateNodes().c_str()));</div>
<div class="line"><a id="l00234" name="l00234"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4a2f8b6aed34584b1b68e88b95bbf3c0"> 234</a></span> RTABMAP_PARAM(Mem, RehearsalWeightIgnoredWhileMoving, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;When the robot is moving, weights are not updated on rehearsal.&quot;</span>);</div>
<div class="line"><a id="l00235" name="l00235"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad20f4bc73ba55bf59e363f8954ae0093"> 235</a></span> RTABMAP_PARAM(Mem, GenerateIds, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;True=Generate location IDs, False=use input image IDs.&quot;</span>);</div>
<div class="line"><a id="l00236" name="l00236"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a05100dbe754fe80f80e295f8488db2bf"> 236</a></span> RTABMAP_PARAM(Mem, BadSignaturesIgnored, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bad signatures are ignored.&quot;</span>);</div>
<div class="line"><a id="l00237" name="l00237"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a219e4eb04a5a4ed9ec18c21fe7358feb"> 237</a></span> RTABMAP_PARAM(Mem, InitWMWithAllNodes, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Initialize the Working Memory with all nodes in Long-Term Memory. When false, it is initialized with nodes of the previous session.&quot;</span>);</div>
<div class="line"><a id="l00238" name="l00238"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0b951157e5f4d13eaf02a9fcc96e4fe7"> 238</a></span> RTABMAP_PARAM(Mem, DepthAsMask, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use depth image as mask when extracting features for vocabulary.&quot;</span>);</div>
<div class="line"><a id="l00239" name="l00239"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab67a80c58f1fe6229f495b562aab4dff"> 239</a></span> RTABMAP_PARAM(Mem, DepthMaskFloorThr, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Filter floor from depth mask below specified threshold (m) before extracting features. 0 means disabled. Ignored if %s is false.&quot;</span>, kMemDepthAsMask().c_str()));</div>
<div class="line"><a id="l00240" name="l00240"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab9c856a18e3b60843eef5d263095354f"> 240</a></span> RTABMAP_PARAM(Mem, StereoFromMotion, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Triangulate features without depth using stereo from motion (odometry). It would be ignored if %s is true and the feature detector used supports masking.&quot;</span>, kMemDepthAsMask().c_str()));</div>
<div class="line"><a id="l00241" name="l00241"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a38e39c920f79b924fe4a72851b0f2369"> 241</a></span> RTABMAP_PARAM(Mem, ImagePreDecimation, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Decimation of the RGB image before visual feature detection. If depth size is larger than decimated RGB size, depth is decimated to be always at most equal to RGB size. If %s is true and if depth is smaller than decimated RGB, depth may be interpolated to match RGB size for feature detection.&quot;</span>,kMemDepthAsMask().c_str()));</div>
<div class="line"><a id="l00242" name="l00242"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1e10a4ffe99aebfb52a875786da93942"> 242</a></span> RTABMAP_PARAM(Mem, ImagePostDecimation, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Decimation of the RGB image before saving it to database. If depth size is larger than decimated RGB size, depth is decimated to be always at most equal to RGB size. Decimation is done from the original image. If set to same value than %s, data already decimated is saved (no need to re-decimate the image).&quot;</span>, kMemImagePreDecimation().c_str()));</div>
<div class="line"><a id="l00243" name="l00243"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a18f0b2d1533598f44bc24068bb2037bf"> 243</a></span> RTABMAP_PARAM(Mem, CompressionParallelized, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Compression of sensor data is multi-threaded.&quot;</span>);</div>
<div class="line"><a id="l00244" name="l00244"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab2a7153ce501d4e3b5fbcc67451ffa2b"> 244</a></span> RTABMAP_PARAM(Mem, LaserScanDownsampleStepSize, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;If &gt; 1, downsample the laser scans when creating a signature.&quot;</span>);</div>
<div class="line"><a id="l00245" name="l00245"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0a452f952823c8515d8c0445cd3a3e7e"> 245</a></span> RTABMAP_PARAM(Mem, LaserScanVoxelSize, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If &gt; 0 m, voxel filtering is done on laser scans when creating a signature. If the laser scan had normals, they will be removed. To recompute the normals, make sure to use \&quot;%s\&quot; or \&quot;%s\&quot; parameters.&quot;</span>, kMemLaserScanNormalK().c_str(), kMemLaserScanNormalRadius().c_str()));</div>
<div class="line"><a id="l00246" name="l00246"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3b3da0e74eb2eb6953af5f4093ebf636"> 246</a></span> RTABMAP_PARAM(Mem, LaserScanNormalK, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;If &gt; 0 and laser scans don&#39;t have normals, normals will be computed with K search neighbors when creating a signature.&quot;</span>);</div>
<div class="line"><a id="l00247" name="l00247"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a996ec0a78373510fd9fa3a1e809f72e3"> 247</a></span> RTABMAP_PARAM(Mem, LaserScanNormalRadius, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;If &gt; 0 m and laser scans don&#39;t have normals, normals will be computed with radius search neighbors when creating a signature.&quot;</span>);</div>
<div class="line"><a id="l00248" name="l00248"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aea6bd00c7845c08d64ed8ce0942c6b5d"> 248</a></span> RTABMAP_PARAM(Mem, UseOdomFeatures, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use odometry features instead of regenerating them.&quot;</span>);</div>
<div class="line"><a id="l00249" name="l00249"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf12cf04eca49960b331182d933b3525"> 249</a></span> RTABMAP_PARAM(Mem, UseOdomGravity, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Use odometry instead of IMU orientation to add gravity links to new nodes created. We assume that odometry is already aligned with gravity (e.g., we are using a VIO approach). Gravity constraints are used by graph optimization only if \&quot;%s\&quot; is not zero.&quot;</span>, kOptimizerGravitySigma().c_str()));</div>
<div class="line"><a id="l00250" name="l00250"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9d6f381a9a0b59483fe9bfbfdda561ef"> 250</a></span> RTABMAP_PARAM(Mem, CovOffDiagIgnored, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Ignore off diagonal values of the covariance matrix.&quot;</span>);</div>
<div class="line"><a id="l00251" name="l00251"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae8628f043403b1e6b5d151e4502966a1"> 251</a></span> RTABMAP_PARAM(Mem, GlobalDescriptorStrategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Extract global descriptor from sensor data. 0=disabled, 1=PyDescriptor&quot;</span>);</div>
<div class="line"><a id="l00252" name="l00252"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a14b56aaa304f0a16640ab233cdf51699"> 252</a></span> RTABMAP_PARAM(Mem, RotateImagesUpsideUp, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Rotate images so that upside is up if they are not already. This can be useful in case the robots don&#39;t have all same camera orientation but are using the same map, so that not rotation-invariant visual features can still be used across the fleet.&quot;</span>);</div>
<div class="line"><a id="l00253" name="l00253"></a><span class="lineno"> 253</span> </div>
<div class="line"><a id="l00254" name="l00254"></a><span class="lineno"> 254</span> <span class="comment">// KeypointMemory (Keypoint-based)</span></div>
<div class="line"><a id="l00255" name="l00255"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2df3c573a24040a99c2204b15d40b3af"> 255</a></span> RTABMAP_PARAM(Kp, NNStrategy, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;FLANN Linear=0, FLANN KdTree=1, FLANN LSH=2, Brute Force=3, Brute Force GPU=4, FLANN KdTree Single=5, NanoFLANN KdTree=6&quot;</span>);</div>
<div class="line"><a id="l00256" name="l00256"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad7274a400277b33267ef1ee69aa528ee"> 256</a></span> RTABMAP_PARAM(Kp, IncrementalDictionary, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00257" name="l00257"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a66f0bded3fc68132c461caec2347d740"> 257</a></span> RTABMAP_PARAM(Kp, IncrementalFlann, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When using FLANN based strategy, add/remove points to its index without always rebuilding the index (the index is only rebuilt when too many of its features have been removed, see \&quot;%s\&quot;).&quot;</span>, kKpFlannRebalancingFactor().c_str()));</div>
<div class="line"><a id="l00258" name="l00258"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a48c34474ee0a9b6f8862688f2015fce8"> 258</a></span> RTABMAP_PARAM(Kp, FlannRebalancingFactor, <span class="keywordtype">float</span>, 2.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Rebuild the incremental FLANN index (see \&quot;%s\&quot;) once the ratio (factor-1)/factor of its features has been removed, e.g. half of them for a factor of 2. Rebuilding frees the memory of the removed features and speeds up the searches. Features are mostly removed when memory management is enabled (\&quot;%s\&quot; or \&quot;%s\&quot;). Set to 1 to never rebuild, which also uses less memory as the features don&#39;t have to be referenced one by one.&quot;</span>, kKpIncrementalFlann().c_str(), kRtabmapTimeThr().c_str(), kRtabmapMemoryThr().c_str()));</div>
<div class="line"><a id="l00259" name="l00259"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa4efa328145004e470dac002845d9edf"> 259</a></span> RTABMAP_PARAM(Kp, FlannThreads, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Number of threads used for FLANN kNN search (batched queries). Set to 0 for all available.&quot;</span>);</div>
<div class="line"><a id="l00260" name="l00260"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a65c89efe990caf9872456567afd54c71"> 260</a></span> RTABMAP_PARAM(Kp, ByteToFloat, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;For %s=1, binary descriptors are converted to float by converting each byte to float instead of converting each bit to float. When converting bytes instead of bits, less memory is used and search is faster at the cost of slightly less accurate matching.&quot;</span>, kKpNNStrategy().c_str()));</div>
<div class="line"><a id="l00261" name="l00261"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1d5841e95b1f505365866234f89b3d5f"> 261</a></span> RTABMAP_PARAM(Kp, MaxDepth, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Filter extracted keypoints by depth (0=inf).&quot;</span>);</div>
<div class="line"><a id="l00262" name="l00262"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aae97af028948e434ca9a6e48d1f1aa33"> 262</a></span> RTABMAP_PARAM(Kp, MinDepth, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Filter extracted keypoints by depth.&quot;</span>);</div>
<div class="line"><a id="l00263" name="l00263"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab21984b1a150eb9dc439ef3fd12c3410"> 263</a></span> RTABMAP_PARAM(Kp, MaxFeatures, <span class="keywordtype">int</span>, 500, <span class="stringliteral">&quot;Maximum features extracted from the images (0 means not bounded, &lt;0 means no extraction).&quot;</span>);</div>
<div class="line"><a id="l00264" name="l00264"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5f430747d74d7df265f20a5c83290ce9"> 264</a></span> RTABMAP_PARAM(Kp, SSC, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If true, SSC (Suppression via Square Covering) is applied to limit keypoints.&quot;</span>);</div>
<div class="line"><a id="l00265" name="l00265"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2d03d0083e112c34d7211c682f12b4b0"> 265</a></span> RTABMAP_PARAM(Kp, BadSignRatio, <span class="keywordtype">float</span>, 0.5, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Bad signature ratio. If %s=0, the ratio is computed from the average number of words per signature (less than Ratio x AverageWordsPerImage = bad).&quot;</span>, kKpMaxFeatures().c_str()));</div>
<div class="line"><a id="l00266" name="l00266"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa762b8106f1aa255aaea164c0c6834d8"> 266</a></span> RTABMAP_PARAM(Kp, NndrRatio, <span class="keywordtype">float</span>, 0.8, <span class="stringliteral">&quot;NNDR ratio (A matching pair is detected, if its distance is closer than X times the distance of the second nearest neighbor.)&quot;</span>);</div>
<div class="line"><a id="l00267" name="l00267"></a><span class="lineno"> 267</span><span class="preprocessor">#if CV_MAJOR_VERSION &gt; 2 &amp;&amp; !defined(HAVE_OPENCV_XFEATURES2D)</span></div>
<div class="line"><a id="l00268" name="l00268"></a><span class="lineno"> 268</span> <span class="comment">// OpenCV&gt;2 without xFeatures2D module doesn&#39;t have BRIEF</span></div>
<div class="line"><a id="l00269" name="l00269"></a><span class="lineno"> 269</span> RTABMAP_PARAM(Kp, DetectorStrategy, <span class="keywordtype">int</span>, 8, <span class="stringliteral">&quot;0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK 8=GFTT/ORB 9=KAZE 10=ORB-OCTREE 11=SuperPoint 12=SURF/FREAK 13=GFTT/DAISY 14=SURF/DAISY 15=PyDetector 16=SuperPoint-Rpautrat&quot;</span>);</div>
<div class="line"><a id="l00270" name="l00270"></a><span class="lineno"> 270</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00271" name="l00271"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afbe9d14ecea943aa7f67375648df0c4e"> 271</a></span> RTABMAP_PARAM(Kp, DetectorStrategy, <span class="keywordtype">int</span>, 6, <span class="stringliteral">&quot;0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK 8=GFTT/ORB 9=KAZE 10=ORB-OCTREE 11=SuperPoint 12=SURF/FREAK 13=GFTT/DAISY 14=SURF/DAISY 15=PyDetector 16=SuperPoint-Rpautrat&quot;</span>);</div>
<div class="line"><a id="l00272" name="l00272"></a><span class="lineno"> 272</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00273" name="l00273"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a899ab46fdc89303e0eca550c20d49f97"> 273</a></span> RTABMAP_PARAM(Kp, TfIdfLikelihoodUsed, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use of the td-idf strategy to compute the likelihood.&quot;</span>);</div>
<div class="line"><a id="l00274" name="l00274"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a57c85a044e33721d5f74c07ac0bb1774"> 274</a></span> RTABMAP_PARAM(Kp, Parallelized, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If the dictionary update and signature creation were parallelized.&quot;</span>);</div>
<div class="line"><a id="l00275" name="l00275"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6eb23a4101a03899cb749844d643a031"> 275</a></span> RTABMAP_PARAM_STR(Kp, RoiRatios, <span class="stringliteral">&quot;0.0 0.0 0.0 0.0&quot;</span>, <span class="stringliteral">&quot;Region of interest ratios [left, right, top, bottom].&quot;</span>);</div>
<div class="line"><a id="l00276" name="l00276"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a554c76ea763b4a63003a059c344e282c"> 276</a></span> RTABMAP_PARAM_STR(Kp, DictionaryPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path of the pre-computed dictionary&quot;</span>);</div>
<div class="line"><a id="l00277" name="l00277"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0bfe074e401d001341f2ad33ab860ff9"> 277</a></span> RTABMAP_PARAM(Kp, NewWordsComparedTogether, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;When adding new words to dictionary, they are compared also with each other (to detect same words in the same signature).&quot;</span>);</div>
<div class="line"><a id="l00278" name="l00278"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab13a284ca5975977d5434f6d95fef86b"> 278</a></span> RTABMAP_PARAM(Kp, FlannIndexSaved, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Save FLANN index during localization session (when %s=false). The FLANN index will be saved to database after the first time localization mode is used, then on next sessions, the index is reloaded from the database instead of being rebuilt again. This can save significant loading time when the visual word dictionary is big (&gt;1M words). Note that if the dictionary is modified (parameters or data), the index will be rebuilt and saved again on the next session. Ignored on initialization if %s is enabled.&quot;</span>, kMemIncrementalMemory().c_str(), kMemInitWMWithAllNodes().c_str()).c_str());</div>
<div class="line"><a id="l00279" name="l00279"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a27931d62192448763f478b5c64dffa6f"> 279</a></span> RTABMAP_PARAM(Kp, SerializeWithChecksum, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;On serialization of the FLANN index, compute checksum of the data used by the FLANN index. This adds a slight overhead on serialization/deserialization to make sure that the dictionary data correspond to same data used when the index was built.&quot;</span>);</div>
<div class="line"><a id="l00280" name="l00280"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1237fc0d0c27b7e9e02b2c0781e9eaec"> 280</a></span> RTABMAP_PARAM(Kp, SubPixWinSize, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;See cv::cornerSubPix().&quot;</span>);</div>
<div class="line"><a id="l00281" name="l00281"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa3759274713c3872bf8712e6176ef029"> 281</a></span> RTABMAP_PARAM(Kp, SubPixIterations, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;See cv::cornerSubPix(). 0 disables sub pixel refining.&quot;</span>);</div>
<div class="line"><a id="l00282" name="l00282"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a65d5b01115225f787942f558ae03c8da"> 282</a></span> RTABMAP_PARAM(Kp, SubPixEps, <span class="keywordtype">double</span>, 0.02, <span class="stringliteral">&quot;See cv::cornerSubPix().&quot;</span>);</div>
<div class="line"><a id="l00283" name="l00283"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6ac24bc6ad96363c6172a51ee7bf489c"> 283</a></span> RTABMAP_PARAM(Kp, GridRows, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Number of rows of the grid used to extract uniformly \&quot;%s / grid cells\&quot; features from each cell.&quot;</span>, kKpMaxFeatures().c_str()));</div>
<div class="line"><a id="l00284" name="l00284"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aea86ae4c7b844fed4fa2c65a0dffb6e4"> 284</a></span> RTABMAP_PARAM(Kp, GridCols, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Number of columns of the grid used to extract uniformly \&quot;%s / grid cells\&quot; features from each cell.&quot;</span>, kKpMaxFeatures().c_str()));</div>
<div class="line"><a id="l00285" name="l00285"></a><span class="lineno"> 285</span> </div>
<div class="line"><a id="l00286" name="l00286"></a><span class="lineno"> 286</span> <span class="comment">//Database</span></div>
<div class="line"><a id="l00287" name="l00287"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6328492132d4c825c2686be9b14a887f"> 287</a></span> RTABMAP_PARAM(DbSqlite3, InMemory, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Using database in the memory instead of a file on the hard disk.&quot;</span>);</div>
<div class="line"><a id="l00288" name="l00288"></a><span class="lineno"> 288</span> RTABMAP_PARAM(DbSqlite3, CacheSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 10000,</div>
<div class="line"><a id="l00289" name="l00289"></a><span class="lineno"> 289</span> <span class="stringliteral">&quot;PRAGMA cache_size: number of database pages kept in SQLite&#39;s page cache (approx. cacheSize * page_size bytes, often ~4 KiB per page). &quot;</span></div>
<div class="line"><a id="l00290" name="l00290"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5a884b150b992f3036e0edd2af41f982"> 290</a></span> <span class="stringliteral">&quot;Larger values reduce disk I/O when the working set fits in RAM. SQLite built-in default is typically 2000 pages.&quot;</span>);</div>
<div class="line"><a id="l00291" name="l00291"></a><span class="lineno"> 291</span> RTABMAP_PARAM(DbSqlite3, JournalMode, <span class="keywordtype">int</span>, 3,</div>
<div class="line"><a id="l00292" name="l00292"></a><span class="lineno"> 292</span> <span class="stringliteral">&quot;PRAGMA journal_mode: rollback journal storage. See sqlite.org/pragma.html#pragma_journal_mode for more details. &quot;</span></div>
<div class="line"><a id="l00293" name="l00293"></a><span class="lineno"> 293</span> <span class="stringliteral">&quot;0=DELETE (SQLite default): journal file deleted after each commit. &quot;</span></div>
<div class="line"><a id="l00294" name="l00294"></a><span class="lineno"> 294</span> <span class="stringliteral">&quot;1=TRUNCATE: journal truncated to zero length. &quot;</span></div>
<div class="line"><a id="l00295" name="l00295"></a><span class="lineno"> 295</span> <span class="stringliteral">&quot;2=PERSIST: journal file kept, header zeroed after commit. &quot;</span></div>
<div class="line"><a id="l00296" name="l00296"></a><span class="lineno"> 296</span> <span class="stringliteral">&quot;3=MEMORY: journal in RAM only; faster, weaker crash safety. &quot;</span></div>
<div class="line"><a id="l00297" name="l00297"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a092819342dd9653df6c864f005a54002"> 297</a></span> <span class="stringliteral">&quot;4=OFF: no journal; fastest, risk of corruption on crash.&quot;</span>);</div>
<div class="line"><a id="l00298" name="l00298"></a><span class="lineno"> 298</span> RTABMAP_PARAM(DbSqlite3, Synchronous, <span class="keywordtype">int</span>, 0,</div>
<div class="line"><a id="l00299" name="l00299"></a><span class="lineno"> 299</span> <span class="stringliteral">&quot;PRAGMA synchronous: how aggressively SQLite syncs the database to disk. See sqlite.org/pragma.html#pragma_synchronous for more details. &quot;</span></div>
<div class="line"><a id="l00300" name="l00300"></a><span class="lineno"> 300</span> <span class="stringliteral">&quot;0=OFF: no wait for persistent storage; fastest, corruption possible on power loss. &quot;</span></div>
<div class="line"><a id="l00301" name="l00301"></a><span class="lineno"> 301</span> <span class="stringliteral">&quot;1=NORMAL: sync at critical moments (common SQLite default with WAL). &quot;</span></div>
<div class="line"><a id="l00302" name="l00302"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#affc43d17e3aa571ace8661703fc7fe07"> 302</a></span> <span class="stringliteral">&quot;2=FULL (SQLite safest default): sync after every commit; slowest.&quot;</span>);</div>
<div class="line"><a id="l00303" name="l00303"></a><span class="lineno"> 303</span> RTABMAP_PARAM(DbSqlite3, TempStore, <span class="keywordtype">int</span>, 2,</div>
<div class="line"><a id="l00304" name="l00304"></a><span class="lineno"> 304</span> <span class="stringliteral">&quot;PRAGMA temp_store: where SQLite stores temporary tables and indices. See sqlite.org/pragma.html#pragma_temp_store for more details. &quot;</span></div>
<div class="line"><a id="l00305" name="l00305"></a><span class="lineno"> 305</span> <span class="stringliteral">&quot;0=DEFAULT: SQLite compile-time default (often on-disk temp files). &quot;</span></div>
<div class="line"><a id="l00306" name="l00306"></a><span class="lineno"> 306</span> <span class="stringliteral">&quot;1=FILE: temporary files in the system temp directory. &quot;</span></div>
<div class="line"><a id="l00307" name="l00307"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4ecff498d7aae4c909823e2470aa42d8"> 307</a></span> <span class="stringliteral">&quot;2=MEMORY: temporary data in RAM when possible.&quot;</span>);</div>
<div class="line"><a id="l00308" name="l00308"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a75ed80e64e48b43d9fdc78650943c182"> 308</a></span> RTABMAP_PARAM_STR(Db, TargetVersion, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Target database version for backward compatibility purpose. Only Major and minor versions are used and should be set (e.g., 0.19 vs 0.20 or 1.0 vs 2.0). Patch version is ignored (e.g., 0.20.1 and 0.20.3 will generate a 0.20 database).&quot;</span>);</div>
<div class="line"><a id="l00309" name="l00309"></a><span class="lineno"> 309</span> </div>
<div class="line"><a id="l00310" name="l00310"></a><span class="lineno"> 310</span> <span class="comment">// Keypoints descriptors/detectors</span></div>
<div class="line"><a id="l00311" name="l00311"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a53f85d547c5cc152962f311803a70fdf"> 311</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, Extended, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Extended descriptor flag (true - use extended 128-element descriptors; false - use 64-element descriptors).&quot;</span>);</div>
<div class="line"><a id="l00312" name="l00312"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab79bcf3220b95aafd2d1172359f26ae2"> 312</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, HessianThreshold, <span class="keywordtype">float</span>, 500, <span class="stringliteral">&quot;Threshold for hessian keypoint detector used in SURF.&quot;</span>);</div>
<div class="line"><a id="l00313" name="l00313"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae02e3fea01023968f7f269038f0e477a"> 313</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, Octaves, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;Number of pyramid octaves the keypoint detector will use.&quot;</span>);</div>
<div class="line"><a id="l00314" name="l00314"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4f35eb1553af531d3f4c59cc35f327bf"> 314</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, OctaveLayers, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Number of octave layers within each octave.&quot;</span>);</div>
<div class="line"><a id="l00315" name="l00315"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a372b88b3284dc01afcfabe4750964a64"> 315</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, Upright, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Up-right or rotated features flag (true - do not compute orientation of features; false - compute orientation).&quot;</span>);</div>
<div class="line"><a id="l00316" name="l00316"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa74df8b4c0b7b8fb769b1f33ca6a290d"> 316</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, GpuVersion, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;GPU-SURF: Use GPU version of SURF. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.&quot;</span>);</div>
<div class="line"><a id="l00317" name="l00317"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ace3c3edea85a3a6b2e073d14bdfb2ab7"> 317</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SURF.html">SURF</a>, GpuKeypointsRatio, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Used with SURF GPU.&quot;</span>);</div>
<div class="line"><a id="l00318" name="l00318"></a><span class="lineno"> 318</span> </div>
<div class="line"><a id="l00319" name="l00319"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a781567208efdfc12e71bd746ffab8207"> 319</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, NOctaveLayers, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;The number of layers in each octave. 3 is the value used in D. Lowe paper. The number of octaves is computed automatically from the image resolution. Not used by CudaSift, the number of octaves is still computed automatically.&quot;</span>);</div>
<div class="line"><a id="l00320" name="l00320"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adc01d33cd863ae0ade2628adcd6c63ae"> 320</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, ContrastThreshold, <span class="keywordtype">double</span>, 0.04, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;The contrast threshold used to filter out weak features in semi-uniform (low-contrast) regions. The larger the threshold, the less features are produced by the detector. Not used by CudaSift (see %s instead).&quot;</span>, kSIFTGaussianThreshold().c_str()));</div>
<div class="line"><a id="l00321" name="l00321"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9b6eb51827444f9f62d0ae9f4ab917a7"> 321</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, EdgeThreshold, <span class="keywordtype">double</span>, 10, <span class="stringliteral">&quot;The threshold used to filter out edge-like features. Note that the its meaning is different from the contrastThreshold, i.e. the larger the edgeThreshold, the less features are filtered out (more features are retained).&quot;</span>);</div>
<div class="line"><a id="l00322" name="l00322"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aca50d40cc689b8a88def05680f08f5da"> 322</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, Sigma, <span class="keywordtype">double</span>, 1.6, <span class="stringliteral">&quot;The sigma of the Gaussian applied to the input image at the octave #0. If your image is captured with a weak camera with soft lenses, you might want to reduce the number.&quot;</span>);</div>
<div class="line"><a id="l00323" name="l00323"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad80d2376a9730979d3d3f593cc92137c"> 323</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, PreciseUpscale, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Whether to enable precise upscaling in the scale pyramid (OpenCV &gt;= 4.8).&quot;</span>);</div>
<div class="line"><a id="l00324" name="l00324"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a588c11fb03b02d42df5240dc65cce418"> 324</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, RootSIFT, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Apply RootSIFT normalization of the descriptors.&quot;</span>);</div>
<div class="line"><a id="l00325" name="l00325"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a21d9a558dd10640d5b6a783ba5feea31"> 325</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, Gpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;CudaSift: Use GPU version of SIFT. This option is enabled only if RTAB-Map is built with CudaSift dependency and GPUs are detected.&quot;</span>);</div>
<div class="line"><a id="l00326" name="l00326"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3bf6aa344aab628f500b5e481175d55c"> 326</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, GaussianThreshold, <span class="keywordtype">float</span>, 2.0, <span class="stringliteral">&quot;CudaSift: Threshold on difference of Gaussians for feature pruning. The higher the threshold, the less features with low response/hessian are produced by the detector.&quot;</span>);</div>
<div class="line"><a id="l00327" name="l00327"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8600392dd5581a0ac428c998ea21b403"> 327</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, MaxGaussianThreshold, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;CudaSift: Maximum threshold on difference of Gaussians for feature pruning (ignored if smaller or equal than %s). The lower the threshold, the less features with high response/hessian are produced by the detector.&quot;</span>, kSIFTGaussianThreshold().c_str()));</div>
<div class="line"><a id="l00328" name="l00328"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5353494af0d7bfddbd330da6becef8f9"> 328</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SIFT.html">SIFT</a>, Upscale, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;CudaSift: Whether to enable upscaling.&quot;</span>);</div>
<div class="line"><a id="l00329" name="l00329"></a><span class="lineno"> 329</span> </div>
<div class="line"><a id="l00330" name="l00330"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afed3dda76ce941d77b7572b5556e3ae7"> 330</a></span> RTABMAP_PARAM(BRIEF, Bytes, <span class="keywordtype">int</span>, 32, <span class="stringliteral">&quot;Bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes.&quot;</span>);</div>
<div class="line"><a id="l00331" name="l00331"></a><span class="lineno"> 331</span> </div>
<div class="line"><a id="l00332" name="l00332"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a45d6c6be39871d8bda5fe5d4fe604178"> 332</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, Threshold, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Threshold on difference between intensity of the central pixel and pixels of a circle around this pixel.&quot;</span>);</div>
<div class="line"><a id="l00333" name="l00333"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adcf54f387eb8692e7588f51b510d2d7f"> 333</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, NonmaxSuppression, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If true, non-maximum suppression is applied to detected corners (keypoints).&quot;</span>);</div>
<div class="line"><a id="l00334" name="l00334"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a93ea5d1f5986e5b4369045f43d65a7ff"> 334</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, Gpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;GPU-FAST: Use GPU version of FAST. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.&quot;</span>);</div>
<div class="line"><a id="l00335" name="l00335"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb23ee4d8780efc2c9103bfd01b59b02"> 335</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, GpuKeypointsRatio, <span class="keywordtype">double</span>, 0.05, <span class="stringliteral">&quot;Used with FAST GPU.&quot;</span>);</div>
<div class="line"><a id="l00336" name="l00336"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9dd993e3616459eba668ffe59c8c476d"> 336</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, MinThreshold, <span class="keywordtype">int</span>, 7, <span class="stringliteral">&quot;Minimum threshold. Used only when FAST/GridRows and FAST/GridCols are set.&quot;</span>);</div>
<div class="line"><a id="l00337" name="l00337"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a201352771572624a745d46e8e06e06bd"> 337</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, MaxThreshold, <span class="keywordtype">int</span>, 200, <span class="stringliteral">&quot;Maximum threshold. Used only when FAST/GridRows and FAST/GridCols are set.&quot;</span>);</div>
<div class="line"><a id="l00338" name="l00338"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4766b8fdbe1f9cbb70db5395b6ccddd9"> 338</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, GridRows, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Grid rows (0 to disable). Adapts the detector to partition the source image into a grid and detect points in each cell.&quot;</span>);</div>
<div class="line"><a id="l00339" name="l00339"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1a9a9653aedaf49cc5d23644d364db7e"> 339</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, GridCols, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Grid cols (0 to disable). Adapts the detector to partition the source image into a grid and detect points in each cell.&quot;</span>);</div>
<div class="line"><a id="l00340" name="l00340"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8e98c4bff1a80612547d3e64af5dec5a"> 340</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1FAST.html">FAST</a>, CV, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Enable FastCV implementation if non-zero (and RTAB-Map is built with FastCV support). Values should be 9 and 10.&quot;</span>);</div>
<div class="line"><a id="l00341" name="l00341"></a><span class="lineno"> 341</span> </div>
<div class="line"><a id="l00342" name="l00342"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab445c47af2fe642eb50da3e97df547f2"> 342</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, QualityLevel, <span class="keywordtype">double</span>, 0.001, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00343" name="l00343"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3a223c759e077983bcf8b3445be5420b"> 343</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, MinDistance, <span class="keywordtype">double</span>, 7, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00344" name="l00344"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3ebd63265592876d33e12e4fed155671"> 344</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, BlockSize, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00345" name="l00345"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a69d1e44e3ee6901b066858a2a68b62a9"> 345</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, UseHarrisDetector, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00346" name="l00346"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a335fb3b20d447687808d82e2e0082e18"> 346</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, K, <span class="keywordtype">double</span>, 0.04, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00347" name="l00347"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af8e5d8e3f745dd0df0f59ec1bd864b78"> 347</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1GFTT.html">GFTT</a>, Gpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;GPU-GFTT: Use GPU version of GFTT. This option is enabled only if OpenCV&gt;=3 is built with CUDA and GPUs are detected.&quot;</span>);</div>
<div class="line"><a id="l00348" name="l00348"></a><span class="lineno"> 348</span> </div>
<div class="line"><a id="l00349" name="l00349"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2a0b519bfda2c164ac9765e5cafa298e"> 349</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, ScaleFactor, <span class="keywordtype">float</span>, 2, <span class="stringliteral">&quot;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.&quot;</span>);</div>
<div class="line"><a id="l00350" name="l00350"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abc8351dab8ba91e67ab33fd39240728c"> 350</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, NLevels, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;The number of pyramid levels. The smallest level will have linear size equal to input_image_linear_size/pow(scaleFactor, nlevels).&quot;</span>);</div>
<div class="line"><a id="l00351" name="l00351"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0f10206dac5e7ecfef51feb8c533f996"> 351</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, EdgeThreshold, <span class="keywordtype">int</span>, 19, <span class="stringliteral">&quot;This is size of the border where the features are not detected. It should roughly match the patchSize parameter.&quot;</span>);</div>
<div class="line"><a id="l00352" name="l00352"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1d9630d2b1c11e310279388894b4ac7f"> 352</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, FirstLevel, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;It should be 0 in the current implementation.&quot;</span>);</div>
<div class="line"><a id="l00353" name="l00353"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a03b2170e4675ea9a566b9b2e8474d04b"> 353</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, WTA_K, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;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).&quot;</span>);</div>
<div class="line"><a id="l00354" name="l00354"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae23c8c0a797337aff68aea63ab366045"> 354</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, ScoreType, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;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.&quot;</span>);</div>
<div class="line"><a id="l00355" name="l00355"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abeca7515070ae40463c94ec043d8a96c"> 355</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, PatchSize, <span class="keywordtype">int</span>, 31, <span class="stringliteral">&quot;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.&quot;</span>);</div>
<div class="line"><a id="l00356" name="l00356"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae59341ab604bc7a29bd2e6417b63e90e"> 356</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1ORB.html">ORB</a>, Gpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;GPU-ORB: Use GPU version of ORB. This option is enabled only if OpenCV is built with CUDA and GPUs are detected.&quot;</span>);</div>
<div class="line"><a id="l00357" name="l00357"></a><span class="lineno"> 357</span> </div>
<div class="line"><a id="l00358" name="l00358"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a53be4c4eb30ddfa4da53aa5b87798be8"> 358</a></span> RTABMAP_PARAM(FREAK, OrientationNormalized, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Enable orientation normalization.&quot;</span>);</div>
<div class="line"><a id="l00359" name="l00359"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae98cac5e506b63e2c242ed750b089364"> 359</a></span> RTABMAP_PARAM(FREAK, ScaleNormalized, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Enable scale normalization.&quot;</span>);</div>
<div class="line"><a id="l00360" name="l00360"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a73d5d5bb6c06505560060456bf0d8f21"> 360</a></span> RTABMAP_PARAM(FREAK, PatternScale, <span class="keywordtype">float</span>, 22, <span class="stringliteral">&quot;Scaling of the description pattern.&quot;</span>);</div>
<div class="line"><a id="l00361" name="l00361"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a054f06d5fe9f1d6b025b06dfd154ab6c"> 361</a></span> RTABMAP_PARAM(FREAK, NOctaves, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;Number of octaves covered by the detected keypoints.&quot;</span>);</div>
<div class="line"><a id="l00362" name="l00362"></a><span class="lineno"> 362</span> </div>
<div class="line"><a id="l00363" name="l00363"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4e7f9cdbc4f3297c47f8f4e3594d61ef"> 363</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1BRISK.html">BRISK</a>, Thresh, <span class="keywordtype">int</span>, 30, <span class="stringliteral">&quot;FAST/AGAST detection threshold score.&quot;</span>);</div>
<div class="line"><a id="l00364" name="l00364"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adf6fc76e9ad8d5155525240e4ef5a266"> 364</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1BRISK.html">BRISK</a>, Octaves, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Detection octaves. Use 0 to do single scale.&quot;</span>);</div>
<div class="line"><a id="l00365" name="l00365"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a697a20070d22285dfe9a3b70495b3883"> 365</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1BRISK.html">BRISK</a>, PatternScale, <span class="keywordtype">float</span>, 1,<span class="stringliteral">&quot;Apply this scale to the pattern used for sampling the neighbourhood of a keypoint.&quot;</span>);</div>
<div class="line"><a id="l00366" name="l00366"></a><span class="lineno"> 366</span> </div>
<div class="line"><a id="l00367" name="l00367"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7cb2bf7a6c30beec554cf991fad5f7d9"> 367</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, Extended, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Set to enable extraction of extended (128-byte) descriptor.&quot;</span>);</div>
<div class="line"><a id="l00368" name="l00368"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2944dca840e36bf2e0e82a081cde421f"> 368</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, Upright, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Set to enable use of upright descriptors (non rotation-invariant).&quot;</span>);</div>
<div class="line"><a id="l00369" name="l00369"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aff82ed202205cbb380d28bba97820b2c"> 369</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, Threshold, <span class="keywordtype">float</span>, 0.001, <span class="stringliteral">&quot;Detector response threshold to accept keypoint.&quot;</span>);</div>
<div class="line"><a id="l00370" name="l00370"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abb03d452f7c432f206dd38a675c6ef1e"> 370</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, NOctaves, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;Maximum octave evolution of the image.&quot;</span>);</div>
<div class="line"><a id="l00371" name="l00371"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6fff9e155ce10a31f6d3b8e5396d18a2"> 371</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, NOctaveLayers, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;Default number of sublevels per scale level.&quot;</span>);</div>
<div class="line"><a id="l00372" name="l00372"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a05fd79f518399c0dd6f9b6fded713c79"> 372</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1KAZE.html">KAZE</a>, Diffusivity, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Diffusivity type: 0=DIFF_PM_G1, 1=DIFF_PM_G2, 2=DIFF_WEICKERT or 3=DIFF_CHARBONNIER.&quot;</span>);</div>
<div class="line"><a id="l00373" name="l00373"></a><span class="lineno"> 373</span> </div>
<div class="line"><a id="l00374" name="l00374"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7937dcfbdddbb8ce94a24483c69e8379"> 374</a></span> RTABMAP_PARAM_STR(SuperPoint, ModelPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;[Required] Path to pre-trained weights Torch file of SuperPoint (*.pt).&quot;</span>);</div>
<div class="line"><a id="l00375" name="l00375"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ace5033f0007763fc93e65932b9041682"> 375</a></span> RTABMAP_PARAM(SuperPoint, Threshold, <span class="keywordtype">float</span>, 0.010, <span class="stringliteral">&quot;Detector response threshold to accept keypoint.&quot;</span>);</div>
<div class="line"><a id="l00376" name="l00376"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a52e41199a441d7faf8bca48bfb493f89"> 376</a></span> RTABMAP_PARAM(SuperPoint, NMS, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If true, non-maximum suppression is applied to detected keypoints.&quot;</span>);</div>
<div class="line"><a id="l00377" name="l00377"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a20b6d913f74764fc38f373315af31a4d"> 377</a></span> RTABMAP_PARAM(SuperPoint, NMSRadius, <span class="keywordtype">int</span>, 4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Minimum distance (pixels) between keypoints.&quot;</span>, kSuperPointNMS().c_str()));</div>
<div class="line"><a id="l00378" name="l00378"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac8736592c8be8e0d08532ddbbd67669c"> 378</a></span> RTABMAP_PARAM(SuperPoint, Cuda, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use Cuda device for Torch, otherwise CPU device is used by default.&quot;</span>);</div>
<div class="line"><a id="l00379" name="l00379"></a><span class="lineno"> 379</span> </div>
<div class="line"><a id="l00380" name="l00380"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a49c218c9619ea2185fce9487ecf718ab"> 380</a></span> RTABMAP_PARAM_STR(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, WeightsPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;[Required] SuperPoint weights file (*.pth).&quot;</span>);</div>
<div class="line"><a id="l00381" name="l00381"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8d5ea16300f98ab2a05b2f26ab7d647f"> 381</a></span> RTABMAP_PARAM_STR(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, ModelPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;[Required] SuperPoint python model file (superpoint_pytorch.py).&quot;</span>);</div>
<div class="line"><a id="l00382" name="l00382"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a69b146047ebb1870028729f0e7be3d50"> 382</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, Threshold, <span class="keywordtype">float</span>, 0.005, <span class="stringliteral">&quot;Detector response threshold to accept keypoint.&quot;</span>);</div>
<div class="line"><a id="l00383" name="l00383"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4182d2ab831934256d47ba166e24a926"> 383</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, NMS, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If true, non-maximum suppression is applied to detected keypoints.&quot;</span>);</div>
<div class="line"><a id="l00384" name="l00384"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a22fe1cd294532b26ef49e4298a69e26b"> 384</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, NMSRadius, <span class="keywordtype">int</span>, 4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Minimum distance (pixels) between keypoints.&quot;</span>, kSuperPointRpautratNMS().c_str()));</div>
<div class="line"><a id="l00385" name="l00385"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a41f09de77ae04f8a2045d03101754cd7"> 385</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1SuperPointRpautrat.html">SuperPointRpautrat</a>, Cuda, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use Cuda device for Torch, otherwise CPU device is used by default.&quot;</span>);</div>
<div class="line"><a id="l00386" name="l00386"></a><span class="lineno"> 386</span> </div>
<div class="line"><a id="l00387" name="l00387"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a12dd2fc3f9ffd3c563d577c64fa890c0"> 387</a></span> RTABMAP_PARAM_STR(PyDetector, Path, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path to python script file (see available ones in rtabmap/corelib/src/python/*). See the header to see where the script should be copied.&quot;</span>);</div>
<div class="line"><a id="l00388" name="l00388"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a67de62af4a854432733f5cd4121532fa"> 388</a></span> RTABMAP_PARAM(PyDetector, Cuda, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use cuda.&quot;</span>);</div>
<div class="line"><a id="l00389" name="l00389"></a><span class="lineno"> 389</span> </div>
<div class="line"><a id="l00390" name="l00390"></a><span class="lineno"> 390</span> <span class="comment">// BayesFilter</span></div>
<div class="line"><a id="l00391" name="l00391"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aeb4f9762df3e027594ed16c2028d537e"> 391</a></span> RTABMAP_PARAM(Bayes, VirtualPlacePriorThr, <span class="keywordtype">float</span>, 0.9, <span class="stringliteral">&quot;Virtual place prior. Considering that we are at a new place, this is the prior probability to move again to a new place (unvisited location). The prior probability to move to a previously visited location is 1 - VirtualPlacePriorThr (split equally against all previously visited locations).&quot;</span>);</div>
<div class="line"><a id="l00392" name="l00392"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4c911439d8366cb6a15cc106d051ba70"> 392</a></span> RTABMAP_PARAM_STR(Bayes, PredictionLC, <span class="stringliteral">&quot;0.1 0.36 0.30 0.16 0.062 0.0151 0.00255 0.000324 2.5e-05 1e-06 4.8e-08 1.2e-09 1.9e-11 2.2e-13 1.7e-15 8.5e-18 2.9e-20 6.9e-23&quot;</span>, <span class="stringliteral">&quot;Prediction of loop closures (Gaussian-like, here with sigma=1.6) - Format: {VirtualPlaceProb, LoopClosureProb, NeighborLvl1, NeighborLvl2, ...}. Considering we are at a previously visited location, the first value is the probability to move to a new place (unvisited location), the second value is the probability to stay at the same location, the third value is the probability to move to a neighbor or loop closure at the first depth level, the fourth value is the probability to move to a neighbor or loop closure at the second depth level, etc. If the sum of the values is not 1, the difference is normalized against all remaining visited locations. Normally, the sum of these values should be 1.&quot;</span>);</div>
<div class="line"><a id="l00393" name="l00393"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acb494af5ed2d49e5d97c7df1b6a38a18"> 393</a></span> RTABMAP_PARAM(Bayes, FullPredictionUpdate, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Regenerate all the prediction matrix on each iteration (otherwise only removed/added ids are updated).&quot;</span>);</div>
<div class="line"><a id="l00394" name="l00394"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4c7834c4fbf9488336a0d1eb54ba6596"> 394</a></span> RTABMAP_PARAM(Bayes, SparsePrediction, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Use a sparse representation of the prediction instead of a dense matrix, which significantly reduces memory usage and processing time on large maps. Ignored when the values of %s sum to less than 1, as the prediction is then not sparse.&quot;</span>, kBayesPredictionLC().c_str()).c_str());</div>
<div class="line"><a id="l00395" name="l00395"></a><span class="lineno"> 395</span> </div>
<div class="line"><a id="l00396" name="l00396"></a><span class="lineno"> 396</span> <span class="comment">// Verify hypotheses</span></div>
<div class="line"><a id="l00397" name="l00397"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a55d159a1f4d432f77b50cde8b642439e"> 397</a></span> RTABMAP_PARAM(VhEp, Enabled, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Verify visual loop closure hypothesis by computing a fundamental matrix. This is done prior to transformation computation when %s is enabled.&quot;</span>, kRGBDEnabled().c_str()));</div>
<div class="line"><a id="l00398" name="l00398"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0247195ecf1fe7fa766ae79bd49e03e0"> 398</a></span> RTABMAP_PARAM(VhEp, MatchCountMin, <span class="keywordtype">int</span>, 8, <span class="stringliteral">&quot;Minimum of matching visual words pairs to accept the loop hypothesis.&quot;</span>);</div>
<div class="line"><a id="l00399" name="l00399"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a63632c5cbe1f0b13fbc1bb7ed558d61f"> 399</a></span> RTABMAP_PARAM(VhEp, RansacParam1, <span class="keywordtype">float</span>, 3, <span class="stringliteral">&quot;Fundamental matrix (see cvFindFundamentalMat()): Max distance (in pixels) from the epipolar line for a point to be inlier.&quot;</span>);</div>
<div class="line"><a id="l00400" name="l00400"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4adc701cd2e1d9ee639cf26d41b0a548"> 400</a></span> RTABMAP_PARAM(VhEp, RansacParam2, <span class="keywordtype">float</span>, 0.99, <span class="stringliteral">&quot;Fundamental matrix (see cvFindFundamentalMat()): Performance of RANSAC.&quot;</span>);</div>
<div class="line"><a id="l00401" name="l00401"></a><span class="lineno"> 401</span> </div>
<div class="line"><a id="l00402" name="l00402"></a><span class="lineno"> 402</span> <span class="comment">// RGB-D SLAM</span></div>
<div class="line"><a id="l00403" name="l00403"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac5704dfa1a8d2f498aa41dd22e2fad96"> 403</a></span> RTABMAP_PARAM(RGBD, Enabled, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Activate metric SLAM. If set to false, classic RTAB-Map loop closure detection is done using only images and without any metric information.&quot;</span>);</div>
<div class="line"><a id="l00404" name="l00404"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6a5e27ec1dd5895cdc044b15f933847c"> 404</a></span> RTABMAP_PARAM(RGBD, LinearUpdate, <span class="keywordtype">float</span>, 0.1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Minimum linear displacement (m) to update the map. Rehearsal is done prior to this, so weights are still updated. To update the map when not moving, both %s and %s should be set to 0.&quot;</span>, Parameters::kRGBDLinearUpdate().c_str(), Parameters::kRGBDAngularUpdate().c_str()));</div>
<div class="line"><a id="l00405" name="l00405"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb7eb4db84edfdc8e5db6dd5a223735d"> 405</a></span> RTABMAP_PARAM(RGBD, AngularUpdate, <span class="keywordtype">float</span>, 0.1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Minimum angular displacement (rad) to update the map. Rehearsal is done prior to this, so weights are still updated. To update the map when not moving, both %s and %s should be set to 0.&quot;</span>, Parameters::kRGBDLinearUpdate().c_str(), Parameters::kRGBDAngularUpdate().c_str()));</div>
<div class="line"><a id="l00406" name="l00406"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf25ea9452edef26470859b2fa3a18b0"> 406</a></span> RTABMAP_PARAM(RGBD, LinearSpeedUpdate, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Maximum linear speed (m/s) to update the map (0 means not limit).&quot;</span>);</div>
<div class="line"><a id="l00407" name="l00407"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4bfae76169252ef1b605a3de2cffb79b"> 407</a></span> RTABMAP_PARAM(RGBD, AngularSpeedUpdate, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Maximum angular speed (rad/s) to update the map (0 means not limit).&quot;</span>);</div>
<div class="line"><a id="l00408" name="l00408"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa0280b8578239d72dc63137145c0a26e"> 408</a></span> RTABMAP_PARAM(RGBD, AggressiveLoopThr, <span class="keywordtype">float</span>, 0.05, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Loop closure threshold used (overriding %s) when a new mapping session is not yet linked to a map of the highest loop closure hypothesis. In localization mode, this threshold is used when there are no loop closure constraints with any map in the cache (%s). In all cases, the goal is to aggressively loop on a previous map in the database. Only used when %s is enabled. Set 1 to disable.&quot;</span>, kRtabmapLoopThr().c_str(), kRGBDMaxOdomCacheSize().c_str(), kRGBDEnabled().c_str()));</div>
<div class="line"><a id="l00409" name="l00409"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a382348a9c98d6dcde1612d4886747777"> 409</a></span> RTABMAP_PARAM(RGBD, NewMapOdomChangeDistance, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;A new map is created if a change of odometry translation greater than X m is detected (0 m = disabled).&quot;</span>);</div>
<div class="line"><a id="l00410" name="l00410"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac6fe48a78f487f8bd8973166c54c94ea"> 410</a></span> RTABMAP_PARAM(RGBD, OptimizeFromGraphEnd, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;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 node of the current graph, but it can be useful to preserve the map referential from the oldest node). 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).&quot;</span>);</div>
<div class="line"><a id="l00411" name="l00411"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a34706ecf0c565f91077916bb3b1df82d"> 411</a></span> RTABMAP_PARAM(RGBD, OptimizeMaxError, <span class="keywordtype">float</span>, 3.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Reject loop closures if optimization error ratio is greater than this value (0=disabled). Ratio is computed as absolute error over standard deviation of each link. This will help to detect when a wrong loop closure is added to the graph. If used with \&quot;%s\&quot;, the disabled loop closure links will be removed.&quot;</span>, kOptimizerRobust().c_str()));</div>
<div class="line"><a id="l00412" name="l00412"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acbf5f04306c6009925f517397b804b16"> 412</a></span> RTABMAP_PARAM(RGBD, OptimizeMaxErrorRepairRadius, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If two consecutive loop closures are rejected by %s on the same old loop closure link, we will remove that old link, and other old links under that radius if necessary, until optimization is accepted. When optimization is accepted, the old loop closure links are removed from the graph. This feature is useful to reject bad loop closures that were accepted previously. Set to 0 to disable this feature.&quot;</span>, kRGBDOptimizeMaxError().c_str()));</div>
<div class="line"><a id="l00413" name="l00413"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6ccc6b27ed352368d401cb2eadf4aef9"> 413</a></span> RTABMAP_PARAM(RGBD, MaxLoopClosureDistance, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Reject loop closures/localizations if the distance from the map is over this distance (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00414" name="l00414"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acd5a7917273e734f113b670f2fe6f0f2"> 414</a></span> RTABMAP_PARAM(RGBD, ForceOdom3DoF, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Force odometry pose to be 3DoF if %s=true.&quot;</span>, kRegForce3DoF().c_str()));</div>
<div class="line"><a id="l00415" name="l00415"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae9008be85b56ced7a1a0380d6403b4f4"> 415</a></span> RTABMAP_PARAM(RGBD, StartAtOrigin, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If true, rtabmap will assume the robot is starting from origin of the map. If false, rtabmap will assume the robot is restarting from the last saved localization pose from previous session (the place where it shut down previously). Used only in localization mode (%s=false).&quot;</span>, kMemIncrementalMemory().c_str()));</div>
<div class="line"><a id="l00416" name="l00416"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aef2ac63e326b9fd31c4aecd71c57a485"> 416</a></span> RTABMAP_PARAM(RGBD, GoalReachedRadius, <span class="keywordtype">float</span>, 0.5, <span class="stringliteral">&quot;Goal reached radius (m).&quot;</span>);</div>
<div class="line"><a id="l00417" name="l00417"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4b1e69675edd82c0e91786c10a1a8670"> 417</a></span> RTABMAP_PARAM(RGBD, PlanStuckIterations, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Mark the current goal node on the path as unreachable if it is not updated after X iterations (0=disabled). If all upcoming nodes on the path are unreachabled, the plan fails.&quot;</span>);</div>
<div class="line"><a id="l00418" name="l00418"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0ea9c8facb5cb321f3741e2bedacb4a6"> 418</a></span> RTABMAP_PARAM(RGBD, PlanLinearVelocity, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Linear velocity (m/sec) used to compute path weights.&quot;</span>);</div>
<div class="line"><a id="l00419" name="l00419"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aebb28a5fbb4e6d36ccd3c3fc67e8e604"> 419</a></span> RTABMAP_PARAM(RGBD, PlanAngularVelocity, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Angular velocity (rad/sec) used to compute path weights.&quot;</span>);</div>
<div class="line"><a id="l00420" name="l00420"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afeb3cc8064aa5bcb10b547565764f938"> 420</a></span> RTABMAP_PARAM(RGBD, GoalsSavedInUserData, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;When a goal is received and processed with success, it is saved in user data of the location with this format: \&quot;GOAL:#\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00421" name="l00421"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab6a66375f993df5e2f4c8f20e42aaca6"> 421</a></span> RTABMAP_PARAM(RGBD, MaxLocalRetrieved, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Maximum local locations retrieved (0=disabled) near the current pose in the local map or on the current planned path (those on the planned path have priority).&quot;</span>);</div>
<div class="line"><a id="l00422" name="l00422"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acf286a0736091c5249eb7b3e745ce3e1"> 422</a></span> RTABMAP_PARAM(RGBD, LocalRadius, <span class="keywordtype">float</span>, 10, <span class="stringliteral">&quot;Local radius (m) for nodes selection in the local map. This parameter is used in some approaches about the local map management.&quot;</span>);</div>
<div class="line"><a id="l00423" name="l00423"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a75e80116239ca237f05b5030dbddff94"> 423</a></span> RTABMAP_PARAM(RGBD, LocalImmunizationRatio, <span class="keywordtype">float</span>, 0.25, <span class="stringliteral">&quot;Ratio of working memory for which local nodes are immunized from transfer.&quot;</span>);</div>
<div class="line"><a id="l00424" name="l00424"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a55e477f21db71f035354857824cdae62"> 424</a></span> RTABMAP_PARAM(RGBD, ScanMatchingIdsSavedInLinks, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Save scan matching IDs from one-to-many proximity detection in link&#39;s user data.&quot;</span>);</div>
<div class="line"><a id="l00425" name="l00425"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a43cd30d28fef96ead5dad3681918512a"> 425</a></span> RTABMAP_PARAM(RGBD, NeighborLinkRefining, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When a new node is added to the graph, the transformation of its neighbor link to the previous node is refined using registration approach selected (%s).&quot;</span>, kRegStrategy().c_str()));</div>
<div class="line"><a id="l00426" name="l00426"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3a91dafa1048d1c378960782f9a7c88e"> 426</a></span> RTABMAP_PARAM(RGBD, LoopClosureIdentityGuess, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Use Identity matrix as guess when computing loop closure transform, otherwise no guess is used, thus assuming that registration strategy selected (%s) can deal with transformation estimation without guess.&quot;</span>, kRegStrategy().c_str()));</div>
<div class="line"><a id="l00427" name="l00427"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afd0bc554dfe35e65fa9bbefdf917cfcf"> 427</a></span> RTABMAP_PARAM(RGBD, LoopClosureReextractFeatures, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Extract features even if there are some already in the nodes. Raw features are not saved in database.&quot;</span>);</div>
<div class="line"><a id="l00428" name="l00428"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3a04224f5cae1e13997bed67bfdf2421"> 428</a></span> RTABMAP_PARAM(RGBD, LocalBundleOnLoopClosure, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Do local bundle adjustment with neighborhood of the loop closure.&quot;</span>);</div>
<div class="line"><a id="l00429" name="l00429"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8a43f35d5d3ff84ea040d11c67f06cd3"> 429</a></span> RTABMAP_PARAM(RGBD, InvertedReg, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;On loop closure, do registration from the target to reference instead of reference to target.&quot;</span>);</div>
<div class="line"><a id="l00430" name="l00430"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aad44b21f15d9893f9447419a12432ba1"> 430</a></span> RTABMAP_PARAM(RGBD, CreateOccupancyGrid, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Create local occupancy grid maps. See \&quot;Grid\&quot; group for parameters.&quot;</span>);</div>
<div class="line"><a id="l00431" name="l00431"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac8fa2190bca9a03f92fe33d3ad4052d6"> 431</a></span> RTABMAP_PARAM(RGBD, MarkerDetection, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Detect static markers to be added as landmarks for graph optimization. If input data have already landmarks, this will be ignored. See \&quot;Marker\&quot; group for parameters.&quot;</span>);</div>
<div class="line"><a id="l00432" name="l00432"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abc8740cd9ff03f46b8c4838b1e79a9b1"> 432</a></span> RTABMAP_PARAM(RGBD, LoopCovLimited, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Limit covariance of non-neighbor links to minimum covariance of neighbor links. In other words, if covariance of a loop closure link is smaller than the minimum covariance of odometry links, its covariance is set to minimum covariance of odometry links.&quot;</span>);</div>
<div class="line"><a id="l00433" name="l00433"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a20604ab3e4ca41289cf8143b73b825bf"> 433</a></span> RTABMAP_PARAM(RGBD, MaxOdomCacheSize, <span class="keywordtype">int</span>, 10, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Maximum odometry cache size. Used only in localization mode (when %s=false). This is used to get smoother localizations and to verify localization transforms (when %s!=0) to make sure we don&#39;t teleport to a location very similar to one we previously localized on. Set 0 to disable caching.&quot;</span>, kMemIncrementalMemory().c_str(), kRGBDOptimizeMaxError().c_str()));</div>
<div class="line"><a id="l00434" name="l00434"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0411f730d9d60eba47de4135c54ae517"> 434</a></span> RTABMAP_PARAM(RGBD, LocalizationSmoothing, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Adjust localization constraints based on optimized odometry cache poses (when %s&gt;0).&quot;</span>, kRGBDMaxOdomCacheSize().c_str()));</div>
<div class="line"><a id="l00435" name="l00435"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3ea147a3dcb325d1dd8245d5ac6c355a"> 435</a></span> RTABMAP_PARAM(RGBD, LocalizationPriorError, <span class="keywordtype">double</span>, 0.001, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;The corresponding variance (error x error) set to priors of the map&#39;s poses during localization (when %s&gt;0).&quot;</span>, kRGBDMaxOdomCacheSize().c_str()));</div>
<div class="line"><a id="l00436" name="l00436"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a29069e6e4a55635bf0c553353a309386"> 436</a></span> RTABMAP_PARAM(RGBD, LocalizationSecondTryWithoutProximityLinks, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When localization is rejected by graph optimization validation, try a second time without proximity links if landmark or loop closure links are also present in odometry cache (see %s). If it succeeds, the proximity links are removed. This assumes that global loop closure and landmark links are more accurate than proximity links.&quot;</span>, kRGBDMaxOdomCacheSize().c_str()));</div>
<div class="line"><a id="l00437" name="l00437"></a><span class="lineno"> 437</span> </div>
<div class="line"><a id="l00438" name="l00438"></a><span class="lineno"> 438</span> <span class="comment">// Local/Proximity loop closure detection</span></div>
<div class="line"><a id="l00439" name="l00439"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9a1572edf65d9b14ff26fdb2f7041bb8"> 439</a></span> RTABMAP_PARAM(RGBD, ProximityByTime, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Detection over all locations in STM.&quot;</span>);</div>
<div class="line"><a id="l00440" name="l00440"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9df84bca361ba3bef08c626dc2f1abc5"> 440</a></span> RTABMAP_PARAM(RGBD, ProximityBySpace, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Detection over locations (in Working Memory) near in space.&quot;</span>);</div>
<div class="line"><a id="l00441" name="l00441"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a63616e8796fa3ddab768591a031cd122"> 441</a></span> RTABMAP_PARAM(RGBD, ProximityMaxGraphDepth, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;Maximum depth from the current/last loop closure location and the local loop closure hypotheses. Set 0 to ignore.&quot;</span>);</div>
<div class="line"><a id="l00442" name="l00442"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1b207ec20b49719f0c2849a3009ed50b"> 442</a></span> RTABMAP_PARAM(RGBD, ProximityMaxPaths, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Maximum paths compared (from the most recent) for proximity detection. 0 means no limit.&quot;</span>);</div>
<div class="line"><a id="l00443" name="l00443"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2883511bedcc4c220754ea93b6e08525"> 443</a></span> RTABMAP_PARAM(RGBD, ProximityPathFilteringRadius, <span class="keywordtype">float</span>, 1, <span class="stringliteral">&quot;Path filtering radius to reduce the number of nodes to compare in a path in one-to-many proximity detection. The nearest node in a path should be inside that radius to be considered for one-to-one proximity detection.&quot;</span>);</div>
<div class="line"><a id="l00444" name="l00444"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a317c5dcf56c171dc06b8734322ef71c5"> 444</a></span> RTABMAP_PARAM(RGBD, ProximityPathMaxNeighbors, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Maximum neighbor nodes compared on each path for one-to-many proximity detection. Set to 0 to disable one-to-many proximity detection (by merging the laser scans).&quot;</span>);</div>
<div class="line"><a id="l00445" name="l00445"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af8d84436a760061ced713ccba723dafd"> 445</a></span> RTABMAP_PARAM(RGBD, ProximityPathRawPosesUsed, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;When comparing to a local path for one-to-many proximity detection, merge the scans using the odometry poses (with neighbor link optimizations) instead of the ones in the optimized local graph.&quot;</span>);</div>
<div class="line"><a id="l00446" name="l00446"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afdb1d6a1d9574cbca1c8709f35e26130"> 446</a></span> RTABMAP_PARAM(RGBD, ProximityAngle, <span class="keywordtype">float</span>, 45, <span class="stringliteral">&quot;Maximum angle (degrees) for one-to-one proximity detection.&quot;</span>);</div>
<div class="line"><a id="l00447" name="l00447"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a06df8e609e0574dd3428b8056e33b9f1"> 447</a></span> RTABMAP_PARAM(RGBD, ProximityOdomGuess, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Use odometry as motion guess for one-to-one proximity detection.&quot;</span>);</div>
<div class="line"><a id="l00448" name="l00448"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a92466baf9167fd0afb22b7f9eefa8c0b"> 448</a></span> RTABMAP_PARAM(RGBD, ProximityGlobalScanMap, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Create a global assembled map from laser scans for one-to-many proximity detection, replacing the original one-to-many proximity detection (i.e., detection against local paths). Only used in localization mode (%s=false), otherwise original one-to-many proximity detection is done. Note also that if graph is modified (i.e., memory management is enabled or robot jumps from one disjoint session to another in same database), the global scan map is cleared and one-to-many proximity detection is reverted to original approach.&quot;</span>, kMemIncrementalMemory().c_str()));</div>
<div class="line"><a id="l00449" name="l00449"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0b12eea42081e74fb478aee4754d66bf"> 449</a></span> RTABMAP_PARAM(RGBD, ProximityMergedScanCovFactor, <span class="keywordtype">double</span>, 100.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Covariance factor for one-to-many proximity detection (when %s&gt;0 and scans are used).&quot;</span>, kRGBDProximityPathMaxNeighbors().c_str()));</div>
<div class="line"><a id="l00450" name="l00450"></a><span class="lineno"> 450</span> </div>
<div class="line"><a id="l00451" name="l00451"></a><span class="lineno"> 451</span> <span class="comment">// Graph optimization</span></div>
<div class="line"><a id="l00452" name="l00452"></a><span class="lineno"> 452</span><span class="preprocessor">#ifdef RTABMAP_GTSAM</span></div>
<div class="line"><a id="l00453" name="l00453"></a><span class="lineno"> 453</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Strategy, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Graph optimization strategy: 0=TORO, 1=g2o, 2=GTSAM and 3=Ceres.&quot;</span>);</div>
<div class="line"><a id="l00454" name="l00454"></a><span class="lineno"> 454</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Iterations, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Optimization iterations.&quot;</span>);</div>
<div class="line"><a id="l00455" name="l00455"></a><span class="lineno"> 455</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Epsilon, <span class="keywordtype">double</span>, 0.00001, <span class="stringliteral">&quot;Stop optimizing when the error improvement is less than this value.&quot;</span>);</div>
<div class="line"><a id="l00456" name="l00456"></a><span class="lineno"> 456</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00457" name="l00457"></a><span class="lineno"> 457</span><span class="preprocessor">#ifdef RTABMAP_G2O</span></div>
<div class="line"><a id="l00458" name="l00458"></a><span class="lineno"> 458</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Strategy, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Graph optimization strategy: 0=TORO, 1=g2o, 2=GTSAM and 3=Ceres.&quot;</span>);</div>
<div class="line"><a id="l00459" name="l00459"></a><span class="lineno"> 459</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Iterations, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Optimization iterations.&quot;</span>);</div>
<div class="line"><a id="l00460" name="l00460"></a><span class="lineno"> 460</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Epsilon, <span class="keywordtype">double</span>, 0.0, <span class="stringliteral">&quot;Stop optimizing when the error improvement is less than this value.&quot;</span>);</div>
<div class="line"><a id="l00461" name="l00461"></a><span class="lineno"> 461</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00462" name="l00462"></a><span class="lineno"> 462</span><span class="preprocessor">#ifdef RTABMAP_CERES</span></div>
<div class="line"><a id="l00463" name="l00463"></a><span class="lineno"> 463</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Strategy, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Graph optimization strategy: 0=TORO, 1=g2o, 2=GTSAM and 3=Ceres.&quot;</span>);</div>
<div class="line"><a id="l00464" name="l00464"></a><span class="lineno"> 464</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Iterations, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Optimization iterations.&quot;</span>);</div>
<div class="line"><a id="l00465" name="l00465"></a><span class="lineno"> 465</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Epsilon, <span class="keywordtype">double</span>, 0.000001, <span class="stringliteral">&quot;Stop optimizing when the error improvement is less than this value.&quot;</span>);</div>
<div class="line"><a id="l00466" name="l00466"></a><span class="lineno"> 466</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00467" name="l00467"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a09eb562dd5700d848c1e8ccfa161e94e"> 467</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Strategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Graph optimization strategy: 0=TORO, 1=g2o, 2=GTSAM and 3=Ceres.&quot;</span>);</div>
<div class="line"><a id="l00468" name="l00468"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a88a7018a56b4e6c7c0ceb8e11286f319"> 468</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Iterations, <span class="keywordtype">int</span>, 100, <span class="stringliteral">&quot;Optimization iterations.&quot;</span>);</div>
<div class="line"><a id="l00469" name="l00469"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8fb0df24ed2d24a013abc03828f43acc"> 469</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Epsilon, <span class="keywordtype">double</span>, 0.00001, <span class="stringliteral">&quot;Stop optimizing when the error improvement is less than this value.&quot;</span>);</div>
<div class="line"><a id="l00470" name="l00470"></a><span class="lineno"> 470</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00471" name="l00471"></a><span class="lineno"> 471</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00472" name="l00472"></a><span class="lineno"> 472</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00473" name="l00473"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad329ace1333ac8c94cd4043b58173f1b"> 473</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, VarianceIgnored, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Ignore constraints&#39; variance. If checked, identity information matrix is used for each constraint. Otherwise, an information matrix is generated from the variance saved in the links.&quot;</span>);</div>
<div class="line"><a id="l00474" name="l00474"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2a83a1c7b7cc3dfe1b03bd9c10a437fd"> 474</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Robust, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Robust graph optimization using Vertigo (only work for g2o and GTSAM optimization strategies).&quot;</span>);</div>
<div class="line"><a id="l00475" name="l00475"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6394c7cc99dca72faf68799adc89ffd7"> 475</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, PriorsIgnored, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Ignore prior constraints (global pose, GPS or marker priors) while optimizing. Currently only g2o and gtsam optimization supports this.&quot;</span>);</div>
<div class="line"><a id="l00476" name="l00476"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a45cdc34f61574e7de40f2d4a822b1ca6"> 476</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, LandmarksIgnored, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Ignore landmark constraints while optimizing. Currently only g2o and gtsam optimization supports this.&quot;</span>);</div>
<div class="line"><a id="l00477" name="l00477"></a><span class="lineno"> 477</span><span class="preprocessor">#if defined(RTABMAP_G2O) || defined(RTABMAP_GTSAM)</span></div>
<div class="line"><a id="l00478" name="l00478"></a><span class="lineno"> 478</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, GravitySigma, <span class="keywordtype">float</span>, 0.3, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Gravity sigma value (&gt;=0, typically between 0.1 and 0.3). Optimization is done while preserving gravity orientation of the poses. This should be used only with visual/lidar inertial odometry approaches, for which we assume that all odometry poses are aligned with gravity. Set to 0 to disable gravity constraints. Currently supported only with g2o and GTSAM optimization strategies (see %s).&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00479" name="l00479"></a><span class="lineno"> 479</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00480" name="l00480"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a88fab03b485f103123fad036a536c71a"> 480</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, GravitySigma, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Gravity sigma value (&gt;=0, typically between 0.1 and 0.3). Optimization is done while preserving gravity orientation of the poses. This should be used only with visual/lidar inertial odometry approaches, for which we assume that all odometry poses are aligned with gravity. Set to 0 to disable gravity constraints. Currently supported only with g2o and GTSAM optimization strategies (see %s).&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00481" name="l00481"></a><span class="lineno"> 481</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00482" name="l00482"></a><span class="lineno"> 482</span> </div>
<div class="line"><a id="l00483" name="l00483"></a><span class="lineno"> 483</span><span class="preprocessor">#ifdef RTABMAP_ORB_SLAM</span></div>
<div class="line"><a id="l00484" name="l00484"></a><span class="lineno"> 484</span> RTABMAP_PARAM(g2o, Solver, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;0=csparse 1=pcg 2=cholmod 3=Eigen&quot;</span>);</div>
<div class="line"><a id="l00485" name="l00485"></a><span class="lineno"> 485</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00486" name="l00486"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7f1b92b3088d718e32d474a31190498a"> 486</a></span> RTABMAP_PARAM(g2o, Solver, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=csparse 1=pcg 2=cholmod 3=Eigen&quot;</span>);</div>
<div class="line"><a id="l00487" name="l00487"></a><span class="lineno"> 487</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00488" name="l00488"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a01a1c280ff72e8b57b9ee3281d5a9b7b"> 488</a></span> RTABMAP_PARAM(g2o, <a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=Levenberg 1=GaussNewton&quot;</span>);</div>
<div class="line"><a id="l00489" name="l00489"></a><span class="lineno"> 489</span> </div>
<div class="line"><a id="l00490" name="l00490"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a62219439aa503751ef54d6476e0ef5c2"> 490</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, Baseline, <span class="keywordtype">double</span>, 0.075, <span class="stringliteral">&quot;When doing bundle adjustment with RGB-D data (mono camera + depth), set a fake baseline (m) so the BA backend treats depth as stereo disparity. Applies to all BA-capable backends (g2o, GTSAM, Ceres). Set to 0 to keep the problem mono (depth observations are ignored). For real stereo data the baseline in the calibration (Tx) is used directly.&quot;</span>);</div>
<div class="line"><a id="l00491" name="l00491"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aac621d5d3acba7b0d9a9b5dcd52f7d4f"> 491</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, PixelVariance, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Pixel variance used on the u/v axes of every bundle adjustment reprojection edge. Applies to all BA-capable backends (g2o, GTSAM, Ceres). Should approximate the squared 1-sigma keypoint localization error in pixels. Set higher (e.g. 4-9) if features are noisy (low texture, motion blur, low light, or large detector scale). Set lower (e.g. 0.01-0.1) if features are sub-pixel refined (Lucas-Kanade tracking, parabolic peak interpolation). Intuition: the lower the pixel variance, the more the optimizer trusts the keypoint positions.&quot;</span>);</div>
<div class="line"><a id="l00492" name="l00492"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9b2bf1254c87e79d358dd45a27d92254"> 492</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, DisparityVariance, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Disparity variance used on the disparity axis (u - u_right) of stereo / RGB-D bundle adjustment edges. Applies to all BA-capable backends (g2o, GTSAM, Ceres). Defaults to the same value as PixelVariance for backward compatibility. Set higher (e.g. 2-4) if your depth source is noisier than your feature detector&#39;s u/v precision (typical for stereo block matchers / SGM at long range). Set lower (e.g. 0.01-0.1) if your depth source is more accurate than the u/v detector (typical for ToF / LiDAR-fused depth where range is measured directly rather than triangulated). Intuition: the lower the disparity variance, the more the optimizer trusts the depth measurements. Geometric note: wider baseline and/or higher image resolution improve a block matcher&#39;s effective disparity precision (larger disparity magnitudes and finer sub-pixel refinement), so wide-baseline high-resolution stereo pairs can usually afford a lower disparity variance (e.g. 0.1-0.5); narrow-baseline low-resolution pairs should keep it higher (e.g. 1-4).&quot;</span>);</div>
<div class="line"><a id="l00493" name="l00493"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a29ca5e5f03feb515f565edb0caae230b"> 493</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, RobustKernelDelta, <span class="keywordtype">double</span>, 8, <span class="stringliteral">&quot;Robust kernel delta used for bundle adjustment (0 means don&#39;t use robust kernel). Applies to all BA-capable backends (g2o, GTSAM, Ceres). Observations with chi2 over this threshold will be ignored in the second optimization pass.&quot;</span>);</div>
<div class="line"><a id="l00494" name="l00494"></a><span class="lineno"> 494</span> </div>
<div class="line"><a id="l00495" name="l00495"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad1a81c4592bd2d628badbb53ad767e10"> 495</a></span> RTABMAP_PARAM(GTSAM, <a class="code hl_class" href="classrtabmap_1_1Optimizer.html">Optimizer</a>, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;0=Levenberg 1=GaussNewton 2=Dogleg&quot;</span>);</div>
<div class="line"><a id="l00496" name="l00496"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a66c11bfaae450751def3a11a6fdd63e6"> 496</a></span> RTABMAP_PARAM(GTSAM, Incremental, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Do graph optimization incrementally (iSAM2) to increase optimization speed on loop closures. Note that only GaussNewton and Dogleg optimization algorithms are supported (%s) in this mode.&quot;</span>, kGTSAMOptimizer().c_str()));</div>
<div class="line"><a id="l00497" name="l00497"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a02b3bc870c99fc2c9581e2b7e8e2f790"> 497</a></span> RTABMAP_PARAM(GTSAM, IncRelinearizeThreshold, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;Only relinearize variables whose linear delta magnitude is greater than this threshold. See GTSAM::ISAM2 doc for more info.&quot;</span>);</div>
<div class="line"><a id="l00498" name="l00498"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9655fd620e39777f3f829003b6f3e115"> 498</a></span> RTABMAP_PARAM(GTSAM, IncRelinearizeSkip, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Only relinearize any variables every X calls to ISAM2::update(). See GTSAM::ISAM2 doc for more info.&quot;</span>);</div>
<div class="line"><a id="l00499" name="l00499"></a><span class="lineno"> 499</span> </div>
<div class="line"><a id="l00500" name="l00500"></a><span class="lineno"> 500</span> <span class="comment">// Odometry</span></div>
<div class="line"><a id="l00501" name="l00501"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1e9109160a37784a68c945acebd38525"> 501</a></span> RTABMAP_PARAM(Odom, Strategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=Frame-to-Map (F2M) 1=Frame-to-Frame (F2F) 2=Fovis 3=viso2 4=DVO-SLAM 5=ORB_SLAM 6=OKVIS 7=LOAM 8=MSCKF_VIO 9=VINS-Fusion 10=OpenVINS 11=FLOAM 12=Open3D 13=cuVSLAM 14=LIO-SAM&quot;</span>);</div>
<div class="line"><a id="l00502" name="l00502"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af755f7fbaed913e4718ab7d6f6531db6"> 502</a></span> RTABMAP_PARAM(Odom, ResetCountdown, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Automatically reset odometry after X consecutive images where odometry cannot be computed (a value of 0 disables auto-reset). When a reset occurs, odometry resumes from the last successfully computed pose with large covariance to trigger a new map. If external odometry is used, it will also be reset based on the motion estimated relative to the last computed pose but no large covariance will be received, so that a new map won&#39;t be triggered.&quot;</span>);</div>
<div class="line"><a id="l00503" name="l00503"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa016823429e4d0f9253f8815583cf890"> 503</a></span> RTABMAP_PARAM(Odom, Holonomic, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If the robot is holonomic (strafing commands can be issued). If not, y value will be estimated from x and yaw values (y=x*tan(yaw)).&quot;</span>);</div>
<div class="line"><a id="l00504" name="l00504"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aec72ae27f91cc9e12b3353396993b478"> 504</a></span> RTABMAP_PARAM(Odom, FillInfoData, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Fill info with data (inliers/outliers features).&quot;</span>);</div>
<div class="line"><a id="l00505" name="l00505"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7007e291b876f4c3c78b17639e547aae"> 505</a></span> RTABMAP_PARAM(Odom, ImageBufferSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Data buffer size (0 min inf).&quot;</span>);</div>
<div class="line"><a id="l00506" name="l00506"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8b370a112ae85e9825286591d27bcdaa"> 506</a></span> RTABMAP_PARAM(Odom, FilteringStrategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=No filtering 1=Kalman filtering 2=Particle filtering. This filter is used to smooth the odometry output.&quot;</span>);</div>
<div class="line"><a id="l00507" name="l00507"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a080173bc5ca04f3b41c0e397339647ab"> 507</a></span> RTABMAP_PARAM(Odom, ParticleSize, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 400, <span class="stringliteral">&quot;Number of particles of the filter.&quot;</span>);</div>
<div class="line"><a id="l00508" name="l00508"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a36a060c171c3804e1e208f879c93e7e6"> 508</a></span> RTABMAP_PARAM(Odom, ParticleNoiseT, <span class="keywordtype">float</span>, 0.002, <span class="stringliteral">&quot;Noise (m) of translation components (x,y,z).&quot;</span>);</div>
<div class="line"><a id="l00509" name="l00509"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5b779a5e544c6fcdc714683edba8b3d3"> 509</a></span> RTABMAP_PARAM(Odom, ParticleLambdaT, <span class="keywordtype">float</span>, 100, <span class="stringliteral">&quot;Lambda of translation components (x,y,z).&quot;</span>);</div>
<div class="line"><a id="l00510" name="l00510"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8e6f5c04ac08cc14e6a8d7163a6df977"> 510</a></span> RTABMAP_PARAM(Odom, ParticleNoiseR, <span class="keywordtype">float</span>, 0.002, <span class="stringliteral">&quot;Noise (rad) of rotational components (roll,pitch,yaw).&quot;</span>);</div>
<div class="line"><a id="l00511" name="l00511"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a999356e45e0d04c0e23b8a658bdce1ad"> 511</a></span> RTABMAP_PARAM(Odom, ParticleLambdaR, <span class="keywordtype">float</span>, 100, <span class="stringliteral">&quot;Lambda of rotational components (roll,pitch,yaw).&quot;</span>);</div>
<div class="line"><a id="l00512" name="l00512"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1c5361e55edddc9fcf941a0e79ca6622"> 512</a></span> RTABMAP_PARAM(Odom, KalmanProcessNoise, <span class="keywordtype">float</span>, 0.001, <span class="stringliteral">&quot;Process noise covariance value.&quot;</span>);</div>
<div class="line"><a id="l00513" name="l00513"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1b74baad5e6ec5c35f35522c8941dc18"> 513</a></span> RTABMAP_PARAM(Odom, KalmanMeasurementNoise, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Process measurement covariance value.&quot;</span>);</div>
<div class="line"><a id="l00514" name="l00514"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aed75497245cb08a0d126dc4e5abc2c19"> 514</a></span> RTABMAP_PARAM(Odom, GuessMotion, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Guess next transformation from the last motion computed.&quot;</span>);</div>
<div class="line"><a id="l00515" name="l00515"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab92e1ac2b4bcdcc6551533aaf19aa4e2"> 515</a></span> RTABMAP_PARAM(Odom, GuessSmoothingDelay, <span class="keywordtype">float</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Guess smoothing delay (s). Estimated velocity is averaged based on last transforms up to this maximum delay. This can help to get smoother velocity prediction. Last velocity computed is used directly if \&quot;%s\&quot; is set or the delay is below the odometry rate.&quot;</span>, kOdomFilteringStrategy().c_str()));</div>
<div class="line"><a id="l00516" name="l00516"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aebbba0733b605dffc9d3e09cc6c5f4c8"> 516</a></span> RTABMAP_PARAM(Odom, KeyFrameThr, <span class="keywordtype">float</span>, 0.3, <span class="stringliteral">&quot;[Visual] Create a new keyframe when the number of inliers drops under this ratio of features in last frame. Setting the value to 0 means that a keyframe is created for each processed frame.&quot;</span>);</div>
<div class="line"><a id="l00517" name="l00517"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae37f0155b9c8b516cda895f08b1344ba"> 517</a></span> RTABMAP_PARAM(Odom, VisKeyFrameThr, <span class="keywordtype">int</span>, 150, <span class="stringliteral">&quot;[Visual] Create a new keyframe when the number of inliers drops under this threshold. Setting the value to 0 means that a keyframe is created for each processed frame.&quot;</span>);</div>
<div class="line"><a id="l00518" name="l00518"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad6174a0ecd9ac76d8242540c30df4ad5"> 518</a></span> RTABMAP_PARAM(Odom, ScanKeyFrameThr, <span class="keywordtype">float</span>, 0.9, <span class="stringliteral">&quot;[Geometry] Create a new keyframe when the number of ICP inliers drops under this ratio of points in last frame&#39;s scan. Setting the value to 0 means that a keyframe is created for each processed frame.&quot;</span>);</div>
<div class="line"><a id="l00519" name="l00519"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a29925c5f81033bf7841a302e30b336ce"> 519</a></span> RTABMAP_PARAM(Odom, ImageDecimation, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Decimation of the RGB image before registration. If depth size is larger than decimated RGB size, depth is decimated to be always at most equal to RGB size. If %s is true and if depth is smaller than decimated RGB, depth may be interpolated to match RGB size for feature detection.&quot;</span>, kVisDepthAsMask().c_str()));</div>
<div class="line"><a id="l00520" name="l00520"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adf61806ebca30c99cc61708a03487069"> 520</a></span> RTABMAP_PARAM(Odom, AlignWithGround, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Align odometry with the ground on initialization.&quot;</span>);</div>
<div class="line"><a id="l00521" name="l00521"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3a8263972a698faa1da37e4f2007a8d3"> 521</a></span> RTABMAP_PARAM(Odom, Deskewing, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Lidar deskewing. If input lidar has time channel, it will be deskewed with a constant motion model (with IMU orientation and/or guess if provided).&quot;</span>);</div>
<div class="line"><a id="l00522" name="l00522"></a><span class="lineno"> 522</span> </div>
<div class="line"><a id="l00523" name="l00523"></a><span class="lineno"> 523</span> <span class="comment">// Odometry Frame-to-Map</span></div>
<div class="line"><a id="l00524" name="l00524"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a497cfa082354a36a2904b4e599ea4037"> 524</a></span> RTABMAP_PARAM(OdomF2M, MaxSize, <span class="keywordtype">int</span>, 2000, <span class="stringliteral">&quot;[Visual] Local map size: If &gt; 0 (example 5000), the odometry will maintain a local map of X maximum words.&quot;</span>);</div>
<div class="line"><a id="l00525" name="l00525"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a38b8eb922697a26d2ac49b66d3820d4d"> 525</a></span> RTABMAP_PARAM(OdomF2M, MaxNewFeatures, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;[Visual] Maximum features (sorted by keypoint response) added to local map from a new key-frame. 0 means no limit.&quot;</span>);</div>
<div class="line"><a id="l00526" name="l00526"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a29e7c5e7d4c6f267fe1ae81612bbc405"> 526</a></span> RTABMAP_PARAM(OdomF2M, InitDepthFactor, <span class="keywordtype">float</span>, 0.05, <span class="stringliteral">&quot;[Visual] Depth factor used to initialize depth of features without depth. Depth = Factor * fx.&quot;</span>);</div>
<div class="line"><a id="l00527" name="l00527"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb4da34908495ef75b835dc29db5433a"> 527</a></span> RTABMAP_PARAM(OdomF2M, FloorThreshold, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;[Visual] Only track features in 3D feature map that are over this threshold (height in base frame). Can be useful to ignore reflections on the floor. 0 means disabled.&quot;</span>);</div>
<div class="line"><a id="l00528" name="l00528"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae114fc8566cbe5a8eb542a9ececb5edf"> 528</a></span> RTABMAP_PARAM(OdomF2M, ScanMaxSize, <span class="keywordtype">int</span>, 2000, <span class="stringliteral">&quot;[Geometry] Maximum local scan map size.&quot;</span>);</div>
<div class="line"><a id="l00529" name="l00529"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3cf5aa47d0837e8ec65d714e1c112b81"> 529</a></span> RTABMAP_PARAM(OdomF2M, ScanSubtractRadius, <span class="keywordtype">float</span>, 0.05, <span class="stringliteral">&quot;[Geometry] Radius used to filter points of a new added scan to local map. This could match the voxel size of the scans.&quot;</span>);</div>
<div class="line"><a id="l00530" name="l00530"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6fd50e45fa9efdbacb4747378959884c"> 530</a></span> RTABMAP_PARAM(OdomF2M, ScanSubtractAngle, <span class="keywordtype">float</span>, 45, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[Geometry] Max angle (degrees) used to filter points of a new added scan to local map (when \&quot;%s\&quot;&gt;0). 0 means any angle.&quot;</span>, kOdomF2MScanSubtractRadius().c_str()).c_str());</div>
<div class="line"><a id="l00531" name="l00531"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb0502573b7b34b6a4d2f8528724a9ff"> 531</a></span> RTABMAP_PARAM(OdomF2M, ScanRange, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;[Geometry] Distance Range used to filter points of local map (when &gt; 0). 0 means local map is updated using time and not range.&quot;</span>);</div>
<div class="line"><a id="l00532" name="l00532"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abfb4c6fd15bcfa071bed540c0f7e96d8"> 532</a></span> RTABMAP_PARAM(OdomF2M, ValidDepthRatio, <span class="keywordtype">float</span>, 0.75, <span class="stringliteral">&quot;If a new frame has points without valid depth, they are added to local feature map only if points with valid depth on total points is over this ratio. Setting to 1 means no points without valid depth are added to local feature map.&quot;</span>);</div>
<div class="line"><a id="l00533" name="l00533"></a><span class="lineno"> 533</span><span class="preprocessor">#if defined(RTABMAP_G2O) || defined(RTABMAP_ORB_SLAM)</span></div>
<div class="line"><a id="l00534" name="l00534"></a><span class="lineno"> 534</span> RTABMAP_PARAM(OdomF2M, BundleAdjustment, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Local bundle adjustment. Value matches the %s parameter: 0=disabled (TORO is not BA-capable), 1=g2o, 2=GTSAM, 3=Ceres, 4=cvsba.&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00535" name="l00535"></a><span class="lineno"> 535</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00536" name="l00536"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3e1eb21d9993f959bd5092006d76abf4"> 536</a></span> RTABMAP_PARAM(OdomF2M, BundleAdjustment, <span class="keywordtype">int</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Local bundle adjustment. Value matches the %s parameter: 0=disabled (TORO is not BA-capable), 1=g2o, 2=GTSAM, 3=Ceres, 4=cvsba.&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00537" name="l00537"></a><span class="lineno"> 537</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00538" name="l00538"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a45e8427292d5400170b1212abcec6521"> 538</a></span> RTABMAP_PARAM(OdomF2M, BundleAdjustmentMaxFrames, <span class="keywordtype">int</span>, 10, <span class="stringliteral">&quot;Maximum frames used for bundle adjustment (0=inf or all current frames in the local map).&quot;</span>);</div>
<div class="line"><a id="l00539" name="l00539"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9fa254f3db2fa2571e0cdc235836d4d8"> 539</a></span> RTABMAP_PARAM(OdomF2M, BundleAdjustmentMinMotion, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;To create a new keyframe with bundle adjustment, a minimum motion (in pixels) can be required. The motion is computed by the average distance between inliers of the previous keyframe and new frame.&quot;</span>);</div>
<div class="line"><a id="l00540" name="l00540"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5a9009e5400a8c41f0e8685ac5cdeb27"> 540</a></span> RTABMAP_PARAM(OdomF2M, BundleAdjustmentMaxKeyFramesPerFeature, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Maximum keyframes per feature for bundle adjustment. 0 means not limit.&quot;</span>);</div>
<div class="line"><a id="l00541" name="l00541"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a90664ff4e25f23f644e4acaaa7457e70"> 541</a></span> RTABMAP_PARAM(OdomF2M, BundleUpdateFeatureMapOnAllFrames, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Update 3D local feature map on every frame with bundle adjustment. Recommended if %s=false and %s=true so that features without depth are better triangulated on every frame (not only on keyframes). If disabled, the feature map is updated only when a new keyframe is added (legacy approach).&quot;</span>, kVisDepthAsMask().c_str(), kMemUseOdomFeatures().c_str()));</div>
<div class="line"><a id="l00542" name="l00542"></a><span class="lineno"> 542</span> </div>
<div class="line"><a id="l00543" name="l00543"></a><span class="lineno"> 543</span> <span class="comment">// Odometry Mono</span></div>
<div class="line"><a id="l00544" name="l00544"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7f65ed004403fa9edbbff3e6405ca891"> 544</a></span> RTABMAP_PARAM(OdomMono, InitMinFlow, <span class="keywordtype">float</span>, 100, <span class="stringliteral">&quot;Minimum optical flow required for the initialization step.&quot;</span>);</div>
<div class="line"><a id="l00545" name="l00545"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1ac667c7a48be31fb51e082993277d5f"> 545</a></span> RTABMAP_PARAM(OdomMono, InitMinTranslation, <span class="keywordtype">float</span>, 0.1, <span class="stringliteral">&quot;Minimum translation required for the initialization step.&quot;</span>);</div>
<div class="line"><a id="l00546" name="l00546"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a16f3c3aa628f68e2606a94baa4b304ef"> 546</a></span> RTABMAP_PARAM(OdomMono, MinTranslation, <span class="keywordtype">float</span>, 0.02, <span class="stringliteral">&quot;Minimum translation to add new points to local map. On initialization, translation x 5 is used as the minimum.&quot;</span>);</div>
<div class="line"><a id="l00547" name="l00547"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6e45d5c403607f445dfcad384358ac74"> 547</a></span> RTABMAP_PARAM(OdomMono, MaxVariance, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Maximum variance to add new points to local map.&quot;</span>);</div>
<div class="line"><a id="l00548" name="l00548"></a><span class="lineno"> 548</span> </div>
<div class="line"><a id="l00549" name="l00549"></a><span class="lineno"> 549</span> <span class="comment">// Odometry Fovis</span></div>
<div class="line"><a id="l00550" name="l00550"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ade2e444ac97aad41fe71fea20af57d3a"> 550</a></span> RTABMAP_PARAM(OdomFovis, FeatureWindowSize, <span class="keywordtype">int</span>, 9, <span class="stringliteral">&quot;The size of the n x n image patch surrounding each feature, used for keypoint matching.&quot;</span>);</div>
<div class="line"><a id="l00551" name="l00551"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acd133e19a601529b581c0d80bcd5eb37"> 551</a></span> RTABMAP_PARAM(OdomFovis, MaxPyramidLevel, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;The maximum Gaussian pyramid level to process the image at. Pyramid level 1 corresponds to the original image.&quot;</span>);</div>
<div class="line"><a id="l00552" name="l00552"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad14afed75e7df64906231c198ead9806"> 552</a></span> RTABMAP_PARAM(OdomFovis, MinPyramidLevel, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;The minimum pyramid level.&quot;</span>);</div>
<div class="line"><a id="l00553" name="l00553"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad75316aad624c6d6b899eb4dc7953434"> 553</a></span> RTABMAP_PARAM(OdomFovis, TargetPixelsPerFeature, <span class="keywordtype">int</span>, 250, <span class="stringliteral">&quot;Specifies the desired feature density as a ratio of input image pixels per feature detected. This number is used to control the adaptive feature thresholding.&quot;</span>);</div>
<div class="line"><a id="l00554" name="l00554"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a700a47acc644e78198e9badaa6cde066"> 554</a></span> RTABMAP_PARAM(OdomFovis, FastThreshold, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;FAST threshold.&quot;</span>);</div>
<div class="line"><a id="l00555" name="l00555"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2575d8ba3b70f26f0f9bc3bc9d885c49"> 555</a></span> RTABMAP_PARAM(OdomFovis, UseAdaptiveThreshold, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use FAST adaptive threshold.&quot;</span>);</div>
<div class="line"><a id="l00556" name="l00556"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac3a040582a539045a65f8fc0b6d74a8d"> 556</a></span> RTABMAP_PARAM(OdomFovis, FastThresholdAdaptiveGain, <span class="keywordtype">double</span>, 0.005, <span class="stringliteral">&quot;FAST threshold adaptive gain.&quot;</span>);</div>
<div class="line"><a id="l00557" name="l00557"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a316f11d7c192cb395ff72a15e708aea0"> 557</a></span> RTABMAP_PARAM(OdomFovis, UseHomographyInitialization, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use homography initialization.&quot;</span>);</div>
<div class="line"><a id="l00558" name="l00558"></a><span class="lineno"> 558</span> </div>
<div class="line"><a id="l00559" name="l00559"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0ff03d3e381396c8d29cfe7bb2634a61"> 559</a></span> RTABMAP_PARAM(OdomFovis, UseBucketing, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00560" name="l00560"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adf69c49e64a7385b9325dd8e423e69bf"> 560</a></span> RTABMAP_PARAM(OdomFovis, BucketWidth, <span class="keywordtype">int</span>, 80, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00561" name="l00561"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7f22415d7908d094c5aa015b440420b7"> 561</a></span> RTABMAP_PARAM(OdomFovis, BucketHeight, <span class="keywordtype">int</span>, 80, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00562" name="l00562"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa0baa7c864efff0adeed5bf108eac6df"> 562</a></span> RTABMAP_PARAM(OdomFovis, MaxKeypointsPerBucket, <span class="keywordtype">int</span>, 25, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00563" name="l00563"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5fa1e186fb28299644211763eeda696b"> 563</a></span> RTABMAP_PARAM(OdomFovis, UseImageNormalization, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00564" name="l00564"></a><span class="lineno"> 564</span> </div>
<div class="line"><a id="l00565" name="l00565"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a07aba043390fbb0ea5b544e451586cf6"> 565</a></span> RTABMAP_PARAM(OdomFovis, InlierMaxReprojectionError, <span class="keywordtype">double</span>, 1.5, <span class="stringliteral">&quot;The maximum image-space reprojection error (in pixels) a feature match is allowed to have and still be considered an inlier in the set of features used for motion estimation.&quot;</span>);</div>
<div class="line"><a id="l00566" name="l00566"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad5f6221218799efca22c96585cd24545"> 566</a></span> RTABMAP_PARAM(OdomFovis, CliqueInlierThreshold, <span class="keywordtype">double</span>, 0.1, <span class="stringliteral">&quot;See Howard&#39;s greedy max-clique algorithm for determining the maximum set of mutually consisten feature matches. This specifies the compatibility threshold, in meters.&quot;</span>);</div>
<div class="line"><a id="l00567" name="l00567"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a414caf76d6a6517bdb3d2ec0900771e4"> 567</a></span> RTABMAP_PARAM(OdomFovis, MinFeaturesForEstimate, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Minimum number of features in the inlier set for the motion estimate to be considered valid.&quot;</span>);</div>
<div class="line"><a id="l00568" name="l00568"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aba0b8f4e74cebe20ecc10f8f76323d24"> 568</a></span> RTABMAP_PARAM(OdomFovis, MaxMeanReprojectionError, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;Maximum mean reprojection error over the inlier feature matches for the motion estimate to be considered valid.&quot;</span>);</div>
<div class="line"><a id="l00569" name="l00569"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a07297e9e7f311987fbd154b6348145e3"> 569</a></span> RTABMAP_PARAM(OdomFovis, UseSubpixelRefinement, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Specifies whether or not to refine feature matches to subpixel resolution.&quot;</span>);</div>
<div class="line"><a id="l00570" name="l00570"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af9404a130353bb7b64882e6e50ccb006"> 570</a></span> RTABMAP_PARAM(OdomFovis, FeatureSearchWindow, <span class="keywordtype">int</span>, 25, <span class="stringliteral">&quot;Specifies the size of the search window to apply when searching for feature matches across time frames. The search is conducted around the feature location predicted by the initial rotation estimate.&quot;</span>);</div>
<div class="line"><a id="l00571" name="l00571"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad58b3bace690a5ac77d67961f2b613f0"> 571</a></span> RTABMAP_PARAM(OdomFovis, UpdateTargetFeaturesWithRefined, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;When subpixel refinement is enabled, the refined feature locations can be saved over the original feature locations. This has a slightly negative impact on frame-to-frame visual odometry, but is likely better when using this library as part of a visual SLAM algorithm.&quot;</span>);</div>
<div class="line"><a id="l00572" name="l00572"></a><span class="lineno"> 572</span> </div>
<div class="line"><a id="l00573" name="l00573"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8b59dc119f3c1dabddf99239a32cc44f"> 573</a></span> RTABMAP_PARAM(OdomFovis, StereoRequireMutualMatch, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00574" name="l00574"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a498b781dbbcafed78d27643512b36f3c"> 574</a></span> RTABMAP_PARAM(OdomFovis, StereoMaxDistEpipolarLine, <span class="keywordtype">double</span>, 1.5, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00575" name="l00575"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5799a6d9934061ad97c29a106f07c86e"> 575</a></span> RTABMAP_PARAM(OdomFovis, StereoMaxRefinementDisplacement, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00576" name="l00576"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3751cc3828e192dce707f57f74f34593"> 576</a></span> RTABMAP_PARAM(OdomFovis, StereoMaxDisparity, <span class="keywordtype">int</span>, 128, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00577" name="l00577"></a><span class="lineno"> 577</span> </div>
<div class="line"><a id="l00578" name="l00578"></a><span class="lineno"> 578</span> <span class="comment">// Odometry viso2</span></div>
<div class="line"><a id="l00579" name="l00579"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0dfa5c17449e9e07f21ec6cdbb637e71"> 579</a></span> RTABMAP_PARAM(OdomViso2, RansacIters, <span class="keywordtype">int</span>, 200, <span class="stringliteral">&quot;Number of RANSAC iterations.&quot;</span>);</div>
<div class="line"><a id="l00580" name="l00580"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a429bac1484f93fa8a011f72c98e763ea"> 580</a></span> RTABMAP_PARAM(OdomViso2, InlierThreshold, <span class="keywordtype">double</span>, 2.0, <span class="stringliteral">&quot;Fundamental matrix inlier threshold.&quot;</span>);</div>
<div class="line"><a id="l00581" name="l00581"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acca03777ae8d44bbb151efe95d866370"> 581</a></span> RTABMAP_PARAM(OdomViso2, Reweighting, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Lower border weights (more robust to calibration errors).&quot;</span>);</div>
<div class="line"><a id="l00582" name="l00582"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6dc343145cffd796512b4b0733057642"> 582</a></span> RTABMAP_PARAM(OdomViso2, MatchNmsN, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Non-max-suppression: min. distance between maxima (in pixels).&quot;</span>);</div>
<div class="line"><a id="l00583" name="l00583"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2e80812231c26ef3d3a2e06ce3a5d79e"> 583</a></span> RTABMAP_PARAM(OdomViso2, MatchNmsTau, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;Non-max-suppression: interest point peakiness threshold.&quot;</span>);</div>
<div class="line"><a id="l00584" name="l00584"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aff4139b8a4b5be3bb32f9d7f7a56786a"> 584</a></span> RTABMAP_PARAM(OdomViso2, MatchBinsize, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;Matching bin width/height (affects efficiency only).&quot;</span>);</div>
<div class="line"><a id="l00585" name="l00585"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2cb8a4380b2ac7513acfe4c227b0f512"> 585</a></span> RTABMAP_PARAM(OdomViso2, MatchRadius, <span class="keywordtype">int</span>, 200, <span class="stringliteral">&quot;Matching radius (du/dv in pixels).&quot;</span>);</div>
<div class="line"><a id="l00586" name="l00586"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aeef943b33c89637852d411a2e43a5d7a"> 586</a></span> RTABMAP_PARAM(OdomViso2, MatchDispTolerance, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Disparity tolerance for stereo matches (in pixels).&quot;</span>);</div>
<div class="line"><a id="l00587" name="l00587"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af9a738592540bc96e5f9b054fdd34f96"> 587</a></span> RTABMAP_PARAM(OdomViso2, MatchOutlierDispTolerance, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Outlier removal: disparity tolerance (in pixels).&quot;</span>);</div>
<div class="line"><a id="l00588" name="l00588"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4c488a981cf4228a1ae147505695b7ea"> 588</a></span> RTABMAP_PARAM(OdomViso2, MatchOutlierFlowTolerance, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Outlier removal: flow tolerance (in pixels).&quot;</span>);</div>
<div class="line"><a id="l00589" name="l00589"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a38c5e12cb00d850e9741248fb564be0f"> 589</a></span> RTABMAP_PARAM(OdomViso2, MatchMultiStage, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Multistage matching (denser and faster).&quot;</span>);</div>
<div class="line"><a id="l00590" name="l00590"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab25dec8a4a1ba5ef0bc3ef14d455ffd4"> 590</a></span> RTABMAP_PARAM(OdomViso2, MatchHalfResolution, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Match at half resolution, refine at full resolution.&quot;</span>);</div>
<div class="line"><a id="l00591" name="l00591"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad0ee385292880d42488589f00f820335"> 591</a></span> RTABMAP_PARAM(OdomViso2, MatchRefinement, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Refinement (0=none,1=pixel,2=subpixel).&quot;</span>);</div>
<div class="line"><a id="l00592" name="l00592"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4cbb446867b50e3187af090146c578f0"> 592</a></span> RTABMAP_PARAM(OdomViso2, BucketMaxFeatures, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Maximal number of features per bucket.&quot;</span>);</div>
<div class="line"><a id="l00593" name="l00593"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad46d465287b4b685122eec82f8765da6"> 593</a></span> RTABMAP_PARAM(OdomViso2, BucketWidth, <span class="keywordtype">double</span>, 50, <span class="stringliteral">&quot;Width of bucket.&quot;</span>);</div>
<div class="line"><a id="l00594" name="l00594"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa0f7d154eb3e914488380c80252b0541"> 594</a></span> RTABMAP_PARAM(OdomViso2, BucketHeight, <span class="keywordtype">double</span>, 50, <span class="stringliteral">&quot;Height of bucket.&quot;</span>);</div>
<div class="line"><a id="l00595" name="l00595"></a><span class="lineno"> 595</span> </div>
<div class="line"><a id="l00596" name="l00596"></a><span class="lineno"> 596</span> <span class="comment">// Odometry ORB_SLAM</span></div>
<div class="line"><a id="l00597" name="l00597"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9191f537b0cbd35fa3865b584168b1a3"> 597</a></span> RTABMAP_PARAM_STR(OdomORBSLAM, VocPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path to ORB vocabulary (*.txt).&quot;</span>);</div>
<div class="line"><a id="l00598" name="l00598"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a69c4cb422de40aa1346158375147a333"> 598</a></span> RTABMAP_PARAM(OdomORBSLAM, Bf, <span class="keywordtype">double</span>, 0.076, <span class="stringliteral">&quot;Fake IR projector baseline (m) used only when stereo is not used.&quot;</span>);</div>
<div class="line"><a id="l00599" name="l00599"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#affa55160db0408d1d22ae7935649b4ec"> 599</a></span> RTABMAP_PARAM(OdomORBSLAM, ThDepth, <span class="keywordtype">double</span>, 40.0, <span class="stringliteral">&quot;Close/Far threshold. Baseline times.&quot;</span>);</div>
<div class="line"><a id="l00600" name="l00600"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae927ca70227e512394ca9b7b91a1251b"> 600</a></span> RTABMAP_PARAM(OdomORBSLAM, Fps, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Camera FPS (0 to estimate from input data).&quot;</span>);</div>
<div class="line"><a id="l00601" name="l00601"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad41dc0470b91a895e53a5d1319701096"> 601</a></span> RTABMAP_PARAM(OdomORBSLAM, MaxFeatures, <span class="keywordtype">int</span>, 1000, <span class="stringliteral">&quot;Maximum ORB features extracted per frame.&quot;</span>);</div>
<div class="line"><a id="l00602" name="l00602"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3c339175a63d8b6ff3111baf64862bba"> 602</a></span> RTABMAP_PARAM(OdomORBSLAM, MapSize, <span class="keywordtype">int</span>, 3000, <span class="stringliteral">&quot;Maximum size of the feature map (0 means infinite). Only supported with ORB_SLAM2.&quot;</span>);</div>
<div class="line"><a id="l00603" name="l00603"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aac902f6d6374c112c3a60b6ae7c305df"> 603</a></span> RTABMAP_PARAM(OdomORBSLAM, Inertial, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Enable IMU. Only supported with ORB_SLAM3.&quot;</span>);</div>
<div class="line"><a id="l00604" name="l00604"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a92c076aa98e5f4d3996ab370305fb128"> 604</a></span> RTABMAP_PARAM(OdomORBSLAM, GyroNoise, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;IMU gyroscope \&quot;white noise\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00605" name="l00605"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0fceb51732eea1d2c2f5cfcfc9f6c908"> 605</a></span> RTABMAP_PARAM(OdomORBSLAM, AccNoise, <span class="keywordtype">double</span>, 0.1, <span class="stringliteral">&quot;IMU accelerometer \&quot;white noise\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00606" name="l00606"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a34cae713888a601086153ac0fb5236df"> 606</a></span> RTABMAP_PARAM(OdomORBSLAM, GyroWalk, <span class="keywordtype">double</span>, 0.000001, <span class="stringliteral">&quot;IMU gyroscope \&quot;random walk\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00607" name="l00607"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5e01b168e4a31aec792366e0139cc959"> 607</a></span> RTABMAP_PARAM(OdomORBSLAM, AccWalk, <span class="keywordtype">double</span>, 0.0001, <span class="stringliteral">&quot;IMU accelerometer \&quot;random walk\&quot;.&quot;</span>);</div>
<div class="line"><a id="l00608" name="l00608"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a98f800e901efb131cc4399a811462f83"> 608</a></span> RTABMAP_PARAM(OdomORBSLAM, SamplingRate, <span class="keywordtype">double</span>, 0, <span class="stringliteral">&quot;IMU sampling rate (0 to estimate from input data).&quot;</span>);</div>
<div class="line"><a id="l00609" name="l00609"></a><span class="lineno"> 609</span> </div>
<div class="line"><a id="l00610" name="l00610"></a><span class="lineno"> 610</span> </div>
<div class="line"><a id="l00611" name="l00611"></a><span class="lineno"> 611</span> <span class="comment">// Odometry OKVIS</span></div>
<div class="line"><a id="l00612" name="l00612"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a42709fed698a2b97684140ac9f5a7b32"> 612</a></span> RTABMAP_PARAM_STR(OdomOKVIS, ConfigPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path of OKVIS config file.&quot;</span>);</div>
<div class="line"><a id="l00613" name="l00613"></a><span class="lineno"> 613</span> </div>
<div class="line"><a id="l00614" name="l00614"></a><span class="lineno"> 614</span> <span class="comment">// Odometry LOAM</span></div>
<div class="line"><a id="l00615" name="l00615"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a08c6c9c804fb52cc3c982371603908bc"> 615</a></span> RTABMAP_PARAM(OdomLOAM, Sensor, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;Velodyne sensor: 0=VLP-16, 1=HDL-32, 2=HDL-64E&quot;</span>);</div>
<div class="line"><a id="l00616" name="l00616"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab969f8e8af3d39234d8c56091750de5f"> 616</a></span> RTABMAP_PARAM(OdomLOAM, ScanPeriod, <span class="keywordtype">float</span>, 0.1, <span class="stringliteral">&quot;Scan period (s)&quot;</span>);</div>
<div class="line"><a id="l00617" name="l00617"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a46bf5542610081e2ef578d11c2117313"> 617</a></span> RTABMAP_PARAM(OdomLOAM, Resolution, <span class="keywordtype">float</span>, 0.2, <span class="stringliteral">&quot;Map resolution&quot;</span>);</div>
<div class="line"><a id="l00618" name="l00618"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af993c5440d36205803d38a777961da54"> 618</a></span> RTABMAP_PARAM(OdomLOAM, LinVar, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Linear output variance.&quot;</span>);</div>
<div class="line"><a id="l00619" name="l00619"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aef9c223d75c418dad360cc5d48c1c89f"> 619</a></span> RTABMAP_PARAM(OdomLOAM, AngVar, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Angular output variance.&quot;</span>);</div>
<div class="line"><a id="l00620" name="l00620"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8d70548d0c38720f159fe017bf56858d"> 620</a></span> RTABMAP_PARAM(OdomLOAM, LocalMapping, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Local mapping. It adds more time to compute odometry, but accuracy is significantly improved.&quot;</span>);</div>
<div class="line"><a id="l00621" name="l00621"></a><span class="lineno"> 621</span> </div>
<div class="line"><a id="l00622" name="l00622"></a><span class="lineno"> 622</span> <span class="comment">// Odometry MSCKF_VIO</span></div>
<div class="line"><a id="l00623" name="l00623"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae9d193a2dddd7cf9fc15d589f2c47411"> 623</a></span> RTABMAP_PARAM(OdomMSCKF, GridRow, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00624" name="l00624"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1e184b7a26a82b3d94a95353358d0349"> 624</a></span> RTABMAP_PARAM(OdomMSCKF, GridCol, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00625" name="l00625"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae0f2a06ff72491ddd8c4119d504accce"> 625</a></span> RTABMAP_PARAM(OdomMSCKF, GridMinFeatureNum, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00626" name="l00626"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a774387049daba9119d2eb85f3e687fb4"> 626</a></span> RTABMAP_PARAM(OdomMSCKF, GridMaxFeatureNum, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00627" name="l00627"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa4b73d6831d8daaa9db3981e30b49818"> 627</a></span> RTABMAP_PARAM(OdomMSCKF, PyramidLevels, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00628" name="l00628"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6aceae41d0ddc22cee471661a8dc9430"> 628</a></span> RTABMAP_PARAM(OdomMSCKF, PatchSize, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00629" name="l00629"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8f705436db08f88c518f74ac1acd9037"> 629</a></span> RTABMAP_PARAM(OdomMSCKF, FastThreshold, <span class="keywordtype">int</span>, 10, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00630" name="l00630"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a228a84611344d7db43d4d14eaffdf15e"> 630</a></span> RTABMAP_PARAM(OdomMSCKF, MaxIteration, <span class="keywordtype">int</span>, 30, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00631" name="l00631"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a677ee5a5b6bae0b65b9c4735494fc823"> 631</a></span> RTABMAP_PARAM(OdomMSCKF, TrackPrecision, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00632" name="l00632"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a092a2962faabb91bf8486e71d31f0a07"> 632</a></span> RTABMAP_PARAM(OdomMSCKF, RansacThreshold, <span class="keywordtype">double</span>, 3, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00633" name="l00633"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab2f28e5a6de694c7a55519dec63c5a30"> 633</a></span> RTABMAP_PARAM(OdomMSCKF, StereoThreshold, <span class="keywordtype">double</span>, 5, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00634" name="l00634"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1a6adbc06f4f19059b17f77ed6c744a0"> 634</a></span> RTABMAP_PARAM(OdomMSCKF, PositionStdThreshold, <span class="keywordtype">double</span>, 8.0, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00635" name="l00635"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1a4d1f9579e16ebf21a7ab4ba3436a60"> 635</a></span> RTABMAP_PARAM(OdomMSCKF, RotationThreshold, <span class="keywordtype">double</span>, 0.2618, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00636" name="l00636"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a80d7a199eca7bf5dbe11a89ae2505dc8"> 636</a></span> RTABMAP_PARAM(OdomMSCKF, TranslationThreshold, <span class="keywordtype">double</span>, 0.4, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00637" name="l00637"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4b15c6cece18b7fbfeab9c3012e8f975"> 637</a></span> RTABMAP_PARAM(OdomMSCKF, TrackingRateThreshold, <span class="keywordtype">double</span>, 0.5, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00638" name="l00638"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af30192a47c66b1fc6c73fec78092f940"> 638</a></span> RTABMAP_PARAM(OdomMSCKF, OptTranslationThreshold, <span class="keywordtype">double</span>, 0, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00639" name="l00639"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a827db4e8b440b924fc2f0ce6be9fb940"> 639</a></span> RTABMAP_PARAM(OdomMSCKF, NoiseGyro, <span class="keywordtype">double</span>, 0.005, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00640" name="l00640"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac3637861797af117354619b13a63e6de"> 640</a></span> RTABMAP_PARAM(OdomMSCKF, NoiseAcc, <span class="keywordtype">double</span>, 0.05, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00641" name="l00641"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a797cfbfab620a68648fb4d6f6729dad8"> 641</a></span> RTABMAP_PARAM(OdomMSCKF, NoiseGyroBias, <span class="keywordtype">double</span>, 0.001, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00642" name="l00642"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0e7f583660061567e068fceecd672c22"> 642</a></span> RTABMAP_PARAM(OdomMSCKF, NoiseAccBias, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00643" name="l00643"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1cc429adff28df7e630c29bc67a54bf3"> 643</a></span> RTABMAP_PARAM(OdomMSCKF, NoiseFeature, <span class="keywordtype">double</span>, 0.035, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00644" name="l00644"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2419769d93949fc1f097d002c9c20c22"> 644</a></span> RTABMAP_PARAM(OdomMSCKF, InitCovVel, <span class="keywordtype">double</span>, 0.25, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00645" name="l00645"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1c218ac5a9a5e97a602829ca5c5c9cdf"> 645</a></span> RTABMAP_PARAM(OdomMSCKF, InitCovGyroBias, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00646" name="l00646"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a445bd24bdd34a0aa27fcf5ff36a47364"> 646</a></span> RTABMAP_PARAM(OdomMSCKF, InitCovAccBias, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00647" name="l00647"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a67a5d1eb0f678ac399bb467e011ac403"> 647</a></span> RTABMAP_PARAM(OdomMSCKF, InitCovExRot, <span class="keywordtype">double</span>, 0.00030462, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00648" name="l00648"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1a1228eec668c42f7358c69caec0ee70"> 648</a></span> RTABMAP_PARAM(OdomMSCKF, InitCovExTrans, <span class="keywordtype">double</span>, 0.000025, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00649" name="l00649"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad2a521ea5f3a2b1eb48cb0613542ddb2"> 649</a></span> RTABMAP_PARAM(OdomMSCKF, MaxCamStateSize, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a id="l00650" name="l00650"></a><span class="lineno"> 650</span> </div>
<div class="line"><a id="l00651" name="l00651"></a><span class="lineno"> 651</span> <span class="comment">// Odometry VINS-Fusion</span></div>
<div class="line"><a id="l00652" name="l00652"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a383c3a45b5aa61295e33a6e9da4542c5"> 652</a></span> RTABMAP_PARAM_STR(OdomVINSFusion, ConfigPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path of VINS-Fusion config file.&quot;</span>);</div>
<div class="line"><a id="l00653" name="l00653"></a><span class="lineno"> 653</span> </div>
<div class="line"><a id="l00654" name="l00654"></a><span class="lineno"> 654</span> <span class="comment">// Odometry OpenVINS</span></div>
<div class="line"><a id="l00655" name="l00655"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3d0f13ab949ed08f216ecf7dea6dc4aa"> 655</a></span> RTABMAP_PARAM_STR(OdomOpenVINS, ConfigPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path of OpenVINS config file (*.yaml). Same format used than OpenVINS library. Note that any parameter from that config file will overwrite the same parameter in OdomOpenVINS group.&quot;</span>);</div>
<div class="line"><a id="l00656" name="l00656"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abc1565f7225cd5be7f09e82d6b52c4f1"> 656</a></span> RTABMAP_PARAM(OdomOpenVINS, UseStereo, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If we have more than 1 camera, if we should try to track stereo constraints between pairs.&quot;</span>);</div>
<div class="line"><a id="l00657" name="l00657"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abf2880c3c5dbb224274237d99b0185cc"> 657</a></span> RTABMAP_PARAM(OdomOpenVINS, UseKLT, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If true we will use KLT, otherwise use a ORB descriptor + robust matching.&quot;</span>);</div>
<div class="line"><a id="l00658" name="l00658"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acc3507fadec6548443ee3ca6d51ed74b"> 658</a></span> RTABMAP_PARAM(OdomOpenVINS, NumPts, <span class="keywordtype">int</span>, 200, <span class="stringliteral">&quot;Number of points (per camera) we will extract and try to track.&quot;</span>);</div>
<div class="line"><a id="l00659" name="l00659"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3379fb4026b4f2b87b4d9ac962b02884"> 659</a></span> RTABMAP_PARAM(OdomOpenVINS, MinPxDist, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;Eistance between features (features near each other provide less information).&quot;</span>);</div>
<div class="line"><a id="l00660" name="l00660"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a68fe1405aa148b207622af0951b3229c"> 660</a></span> RTABMAP_PARAM(OdomOpenVINS, FiTriangulate1d, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If we should perform 1d triangulation instead of 3d.&quot;</span>);</div>
<div class="line"><a id="l00661" name="l00661"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6ffc20ed47a965ac527889e4946833d0"> 661</a></span> RTABMAP_PARAM(OdomOpenVINS, FiRefineFeatures, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If we should perform Levenberg-Marquardt refinement.&quot;</span>);</div>
<div class="line"><a id="l00662" name="l00662"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0ded3bb70718deb25b3c5fd9faba16b1"> 662</a></span> RTABMAP_PARAM(OdomOpenVINS, FiMaxRuns, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Max runs for Levenberg-Marquardt.&quot;</span>);</div>
<div class="line"><a id="l00663" name="l00663"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a859b3bc69da9573d1592c76811698451"> 663</a></span> RTABMAP_PARAM(OdomOpenVINS, FiMaxBaseline, <span class="keywordtype">double</span>, 40, <span class="stringliteral">&quot;Max baseline ratio to accept triangulated features.&quot;</span>);</div>
<div class="line"><a id="l00664" name="l00664"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0a197c6368939cbc8a365a92580f67c6"> 664</a></span> RTABMAP_PARAM(OdomOpenVINS, FiMaxCondNumber, <span class="keywordtype">double</span>, 10000, <span class="stringliteral">&quot;Max condition number of linear triangulation matrix accept triangulated features.&quot;</span>);</div>
<div class="line"><a id="l00665" name="l00665"></a><span class="lineno"> 665</span> </div>
<div class="line"><a id="l00666" name="l00666"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a864a71e62e61b03d2c23afa2abf2c7db"> 666</a></span> RTABMAP_PARAM(OdomOpenVINS, UseFEJ, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If first-estimate Jacobians should be used (enable for good consistency).&quot;</span>);</div>
<div class="line"><a id="l00667" name="l00667"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a07e666fe4774be272d92169d7e51d72e"> 667</a></span> RTABMAP_PARAM(OdomOpenVINS, Integration, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;0=discrete, 1=rk4, 2=analytical (if rk4 or analytical used then analytical covariance propagation is used).&quot;</span>);</div>
<div class="line"><a id="l00668" name="l00668"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abad820880f66289a5bb3539b6cece37b"> 668</a></span> RTABMAP_PARAM(OdomOpenVINS, CalibCamExtrinsics, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bool to determine whether or not to calibrate imu-to-camera pose.&quot;</span>);</div>
<div class="line"><a id="l00669" name="l00669"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a325720d717ef80d19b03a9f2d504ed28"> 669</a></span> RTABMAP_PARAM(OdomOpenVINS, CalibCamIntrinsics, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bool to determine whether or not to calibrate camera intrinsics.&quot;</span>);</div>
<div class="line"><a id="l00670" name="l00670"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab6dd58e8cc0f581bf02765ffbf8d6df7"> 670</a></span> RTABMAP_PARAM(OdomOpenVINS, CalibCamTimeoffset, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bool to determine whether or not to calibrate camera to IMU time offset.&quot;</span>);</div>
<div class="line"><a id="l00671" name="l00671"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a43cf0249cd4accae00804d80d7ec74bd"> 671</a></span> RTABMAP_PARAM(OdomOpenVINS, CalibIMUIntrinsics, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bool to determine whether or not to calibrate the IMU intrinsics.&quot;</span>);</div>
<div class="line"><a id="l00672" name="l00672"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab14ce144b0d11185b303a9f336590174"> 672</a></span> RTABMAP_PARAM(OdomOpenVINS, CalibIMUGSensitivity, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Bool to determine whether or not to calibrate the Gravity sensitivity.&quot;</span>);</div>
<div class="line"><a id="l00673" name="l00673"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a53df19bf9e8b01c78258b17d784432ed"> 673</a></span> RTABMAP_PARAM(OdomOpenVINS, MaxClones, <span class="keywordtype">int</span>, 11, <span class="stringliteral">&quot;Max clone size of sliding window.&quot;</span>);</div>
<div class="line"><a id="l00674" name="l00674"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1e1aa930222b5df89e4059640c01f77f"> 674</a></span> RTABMAP_PARAM(OdomOpenVINS, MaxSLAM, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;Max number of estimated SLAM features.&quot;</span>);</div>
<div class="line"><a id="l00675" name="l00675"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a953fca633fc1700453fad55faa5efd9f"> 675</a></span> RTABMAP_PARAM(OdomOpenVINS, MaxSLAMInUpdate, <span class="keywordtype">int</span>, 25, <span class="stringliteral">&quot;Max number of SLAM features we allow to be included in a single EKF update..&quot;</span>);</div>
<div class="line"><a id="l00676" name="l00676"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a94acdf45e1bf8ce5b1d547f37e04b9b2"> 676</a></span> RTABMAP_PARAM(OdomOpenVINS, MaxMSCKFInUpdate, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;Max number of MSCKF features we will use at a given image timestep..&quot;</span>);</div>
<div class="line"><a id="l00677" name="l00677"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a53b0cbaf7b295195689bd52e44f67057"> 677</a></span> RTABMAP_PARAM(OdomOpenVINS, FeatRepMSCKF, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;What representation our features are in (msckf features).&quot;</span>);</div>
<div class="line"><a id="l00678" name="l00678"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0e22a193990315a0c169c0f961addaac"> 678</a></span> RTABMAP_PARAM(OdomOpenVINS, FeatRepSLAM, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;What representation our features are in (slam features).&quot;</span>);</div>
<div class="line"><a id="l00679" name="l00679"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a62210249c6a36aa2d5c82e283b69a89f"> 679</a></span> RTABMAP_PARAM(OdomOpenVINS, DtSLAMDelay, <span class="keywordtype">double</span>, 0.0, <span class="stringliteral">&quot;Delay, in seconds, that we should wait from init before we start estimating SLAM features.&quot;</span>);</div>
<div class="line"><a id="l00680" name="l00680"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a59525c19420757af33a0b081c717fd36"> 680</a></span> RTABMAP_PARAM(OdomOpenVINS, GravityMag, <span class="keywordtype">double</span>, 9.81, <span class="stringliteral">&quot;Gravity magnitude in the global frame (i.e. should be 9.81 typically).&quot;</span>);</div>
<div class="line"><a id="l00681" name="l00681"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae99dde6443571ac09d8db1bac3d5824e"> 681</a></span> RTABMAP_PARAM_STR(OdomOpenVINS, LeftMaskPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Mask for left image.&quot;</span>);</div>
<div class="line"><a id="l00682" name="l00682"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2e179e0624073ebc5d2934cd836b343d"> 682</a></span> RTABMAP_PARAM_STR(OdomOpenVINS, RightMaskPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Mask for right image.&quot;</span>);</div>
<div class="line"><a id="l00683" name="l00683"></a><span class="lineno"> 683</span> </div>
<div class="line"><a id="l00684" name="l00684"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a497e3c6de5c331901a25f8f20dc22e33"> 684</a></span> RTABMAP_PARAM(OdomOpenVINS, InitWindowTime, <span class="keywordtype">double</span>, 2.0, <span class="stringliteral">&quot;Amount of time we will initialize over (seconds).&quot;</span>);</div>
<div class="line"><a id="l00685" name="l00685"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0a444b5fd99ca929eafe9f369deb6275"> 685</a></span> RTABMAP_PARAM(OdomOpenVINS, InitIMUThresh, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Variance threshold on our acceleration to be classified as moving.&quot;</span>);</div>
<div class="line"><a id="l00686" name="l00686"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3cf405a2987bfc621c957b25f29cf9a4"> 686</a></span> RTABMAP_PARAM(OdomOpenVINS, InitMaxDisparity, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;Max disparity to consider the platform stationary (dependent on resolution).&quot;</span>);</div>
<div class="line"><a id="l00687" name="l00687"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a06e454a54226066c9fe555147e2a924f"> 687</a></span> RTABMAP_PARAM(OdomOpenVINS, InitMaxFeatures, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;How many features to track during initialization (saves on computation).&quot;</span>);</div>
<div class="line"><a id="l00688" name="l00688"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aed862b5334f34e11f0c1c1ae72eee7e0"> 688</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynUse, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If dynamic initialization should be used.&quot;</span>);</div>
<div class="line"><a id="l00689" name="l00689"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a937e112aa605e4674401dc8e01631433"> 689</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMLEOptCalib, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If we should optimize calibration during intialization (not recommended).&quot;</span>);</div>
<div class="line"><a id="l00690" name="l00690"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a016c6e6429a1972d19a2265285420cff"> 690</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMLEMaxIter, <span class="keywordtype">int</span>, 50, <span class="stringliteral">&quot;How many iterations the MLE refinement should use (zero to skip the MLE).&quot;</span>);</div>
<div class="line"><a id="l00691" name="l00691"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6cb0a7432ebba00c7c6457253430eb9e"> 691</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMLEMaxTime, <span class="keywordtype">double</span>, 0.05, <span class="stringliteral">&quot;How many seconds the MLE should be completed in.&quot;</span>);</div>
<div class="line"><a id="l00692" name="l00692"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9dfa2510f2abfc920345222b7bf3bb42"> 692</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMLEMaxThreads, <span class="keywordtype">int</span>, 6, <span class="stringliteral">&quot;How many threads the MLE should use.&quot;</span>);</div>
<div class="line"><a id="l00693" name="l00693"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3e612bb9c96142493df81d2f5ae82933"> 693</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynNumPose, <span class="keywordtype">int</span>, 6, <span class="stringliteral">&quot;Number of poses to use within our window time (evenly spaced).&quot;</span>);</div>
<div class="line"><a id="l00694" name="l00694"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a89160b019c1d237ad7f67720e741b790"> 694</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMinDeg, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;Orientation change needed to try to init.&quot;</span>);</div>
<div class="line"><a id="l00695" name="l00695"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac7e1906e0f98e72750f419e72e821120"> 695</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynInflationOri, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;What to inflate the recovered q_GtoI covariance by.&quot;</span>);</div>
<div class="line"><a id="l00696" name="l00696"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab5bfd3d2cf5d6dacebeb77f00c96003b"> 696</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynInflationVel, <span class="keywordtype">double</span>, 100.0, <span class="stringliteral">&quot;What to inflate the recovered v_IinG covariance by.&quot;</span>);</div>
<div class="line"><a id="l00697" name="l00697"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1d021093c325316bb03a57b16308b6e5"> 697</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynInflationBg, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;What to inflate the recovered bias_g covariance by.&quot;</span>);</div>
<div class="line"><a id="l00698" name="l00698"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afe5184aef893a0b985f979c2c1f78d59"> 698</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynInflationBa, <span class="keywordtype">double</span>, 100.0, <span class="stringliteral">&quot;What to inflate the recovered bias_a covariance by.&quot;</span>);</div>
<div class="line"><a id="l00699" name="l00699"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0a30a3740f3427803f325c2dff6ff88c"> 699</a></span> RTABMAP_PARAM(OdomOpenVINS, InitDynMinRecCond, <span class="keywordtype">double</span>, 1e-15, <span class="stringliteral">&quot;Reciprocal condition number thresh for info inversion.&quot;</span>);</div>
<div class="line"><a id="l00700" name="l00700"></a><span class="lineno"> 700</span> </div>
<div class="line"><a id="l00701" name="l00701"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af4eebbcf12dd4e9cfcee87552c8086df"> 701</a></span> RTABMAP_PARAM(OdomOpenVINS, TryZUPT, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;If we should try to use zero velocity update.&quot;</span>);</div>
<div class="line"><a id="l00702" name="l00702"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa67576cd497ae3c827fc00cdd383d7a6"> 702</a></span> RTABMAP_PARAM(OdomOpenVINS, ZUPTChi2Multiplier, <span class="keywordtype">double</span>, 0.0, <span class="stringliteral">&quot;Chi2 multiplier for zero velocity.&quot;</span>);</div>
<div class="line"><a id="l00703" name="l00703"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4bdf4f5c9e84c943a7414576b9192b26"> 703</a></span> RTABMAP_PARAM(OdomOpenVINS, ZUPTMaxVelodicy, <span class="keywordtype">double</span>, 0.1, <span class="stringliteral">&quot;Max velocity we will consider to try to do a zupt (i.e. if above this, don&#39;t do zupt).&quot;</span>);</div>
<div class="line"><a id="l00704" name="l00704"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac38e66485ad24d894911d9ce03986689"> 704</a></span> RTABMAP_PARAM(OdomOpenVINS, ZUPTNoiseMultiplier, <span class="keywordtype">double</span>, 10.0, <span class="stringliteral">&quot;Multiplier of our zupt measurement IMU noise matrix (default should be 1.0).&quot;</span>);</div>
<div class="line"><a id="l00705" name="l00705"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2f847a941866b28e6aa401babfe459c6"> 705</a></span> RTABMAP_PARAM(OdomOpenVINS, ZUPTMaxDisparity, <span class="keywordtype">double</span>, 0.5, <span class="stringliteral">&quot;Max disparity we will consider to try to do a zupt (i.e. if above this, don&#39;t do zupt).&quot;</span>);</div>
<div class="line"><a id="l00706" name="l00706"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a91b98b9532960850486e6eb55a12e06d"> 706</a></span> RTABMAP_PARAM(OdomOpenVINS, ZUPTOnlyAtBeginning, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If we should only use the zupt at the very beginning static initialization phase.&quot;</span>);</div>
<div class="line"><a id="l00707" name="l00707"></a><span class="lineno"> 707</span> </div>
<div class="line"><a id="l00708" name="l00708"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad3b48f09c6ae5b0749794c289763f6f3"> 708</a></span> RTABMAP_PARAM(OdomOpenVINS, AccelerometerNoiseDensity, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;[m/s^2/sqrt(Hz)] (accel \&quot;white noise\&quot;).&quot;</span>);</div>
<div class="line"><a id="l00709" name="l00709"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae244b49a31a04101cfcea4c5e5d6eff1"> 709</a></span> RTABMAP_PARAM(OdomOpenVINS, AccelerometerRandomWalk, <span class="keywordtype">double</span>, 0.001, <span class="stringliteral">&quot;[m/s^3/sqrt(Hz)] (accel bias diffusion).&quot;</span>);</div>
<div class="line"><a id="l00710" name="l00710"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a878cf99f652db81cb416c2b359fe8438"> 710</a></span> RTABMAP_PARAM(OdomOpenVINS, GyroscopeNoiseDensity, <span class="keywordtype">double</span>, 0.001, <span class="stringliteral">&quot;[rad/s/sqrt(Hz)] (gyro \&quot;white noise\&quot;).&quot;</span>);</div>
<div class="line"><a id="l00711" name="l00711"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6d7b2adb63801c77d39d5a72a09decad"> 711</a></span> RTABMAP_PARAM(OdomOpenVINS, GyroscopeRandomWalk, <span class="keywordtype">double</span>, 0.0001, <span class="stringliteral">&quot;[rad/s^2/sqrt(Hz)] (gyro bias diffusion).&quot;</span>);</div>
<div class="line"><a id="l00712" name="l00712"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#affdeec9133e7f06af421cccf87bcb981"> 712</a></span> RTABMAP_PARAM(OdomOpenVINS, UpMSCKFSigmaPx, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Pixel noise for MSCKF features.&quot;</span>);</div>
<div class="line"><a id="l00713" name="l00713"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad3a86a56e223816258cad17c2a0c0910"> 713</a></span> RTABMAP_PARAM(OdomOpenVINS, UpMSCKFChi2Multiplier, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Chi2 multiplier for MSCKF features.&quot;</span>);</div>
<div class="line"><a id="l00714" name="l00714"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9de79f11f8e9f5d61d18d2821b095070"> 714</a></span> RTABMAP_PARAM(OdomOpenVINS, UpSLAMSigmaPx, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Pixel noise for SLAM features.&quot;</span>);</div>
<div class="line"><a id="l00715" name="l00715"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab835ef788b3b42b8c85e11f89cadcd5b"> 715</a></span> RTABMAP_PARAM(OdomOpenVINS, UpSLAMChi2Multiplier, <span class="keywordtype">double</span>, 1.0, <span class="stringliteral">&quot;Chi2 multiplier for SLAM features.&quot;</span>);</div>
<div class="line"><a id="l00716" name="l00716"></a><span class="lineno"> 716</span> </div>
<div class="line"><a id="l00717" name="l00717"></a><span class="lineno"> 717</span> <span class="comment">// Odometry Open3D</span></div>
<div class="line"><a id="l00718" name="l00718"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3501ff6b79ecf1089480b180a24d375f"> 718</a></span> RTABMAP_PARAM(OdomOpen3D, MaxDepth, <span class="keywordtype">float</span>, 3.0, <span class="stringliteral">&quot;Maximum depth.&quot;</span>);</div>
<div class="line"><a id="l00719" name="l00719"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a454aed6a09f909eb384aaf7f5b6a0995"> 719</a></span> RTABMAP_PARAM(OdomOpen3D, Method, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Registration method: 0=PointToPlane, 1=Intensity, 2=Hybrid.&quot;</span>);</div>
<div class="line"><a id="l00720" name="l00720"></a><span class="lineno"> 720</span> </div>
<div class="line"><a id="l00721" name="l00721"></a><span class="lineno"> 721</span> <span class="comment">// Odometry cuVSLAM</span></div>
<div class="line"><a id="l00722" name="l00722"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6321edd033cc8dda8df213b2a3b27bbb"> 722</a></span> RTABMAP_PARAM(OdomCuVSLAM, MulticamMode, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;cuVSLAM multicam_mode setting: 0=moderate, 1=performance, 2=precision.&quot;</span>);</div>
<div class="line"><a id="l00723" name="l00723"></a><span class="lineno"> 723</span> </div>
<div class="line"><a id="l00724" name="l00724"></a><span class="lineno"> 724</span> <span class="comment">// Odometry LIO-SAM</span></div>
<div class="line"><a id="l00725" name="l00725"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae647bfc8e912c2a3a12ba0b1a9073c3a"> 725</a></span> RTABMAP_PARAM_STR(OdomLIOSAM, ConfigPath, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path to LIO-SAM params.yaml config file. When set, sensor/IMU/feature parameters are loaded from the file and the individual parameters below are ignored.&quot;</span>);</div>
<div class="line"><a id="l00726" name="l00726"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad936440b9718d013ae4e0c229c6c3e04"> 726</a></span> RTABMAP_PARAM(OdomLIOSAM, Sensor, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;LiDAR sensor: 0=Velodyne, 1=Ouster, 2=Livox&quot;</span>);</div>
<div class="line"><a id="l00727" name="l00727"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaba2ce4d92d139f3b114c1ffce133091"> 727</a></span> RTABMAP_PARAM(OdomLIOSAM, NScan, <span class="keywordtype">int</span>, 16, <span class="stringliteral">&quot;Number of LiDAR channels (16, 32, 64, 128).&quot;</span>);</div>
<div class="line"><a id="l00728" name="l00728"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae313ad29097b20594b73820d00dcdfeb"> 728</a></span> RTABMAP_PARAM(OdomLIOSAM, HorizonScan, <span class="keywordtype">int</span>, 1800, <span class="stringliteral">&quot;Horizontal resolution (Velodyne:1800, Ouster:512/1024/2048).&quot;</span>);</div>
<div class="line"><a id="l00729" name="l00729"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a099f2325458ade22804d20d84dfeee3e"> 729</a></span> RTABMAP_PARAM(OdomLIOSAM, ImuAccNoise, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;IMU accelerometer white noise.&quot;</span>);</div>
<div class="line"><a id="l00730" name="l00730"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6ccf979b8a2b786a4fa5310ecccd66cb"> 730</a></span> RTABMAP_PARAM(OdomLIOSAM, ImuGyrNoise, <span class="keywordtype">float</span>, 0.001, <span class="stringliteral">&quot;IMU gyroscope white noise.&quot;</span>);</div>
<div class="line"><a id="l00731" name="l00731"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a847625d6ff1cc59c2c3de02fd3c2e36b"> 731</a></span> RTABMAP_PARAM(OdomLIOSAM, ImuAccBiasN, <span class="keywordtype">float</span>, 0.0002,<span class="stringliteral">&quot;IMU accelerometer bias noise.&quot;</span>);</div>
<div class="line"><a id="l00732" name="l00732"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6ad4b345fb908c819f48b0da6c26391d"> 732</a></span> RTABMAP_PARAM(OdomLIOSAM, ImuGyrBiasN, <span class="keywordtype">float</span>, 0.00003,<span class="stringliteral">&quot;IMU gyroscope bias noise.&quot;</span>);</div>
<div class="line"><a id="l00733" name="l00733"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab07bee4cad6abb0d74b2b229340a0923"> 733</a></span> RTABMAP_PARAM(OdomLIOSAM, ImuGravity, <span class="keywordtype">float</span>, 9.80511,<span class="stringliteral">&quot;Gravity magnitude.&quot;</span>);</div>
<div class="line"><a id="l00734" name="l00734"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aea09c42680d231381944fd0791fdd09a"> 734</a></span> RTABMAP_PARAM(OdomLIOSAM, EdgeThreshold,<span class="keywordtype">float</span>, 1.0, <span class="stringliteral">&quot;Edge feature curvature threshold.&quot;</span>);</div>
<div class="line"><a id="l00735" name="l00735"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abcc86ef38c56a0a8cc7160aacbbc6d7d"> 735</a></span> RTABMAP_PARAM(OdomLIOSAM, SurfThreshold,<span class="keywordtype">float</span>, 0.1, <span class="stringliteral">&quot;Surface feature curvature threshold.&quot;</span>);</div>
<div class="line"><a id="l00736" name="l00736"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4ae6a37370f77e3576cbbf7aba5c5197"> 736</a></span> RTABMAP_PARAM(OdomLIOSAM, LinVar, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Linear output variance.&quot;</span>);</div>
<div class="line"><a id="l00737" name="l00737"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a575f1579dff09f3e994a1c240806df02"> 737</a></span> RTABMAP_PARAM(OdomLIOSAM, AngVar, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Angular output variance.&quot;</span>);</div>
<div class="line"><a id="l00738" name="l00738"></a><span class="lineno"> 738</span> </div>
<div class="line"><a id="l00739" name="l00739"></a><span class="lineno"> 739</span> <span class="comment">// Common registration parameters</span></div>
<div class="line"><a id="l00740" name="l00740"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a389ef8590b17e0c8e1cca6e01ed82ef0"> 740</a></span> RTABMAP_PARAM(Reg, RepeatOnce, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Do a second registration with the output of the first registration as guess. Only done if no guess was provided for the first registration (like on loop closure). It can be useful if the registration approach used can use a guess to get better matches.&quot;</span>);</div>
<div class="line"><a id="l00741" name="l00741"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2bf8075d9a8e7f47cb99b5ebafaaad34"> 741</a></span> RTABMAP_PARAM(Reg, Strategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=Vis, 1=Icp, 2=VisIcp&quot;</span>);</div>
<div class="line"><a id="l00742" name="l00742"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aee1046f9615d2ed988c952cc47c9331e"> 742</a></span> RTABMAP_PARAM(Reg, Force3DoF, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Force 3 degrees-of-freedom transform (3Dof: x,y and yaw). Parameters z, roll and pitch will be set to 0.&quot;</span>);</div>
<div class="line"><a id="l00743" name="l00743"></a><span class="lineno"> 743</span> </div>
<div class="line"><a id="l00744" name="l00744"></a><span class="lineno"> 744</span> <span class="comment">// Visual registration parameters</span></div>
<div class="line"><a id="l00745" name="l00745"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf0ed785770024ea04a36b5748be0acd"> 745</a></span> RTABMAP_PARAM(Vis, EstimationType, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Motion estimation approach: 0:3D-&gt;3D, 1:3D-&gt;2D (PnP), 2:2D-&gt;2D (Epipolar Geometry)&quot;</span>);</div>
<div class="line"><a id="l00746" name="l00746"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaaf5aa4cf8883a92ff81342023e4206e"> 746</a></span> RTABMAP_PARAM(Vis, InlierDistance, <span class="keywordtype">float</span>, 0.1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 0] Maximum distance for feature correspondences. Used by 3D-&gt;3D estimation approach.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00747" name="l00747"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa9777fe86b771f07d5c65e0f003bcae3"> 747</a></span> RTABMAP_PARAM(Vis, RefineIterations, <span class="keywordtype">int</span>, 5, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 0] Number of iterations used to refine the transformation found by RANSAC. 0 means that the transformation is not refined.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00748" name="l00748"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5726f7a1920f35b0ffd9f0fe267b1404"> 748</a></span> RTABMAP_PARAM(Vis, PnPReprojError, <span class="keywordtype">float</span>, 2, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] PnP reprojection error.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00749" name="l00749"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a525f5019e8faa02db110c201b0abe691"> 749</a></span> RTABMAP_PARAM(Vis, PnPFlags, <span class="keywordtype">int</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] PnP flags: 0=Iterative, 1=EPNP, 2=P3P&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00750" name="l00750"></a><span class="lineno"> 750</span><span class="preprocessor">#if defined(RTABMAP_G2O) || defined(RTABMAP_ORB_SLAM)</span></div>
<div class="line"><a id="l00751" name="l00751"></a><span class="lineno"> 751</span> RTABMAP_PARAM(Vis, PnPRefineIterations, <span class="keywordtype">int</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Refine iterations. Set to 0 if \&quot;%s\&quot; is also used.&quot;</span>, kVisEstimationType().c_str(), kVisBundleAdjustment().c_str()));</div>
<div class="line"><a id="l00752" name="l00752"></a><span class="lineno"> 752</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00753" name="l00753"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7a51cff01e503035688fe92d1a88183d"> 753</a></span> RTABMAP_PARAM(Vis, PnPRefineIterations, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Refine iterations. Set to 0 if \&quot;%s\&quot; is also used.&quot;</span>, kVisEstimationType().c_str(), kVisBundleAdjustment().c_str()));</div>
<div class="line"><a id="l00754" name="l00754"></a><span class="lineno"> 754</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00755" name="l00755"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a40a071dad5bb22dfc482f67142013f1a"> 755</a></span> RTABMAP_PARAM(Vis, PnPVarianceMedianRatio, <span class="keywordtype">int</span>, 4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Ratio used to compute variance of the estimated transformation if 3D correspondences are provided (should be &gt; 1). The higher it is, the smaller the covariance will be. With accurate depth estimation, this could be set to 2. For depth estimated by stereo, 4 or more maybe used to ignore large errors of very far points.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00756" name="l00756"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a14411e7adc3db5e7faed1c4376430529"> 756</a></span> RTABMAP_PARAM(Vis, PnPMaxVariance, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Max linear variance between 3D point correspondences after PnP. 0 means disabled.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00757" name="l00757"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a11862bd3db45c58db755e297d3647273"> 757</a></span> RTABMAP_PARAM(Vis, PnPSamplingPolicy, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Multi-camera random sampling policy: 0=AUTO, 1=ANY, 2=HOMOGENEOUS. With HOMOGENEOUS policy, RANSAC will be done uniformly against all cameras, so at least 2 matches per camera are required. With ANY policy, RANSAC is not constraint to sample on all cameras at the same time. AUTO policy will use HOMOGENEOUS if there are at least 2 matches per camera, otherwise it will fallback to ANY policy.&quot;</span>, kVisEstimationType().c_str()).c_str());</div>
<div class="line"><a id="l00758" name="l00758"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5a06db00062712789d4731839a76b789"> 758</a></span> RTABMAP_PARAM(Vis, PnPSplitLinearCovComponents, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 1] Compute variance for each linear component instead of using the combined XYZ variance for all linear components.&quot;</span>, kVisEstimationType().c_str()).c_str());</div>
<div class="line"><a id="l00759" name="l00759"></a><span class="lineno"> 759</span> </div>
<div class="line"><a id="l00760" name="l00760"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3f14a544667c829c6dfaea70168cc8d2"> 760</a></span> RTABMAP_PARAM(Vis, EpipolarGeometryVar, <span class="keywordtype">float</span>, 0.1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s = 2] Epipolar geometry maximum variance to accept the transformation.&quot;</span>, kVisEstimationType().c_str()));</div>
<div class="line"><a id="l00761" name="l00761"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a803b4fd705ce5153fd06920dc658689d"> 761</a></span> RTABMAP_PARAM(Vis, MinInliers, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Minimum feature correspondences to compute/accept the transformation.&quot;</span>);</div>
<div class="line"><a id="l00762" name="l00762"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afc400a1894120b3adbd301ea92dee760"> 762</a></span> RTABMAP_PARAM(Vis, MeanInliersDistance, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Maximum distance (m) of the mean distance of inliers from the camera to accept the transformation. 0 means disabled.&quot;</span>);</div>
<div class="line"><a id="l00763" name="l00763"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3fcf445dfb4a6e0d379a92e428dfa6dd"> 763</a></span> RTABMAP_PARAM(Vis, MinInliersDistribution, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Minimum distribution value of the inliers in the image to accept the transformation. The distribution is the second eigen value of the PCA (Principal Component Analysis) on the keypoints of the normalized image [-0.5, 0.5]. The value would be between 0 and 0.5. 0 means disabled.&quot;</span>);</div>
<div class="line"><a id="l00764" name="l00764"></a><span class="lineno"> 764</span> </div>
<div class="line"><a id="l00765" name="l00765"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a49294cd6ce5b24d516b2a88768e336ba"> 765</a></span> RTABMAP_PARAM(Vis, Iterations, <span class="keywordtype">int</span>, 300, <span class="stringliteral">&quot;Maximum iterations to compute the transform.&quot;</span>);</div>
<div class="line"><a id="l00766" name="l00766"></a><span class="lineno"> 766</span><span class="preprocessor">#if CV_MAJOR_VERSION &gt; 2 &amp;&amp; !defined(HAVE_OPENCV_XFEATURES2D)</span></div>
<div class="line"><a id="l00767" name="l00767"></a><span class="lineno"> 767</span> <span class="comment">// OpenCV&gt;2 without xFeatures2D module doesn&#39;t have BRIEF</span></div>
<div class="line"><a id="l00768" name="l00768"></a><span class="lineno"> 768</span> RTABMAP_PARAM(Vis, FeatureType, <span class="keywordtype">int</span>, 8, <span class="stringliteral">&quot;0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK 8=GFTT/ORB 9=KAZE 10=ORB-OCTREE 11=SuperPoint 12=SURF/FREAK 13=GFTT/DAISY 14=SURF/DAISY 15=PyDetector 16=SuperPoint-Rpautrat&quot;</span>);</div>
<div class="line"><a id="l00769" name="l00769"></a><span class="lineno"> 769</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00770" name="l00770"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6d6b05e1579e3b4598e0ef991f74f814"> 770</a></span> RTABMAP_PARAM(Vis, FeatureType, <span class="keywordtype">int</span>, 6, <span class="stringliteral">&quot;0=SURF 1=SIFT 2=ORB 3=FAST/FREAK 4=FAST/BRIEF 5=GFTT/FREAK 6=GFTT/BRIEF 7=BRISK 8=GFTT/ORB 9=KAZE 10=ORB-OCTREE 11=SuperPoint 12=SURF/FREAK 13=GFTT/DAISY 14=SURF/DAISY 15=PyDetector 16=SuperPoint-Rpautrat&quot;</span>);</div>
<div class="line"><a id="l00771" name="l00771"></a><span class="lineno"> 771</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00772" name="l00772"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4d1e65f17b6f579a3dc3ea706b7daece"> 772</a></span> RTABMAP_PARAM(Vis, MaxFeatures, <span class="keywordtype">int</span>, 1000, <span class="stringliteral">&quot;0 no limits.&quot;</span>);</div>
<div class="line"><a id="l00773" name="l00773"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2c78fb7b71679e3aa143f73ac02cc6e0"> 773</a></span> RTABMAP_PARAM(Vis, SSC, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If true, SSC (Suppression via Square Covering) is applied to limit keypoints.&quot;</span>);</div>
<div class="line"><a id="l00774" name="l00774"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afce66bb7dea92bf71cb6c40eee0525aa"> 774</a></span> RTABMAP_PARAM(Vis, MaxDepth, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Max depth of the features (0 means no limit).&quot;</span>);</div>
<div class="line"><a id="l00775" name="l00775"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0a34ea2af26613e72a8a40d45efe5f3b"> 775</a></span> RTABMAP_PARAM(Vis, MinDepth, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Min depth of the features (0 means no limit).&quot;</span>);</div>
<div class="line"><a id="l00776" name="l00776"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8b9bb46e56f16efd4e6e7b48b97ca4e8"> 776</a></span> RTABMAP_PARAM(Vis, DepthAsMask, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use depth image as mask when extracting features.&quot;</span>);</div>
<div class="line"><a id="l00777" name="l00777"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a03cefcae7f028d96a1ba1f2aee762594"> 777</a></span> RTABMAP_PARAM(Vis, DepthMaskFloorThr, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Filter floor from depth mask below specified threshold (m) before extracting features. 0 means disabled. Ignored if %s is false.&quot;</span>, kVisDepthAsMask().c_str()));</div>
<div class="line"><a id="l00778" name="l00778"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af63113a8692b8400a33c684cee55d604"> 778</a></span> RTABMAP_PARAM_STR(Vis, RoiRatios, <span class="stringliteral">&quot;0.0 0.0 0.0 0.0&quot;</span>, <span class="stringliteral">&quot;Region of interest ratios [left, right, top, bottom].&quot;</span>);</div>
<div class="line"><a id="l00779" name="l00779"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad12de348591423de8595d3c067b419e5"> 779</a></span> RTABMAP_PARAM(Vis, SubPixWinSize, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;See cv::cornerSubPix().&quot;</span>);</div>
<div class="line"><a id="l00780" name="l00780"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae5d158af0e723d456769f20f98624f61"> 780</a></span> RTABMAP_PARAM(Vis, SubPixIterations, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;See cv::cornerSubPix(). 0 disables sub pixel refining.&quot;</span>);</div>
<div class="line"><a id="l00781" name="l00781"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abb32e5ec30ef33bb29dbcb5123731630"> 781</a></span> RTABMAP_PARAM(Vis, SubPixEps, <span class="keywordtype">float</span>, 0.02, <span class="stringliteral">&quot;See cv::cornerSubPix().&quot;</span>);</div>
<div class="line"><a id="l00782" name="l00782"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a073559bc6e3b3b08ac7e7595e9e3dd2a"> 782</a></span> RTABMAP_PARAM(Vis, GridRows, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Number of rows of the grid used to extract uniformly \&quot;%s / grid cells\&quot; features from each cell.&quot;</span>, kVisMaxFeatures().c_str()));</div>
<div class="line"><a id="l00783" name="l00783"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac277e2a7fc50b150144308e1ba9b241a"> 783</a></span> RTABMAP_PARAM(Vis, GridCols, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Number of columns of the grid used to extract uniformly \&quot;%s / grid cells\&quot; features from each cell.&quot;</span>, kVisMaxFeatures().c_str()));</div>
<div class="line"><a id="l00784" name="l00784"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4390086fa765b55ed8db95ed4c84402f"> 784</a></span> RTABMAP_PARAM(Vis, CorType, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Correspondences computation approach: 0=Features Matching, 1=Optical Flow&quot;</span>);</div>
<div class="line"><a id="l00785" name="l00785"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a975192ffcb93b8b2923379657090fcf7"> 785</a></span> RTABMAP_PARAM(Vis, CorNNType, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=0] FLANN Linear=0, FLANN KdTree=1, FLANN LSH=2, Brute Force=3, Brute Force GPU=4, Brute Force Cross Check=5, SuperGlue=6, GMS=7, FLANN KdTree Single=8, NanoFLANN KdTree=9. Used for features matching approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00786" name="l00786"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9878752f654207e07d5ab91c957eea8e"> 786</a></span> RTABMAP_PARAM(Vis, CorNNDR, <span class="keywordtype">float</span>, 0.8, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=0] NNDR: nearest neighbor distance ratio. Used for knn features matching approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00787" name="l00787"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af34904f60b0b96ad96f9cbf1a4b14cd3"> 787</a></span> RTABMAP_PARAM(Vis, CorGuessWinSize, <span class="keywordtype">int</span>, 40, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=0] Matching window size (pixels) around projected points when a guess transform is provided to find correspondences. 0 means disabled.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00788" name="l00788"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa12553705c26df80ec035a08c172138f"> 788</a></span> RTABMAP_PARAM(Vis, CorGuessMatchToProjection, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=0] Match frame&#39;s corners to source&#39;s projected points (when guess transform is provided) instead of projected points to frame&#39;s corners.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00789" name="l00789"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb33251a94f3517c520a34a3a1283e5a"> 789</a></span> RTABMAP_PARAM(Vis, CorFlowWinSize, <span class="keywordtype">int</span>, 16, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] See cv::calcOpticalFlowPyrLK(). Used for optical flow approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00790" name="l00790"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0c297e3a0aee1942d658f82e737a4d8a"> 790</a></span> RTABMAP_PARAM(Vis, CorFlowIterations, <span class="keywordtype">int</span>, 30, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] See cv::calcOpticalFlowPyrLK(). Used for optical flow approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00791" name="l00791"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ace9e57ccaffb74ac1991465d20d0b8e3"> 791</a></span> RTABMAP_PARAM(Vis, CorFlowEps, <span class="keywordtype">float</span>, 0.01, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] See cv::calcOpticalFlowPyrLK(). Used for optical flow approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00792" name="l00792"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aef22d8f74728d085ae108c35a1791d82"> 792</a></span> RTABMAP_PARAM(Vis, CorFlowMaxLevel, <span class="keywordtype">int</span>, 3, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] See cv::calcOpticalFlowPyrLK(). Used for optical flow approach.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00793" name="l00793"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2a05bef06bac1622562c563fe32927a1"> 793</a></span> RTABMAP_PARAM(Vis, CorFlowUseMinEigenVals, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] See cv::calcOpticalFlowPyrLK(). Used for optical flow approach. Use minimum eigen values as an error measure, otherwise L1 distance between patches is used as an error measure.&quot;</span>, kVisCorType().c_str()));</div>
<div class="line"><a id="l00794" name="l00794"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aefee30d19bc9b87b06e21abe5eb1cbbc"> 794</a></span> RTABMAP_PARAM(Vis, CorFlowMinEigThreshold, <span class="keywordtype">float</span>, 1e-4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] If the minimum eigenvalue of a feature&#39;s spatial gradient matrix is less than this threshold, then the feature is filtered out.&quot;</span>, kVisCorFlowUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00795" name="l00795"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa67b91b1e6966f2877e82a38efbc388a"> 795</a></span> RTABMAP_PARAM(Vis, CorFlowErrorThreshold, <span class="keywordtype">float</span>, 20, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=false] Filter out features with error greater than this threshold.&quot;</span>, kVisCorFlowUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00796" name="l00796"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a434023e866dd8b6300a5952c0fecfbca"> 796</a></span> RTABMAP_PARAM(Vis, CorFlowGpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=1] Enable GPU version of the optical flow approach (only available if OpenCV is built with CUDA). Note that %s is not used in the GPU implementation.&quot;</span>, kVisCorType().c_str(), kVisCorFlowUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00797" name="l00797"></a><span class="lineno"> 797</span><span class="preprocessor"> #if defined(RTABMAP_G2O) || defined(RTABMAP_ORB_SLAM)</span></div>
<div class="line"><a id="l00798" name="l00798"></a><span class="lineno"> 798</span> RTABMAP_PARAM(Vis, BundleAdjustment, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Optimization with bundle adjustment. Value matches the %s parameter: 0=disabled (TORO is not BA-capable), 1=g2o, 2=GTSAM, 3=Ceres, 4=cvsba.&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00799" name="l00799"></a><span class="lineno"> 799</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00800" name="l00800"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a04e6d740b74a7796929a1265ff7be884"> 800</a></span> RTABMAP_PARAM(Vis, BundleAdjustment, <span class="keywordtype">int</span>, 0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Optimization with bundle adjustment. Value matches the %s parameter: 0=disabled (TORO is not BA-capable), 1=g2o, 2=GTSAM, 3=Ceres, 4=cvsba.&quot;</span>, kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00801" name="l00801"></a><span class="lineno"> 801</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00802" name="l00802"></a><span class="lineno"> 802</span> </div>
<div class="line"><a id="l00803" name="l00803"></a><span class="lineno"> 803</span> <span class="comment">// Features matching approaches</span></div>
<div class="line"><a id="l00804" name="l00804"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a978797b8ec7933292493fff90251fa5b"> 804</a></span> RTABMAP_PARAM_STR(PyMatcher, Path, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path to python script file (see available ones in rtabmap/corelib/src/python/*). See the header to see where the script should be copied.&quot;</span>);</div>
<div class="line"><a id="l00805" name="l00805"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a21c62122654773faec6dad9e861e6bfa"> 805</a></span> RTABMAP_PARAM(PyMatcher, Iterations, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;Sinkhorn iterations. Used by SuperGlue.&quot;</span>);</div>
<div class="line"><a id="l00806" name="l00806"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3e826c170c563783be3b31c129db5ecb"> 806</a></span> RTABMAP_PARAM(PyMatcher, Threshold, <span class="keywordtype">float</span>, 0.2, <span class="stringliteral">&quot;Used by SuperGlue.&quot;</span>);</div>
<div class="line"><a id="l00807" name="l00807"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae8b2abba1413851a1ef9d71c24691df9"> 807</a></span> RTABMAP_PARAM(PyMatcher, Cuda, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Used by SuperGlue.&quot;</span>);</div>
<div class="line"><a id="l00808" name="l00808"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9c56180fc02716fcb268ab139f211e3f"> 808</a></span> RTABMAP_PARAM_STR(PyMatcher, Model, <span class="stringliteral">&quot;indoor&quot;</span>, <span class="stringliteral">&quot;For SuperGlue, set only \&quot;indoor\&quot; or \&quot;outdoor\&quot;. For OANet, set path to one of the pth file (e.g., \&quot;OANet/model/gl3d/sift-4000/model_best.pth\&quot;).&quot;</span>);</div>
<div class="line"><a id="l00809" name="l00809"></a><span class="lineno"> 809</span> </div>
<div class="line"><a id="l00810" name="l00810"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afa02153eae02a863c54686e13b4537f1"> 810</a></span> RTABMAP_PARAM(GMS, WithRotation, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Take rotation transformation into account.&quot;</span>);</div>
<div class="line"><a id="l00811" name="l00811"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a346f5e35f0ec8b14df603785b59e7916"> 811</a></span> RTABMAP_PARAM(GMS, WithScale, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Take scale transformation into account.&quot;</span>);</div>
<div class="line"><a id="l00812" name="l00812"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9d9022450fb2ed8dc53ed0955c5565f5"> 812</a></span> RTABMAP_PARAM(GMS, ThresholdFactor, <span class="keywordtype">double</span>, 6.0, <span class="stringliteral">&quot;The higher, the less matches.&quot;</span>);</div>
<div class="line"><a id="l00813" name="l00813"></a><span class="lineno"> 813</span> </div>
<div class="line"><a id="l00814" name="l00814"></a><span class="lineno"> 814</span> <span class="comment">// Global descriptor approaches</span></div>
<div class="line"><a id="l00815" name="l00815"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a679be234a8731a22b2533291030920d9"> 815</a></span> RTABMAP_PARAM_STR(PyDescriptor, Path, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Path to python script file (see available ones in rtabmap/corelib/src/pydescriptor/*). See the header to see where the script should be used.&quot;</span>);</div>
<div class="line"><a id="l00816" name="l00816"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acd3f288c78d60132fe3103cc3baa56b6"> 816</a></span> RTABMAP_PARAM(PyDescriptor, Dim, <span class="keywordtype">int</span>, 4096, <span class="stringliteral">&quot;Descriptor dimension.&quot;</span>);</div>
<div class="line"><a id="l00817" name="l00817"></a><span class="lineno"> 817</span> </div>
<div class="line"><a id="l00818" name="l00818"></a><span class="lineno"> 818</span> <span class="comment">// ICP registration parameters</span></div>
<div class="line"><a id="l00819" name="l00819"></a><span class="lineno"> 819</span><span class="preprocessor">#ifdef RTABMAP_POINTMATCHER</span></div>
<div class="line"><a id="l00820" name="l00820"></a><span class="lineno"> 820</span> RTABMAP_PARAM(Icp, Strategy, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;ICP implementation: 0=Point Cloud Library, 1=libpointmatcher, 2=CCCoreLib (CloudCompare).&quot;</span>);</div>
<div class="line"><a id="l00821" name="l00821"></a><span class="lineno"> 821</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00822" name="l00822"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a460c9b69cba029ac63a92133bb5bd3b6"> 822</a></span> RTABMAP_PARAM(Icp, Strategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;ICP implementation: 0=Point Cloud Library, 1=libpointmatcher, 2=CCCoreLib (CloudCompare).&quot;</span>);</div>
<div class="line"><a id="l00823" name="l00823"></a><span class="lineno"> 823</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00824" name="l00824"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a48ad351e07d927c5e5d7078042360ac5"> 824</a></span> RTABMAP_PARAM(Icp, MaxTranslation, <span class="keywordtype">float</span>, 0.2, <span class="stringliteral">&quot;Maximum ICP translation correction accepted (m).&quot;</span>);</div>
<div class="line"><a id="l00825" name="l00825"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0fcc69faf752edc0413ffc74e1920bf3"> 825</a></span> RTABMAP_PARAM(Icp, MaxRotation, <span class="keywordtype">float</span>, 0.78, <span class="stringliteral">&quot;Maximum ICP rotation correction accepted (rad).&quot;</span>);</div>
<div class="line"><a id="l00826" name="l00826"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aefeff456decda53ac6ac935cc34514e1"> 826</a></span> RTABMAP_PARAM(Icp, VoxelSize, <span class="keywordtype">float</span>, 0.05, <span class="stringliteral">&quot;Uniform sampling voxel size (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00827" name="l00827"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a73f22b909b9f8c5f5a90507e413497c6"> 827</a></span> RTABMAP_PARAM(Icp, DownsamplingStep, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Downsampling step size (1=no sampling). This is done before uniform sampling.&quot;</span>);</div>
<div class="line"><a id="l00828" name="l00828"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac293ef0ededcbe97332e06f9193d7cf2"> 828</a></span> RTABMAP_PARAM(Icp, RangeMin, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Minimum range filtering (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00829" name="l00829"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0d045291712292ef1ea4c6be6e414744"> 829</a></span> RTABMAP_PARAM(Icp, RangeMax, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Maximum range filtering (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00830" name="l00830"></a><span class="lineno"> 830</span><span class="preprocessor">#ifdef RTABMAP_POINTMATCHER</span></div>
<div class="line"><a id="l00831" name="l00831"></a><span class="lineno"> 831</span> RTABMAP_PARAM(Icp, MaxCorrespondenceDistance, <span class="keywordtype">float</span>, 0.1, <span class="stringliteral">&quot;Max distance for point correspondences.&quot;</span>);</div>
<div class="line"><a id="l00832" name="l00832"></a><span class="lineno"> 832</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00833" name="l00833"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2062addb9e1f26d9869c8a8a335c275c"> 833</a></span> RTABMAP_PARAM(Icp, MaxCorrespondenceDistance, <span class="keywordtype">float</span>, 0.05, <span class="stringliteral">&quot;Max distance for point correspondences.&quot;</span>);</div>
<div class="line"><a id="l00834" name="l00834"></a><span class="lineno"> 834</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00835" name="l00835"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3567fdbac78fa3f98b98fc043e8c06df"> 835</a></span> RTABMAP_PARAM(Icp, ReciprocalCorrespondences, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;To be a valid correspondence, the corresponding point in target cloud to point in source cloud should be both their closest closest correspondence.&quot;</span>);</div>
<div class="line"><a id="l00836" name="l00836"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a272a33aa43d7ce5adaf1928f619ed1d6"> 836</a></span> RTABMAP_PARAM(Icp, Iterations, <span class="keywordtype">int</span>, 30, <span class="stringliteral">&quot;Max iterations.&quot;</span>);</div>
<div class="line"><a id="l00837" name="l00837"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae7c659591f51feff0b74a925b26a8ac8"> 837</a></span> RTABMAP_PARAM(Icp, Epsilon, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Set the transformation epsilon (maximum allowable difference between two consecutive transformations) in order for an optimization to be considered as having converged to the final solution.&quot;</span>);</div>
<div class="line"><a id="l00838" name="l00838"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adfe8c59562a8b2a4c05a577bd246b33f"> 838</a></span> RTABMAP_PARAM(Icp, CorrespondenceRatio, <span class="keywordtype">float</span>, 0.1, <span class="stringliteral">&quot;Ratio of matching correspondences to accept the transform.&quot;</span>);</div>
<div class="line"><a id="l00839" name="l00839"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a86c2803255834b69cc9b5557721c5ed3"> 839</a></span> RTABMAP_PARAM(Icp, Force4DoF, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Limit ICP to x, y, z and yaw DoF. Available if %s &gt; 0.&quot;</span>, kIcpStrategy().c_str()));</div>
<div class="line"><a id="l00840" name="l00840"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afe98ba19467980deea6f7c792358bccd"> 840</a></span> RTABMAP_PARAM(Icp, FiltersEnabled, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Flag to enable filters: 1=\&quot;from\&quot; cloud only, 2=\&quot;to\&quot; cloud only, 3=both.&quot;</span>);</div>
<div class="line"><a id="l00841" name="l00841"></a><span class="lineno"> 841</span><span class="preprocessor">#ifdef RTABMAP_POINTMATCHER</span></div>
<div class="line"><a id="l00842" name="l00842"></a><span class="lineno"> 842</span> RTABMAP_PARAM(Icp, PointToPlane, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use point to plane ICP.&quot;</span>);</div>
<div class="line"><a id="l00843" name="l00843"></a><span class="lineno"> 843</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00844" name="l00844"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#add9b61da4ce22d5a0f847e48e05968fd"> 844</a></span> RTABMAP_PARAM(Icp, PointToPlane, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Use point to plane ICP.&quot;</span>);</div>
<div class="line"><a id="l00845" name="l00845"></a><span class="lineno"> 845</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00846" name="l00846"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac1a10501fecebad9b4013b0ff7a8bad7"> 846</a></span> RTABMAP_PARAM(Icp, PointToPlaneK, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Number of neighbors to compute normals for point to plane if the cloud doesn&#39;t have already normals.&quot;</span>);</div>
<div class="line"><a id="l00847" name="l00847"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1856ca425ea0dbce101dee61123c6193"> 847</a></span> RTABMAP_PARAM(Icp, PointToPlaneRadius, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Search radius to compute normals for point to plane if the cloud doesn&#39;t have already normals.&quot;</span>);</div>
<div class="line"><a id="l00848" name="l00848"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a60ccd48fddfb1c45c371d9827197a982"> 848</a></span> RTABMAP_PARAM(Icp, PointToPlaneGroundNormalsUp, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Invert normals on ground if they are pointing down (useful for ring-like 3D LiDARs). 0 means disabled, 1 means only normals perfectly aligned with -z axis. This is only done with 3D scans.&quot;</span>);</div>
<div class="line"><a id="l00849" name="l00849"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a37bc1c553ac075d0dde1b5f0df877952"> 849</a></span> RTABMAP_PARAM(Icp, PointToPlaneMinComplexity, <span class="keywordtype">float</span>, 0.02, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Minimum structural complexity (0.0=low, 1.0=high) of the scan to do PointToPlane registration, otherwise PointToPoint registration is done instead and strategy from %s is used. This check is done only when %s=true.&quot;</span>, kIcpPointToPlaneLowComplexityStrategy().c_str(), kIcpPointToPlane().c_str()));</div>
<div class="line"><a id="l00850" name="l00850"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7921673566fbb71db1143b3c1866b3e5"> 850</a></span> RTABMAP_PARAM(Icp, PointToPlaneComplexityCentered, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If false (default), the complexity metric uses the uncentered second-moment matrix (1/N) * sum(n_i * n_i^T), whose smallest eigenvalue directly measures how well the surface normals span R^N. If true, uses centered PCA (cv::PCA covariance) for backwards compatibility -- but the centered metric is known to mis-classify perpendicular-surface scenes as degenerate when normals are consistently viewpoint-flipped (only N distinct directions in N-D collapse to rank N-1 after centering). For true degeneracies (parallel surfaces, e.g. corridors) the two metrics agree because the normal mean is zero. The %s threshold of 0.02 works under either setting.&quot;</span>, kIcpPointToPlaneMinComplexity().c_str()));</div>
<div class="line"><a id="l00851" name="l00851"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad3249c659f7314d8715d109a4df9356b"> 851</a></span> RTABMAP_PARAM(Icp, PointToPlaneLowComplexityStrategy, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;If structural complexity is below %s: set to 0 so that the transform is automatically rejected, set to 1 (default, legacy) to recompute the transform with PointToPoint and limit its correction in axes with most constraints (e.g., for a corridor-like environment, the resulting transform will be limited in y and yaw, x will taken from the guess), set to 2 to recompute the transform with PointToPoint and accept it \&quot;as is\&quot;, set to 3 to keep the PointToPlane transform and apply the same axis-constrained projection as strategy 1.&quot;</span>, kIcpPointToPlaneMinComplexity().c_str()));</div>
<div class="line"><a id="l00852" name="l00852"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad1301dc537bbe67736be508c5e85bf55"> 852</a></span> RTABMAP_PARAM(Icp, OutlierRatio, <span class="keywordtype">float</span>, 0.85, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Outlier ratio. For libpointmatcher (%s=1), sets TrimmedDistOutlierFilter/ratio for convenience when configuration file is not set. For CCCoreLib (%s=2), sets \&quot;finalOverlapRatio\&quot;. For PCL (%s=0), if 0&lt;value&lt;1, installs a RANSAC correspondence rejector with inlier threshold = value * %s. The value should be between 0 and 1.&quot;</span>, kIcpStrategy().c_str(), kIcpStrategy().c_str(), kIcpStrategy().c_str(), kIcpMaxCorrespondenceDistance().c_str()));</div>
<div class="line"><a id="l00853" name="l00853"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a66006bf7dd18f8a0de308bbcf0bab014"> 853</a></span> RTABMAP_PARAM_STR(Icp, DebugExportFormat, <span class="stringliteral">&quot;&quot;</span>, <span class="stringliteral">&quot;Export scans used for ICP in the specified format (a warning on terminal will be shown with the file paths used). Supported formats are \&quot;pcd\&quot;, \&quot;ply\&quot; or \&quot;vtk\&quot;. If logger level is debug, from and to scans will stamped, so previous files won&#39;t be overwritten.&quot;</span>);</div>
<div class="line"><a id="l00854" name="l00854"></a><span class="lineno"> 854</span> </div>
<div class="line"><a id="l00855" name="l00855"></a><span class="lineno"> 855</span> <span class="comment">// libpointmatcher</span></div>
<div class="line"><a id="l00856" name="l00856"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6980f6acce87ef655f8fab7e301db560"> 856</a></span> RTABMAP_PARAM_STR(Icp, PMConfig, <span class="stringliteral">&quot;&quot;</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Configuration file (*.yaml) used by libpointmatcher. Note that data filters set for libpointmatcher are done after filtering done by rtabmap (i.e., %s, %s), so make sure to disable those in rtabmap if you want to use only those from libpointmatcher. Parameters %s, %s and %s are also ignored if configuration file is set.&quot;</span>, kIcpVoxelSize().c_str(), kIcpDownsamplingStep().c_str(), kIcpIterations().c_str(), kIcpEpsilon().c_str(), kIcpMaxCorrespondenceDistance().c_str()).c_str());</div>
<div class="line"><a id="l00857" name="l00857"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a46b977b4ad9a3c1a7a6dbb6ff9e191ab"> 857</a></span> RTABMAP_PARAM(Icp, PMMatcherKnn, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;KDTreeMatcher/knn: number of nearest neighbors to consider it the reference. For convenience when configuration file is not set.&quot;</span>);</div>
<div class="line"><a id="l00858" name="l00858"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac7bc6428c071295fb0a042a7b293e366"> 858</a></span> RTABMAP_PARAM(Icp, PMMatcherEpsilon, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;KDTreeMatcher/epsilon: approximation to use for the nearest-neighbor search. For convenience when configuration file is not set.&quot;</span>);</div>
<div class="line"><a id="l00859" name="l00859"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a818c7242245d46e324e81dcf77a8792c"> 859</a></span> RTABMAP_PARAM(Icp, PMMatcherIntensity, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;KDTreeMatcher: among nearest neighbors, keep only the one with the most similar intensity. This only work with %s&gt;1.&quot;</span>, kIcpPMMatcherKnn().c_str()));</div>
<div class="line"><a id="l00860" name="l00860"></a><span class="lineno"> 860</span> </div>
<div class="line"><a id="l00861" name="l00861"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abff765f21e3216be19abad3c884f41ba"> 861</a></span> RTABMAP_PARAM(Icp, CCSamplingLimit, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 50000, <span class="stringliteral">&quot;Maximum number of points per cloud (they are randomly resampled below this limit otherwise).&quot;</span>);</div>
<div class="line"><a id="l00862" name="l00862"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac70e4c88b147402e0252cf4dec8dbdb5"> 862</a></span> RTABMAP_PARAM(Icp, CCFilterOutFarthestPoints, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;If true, the algorithm will automatically ignore farthest points from the reference, for better convergence.&quot;</span>);</div>
<div class="line"><a id="l00863" name="l00863"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aac51ae7a84230f23c174dede57dcd4c9"> 863</a></span> RTABMAP_PARAM(Icp, CCMaxFinalRMS, <span class="keywordtype">float</span>, 0.2, <span class="stringliteral">&quot;Maximum final RMS error.&quot;</span>);</div>
<div class="line"><a id="l00864" name="l00864"></a><span class="lineno"> 864</span> </div>
<div class="line"><a id="l00865" name="l00865"></a><span class="lineno"> 865</span> <span class="comment">// Stereo disparity</span></div>
<div class="line"><a id="l00866" name="l00866"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abaf98fb040c73d8184620b83aa17a665"> 866</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, WinWidth, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;Window width.&quot;</span>);</div>
<div class="line"><a id="l00867" name="l00867"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a73674efa12b70980fd75d2ccb6d570d7"> 867</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, WinHeight, <span class="keywordtype">int</span>, 3, <span class="stringliteral">&quot;Window height.&quot;</span>);</div>
<div class="line"><a id="l00868" name="l00868"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab71248546a9b14dfb0a9d9caf978fd11"> 868</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, Iterations, <span class="keywordtype">int</span>, 30, <span class="stringliteral">&quot;Maximum iterations.&quot;</span>);</div>
<div class="line"><a id="l00869" name="l00869"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#adb2d145c305560d9c5c660bb74a024b5"> 869</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, MaxLevel, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Maximum pyramid level.&quot;</span>);</div>
<div class="line"><a id="l00870" name="l00870"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ace1334e39c04840c4607f3369c73deaa"> 870</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, MinDisparity, <span class="keywordtype">float</span>, 0.5, <span class="stringliteral">&quot;Minimum disparity.&quot;</span>);</div>
<div class="line"><a id="l00871" name="l00871"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3610794bc2182265cb702f459f46b4a9"> 871</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, MaxDisparity, <span class="keywordtype">float</span>, 128.0, <span class="stringliteral">&quot;Maximum disparity.&quot;</span>);</div>
<div class="line"><a id="l00872" name="l00872"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a9a332a183a459fb27dc5a209d7ed79d7"> 872</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, OpticalFlow, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Use optical flow to find stereo correspondences, otherwise a simple block matching approach is used.&quot;</span>);</div>
<div class="line"><a id="l00873" name="l00873"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8e40f0194449e89021f25b90456fc4da"> 873</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, SSD, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=false] Use Sum of Squared Differences (SSD) window, otherwise Sum of Absolute Differences (SAD) window is used.&quot;</span>, kStereoOpticalFlow().c_str()));</div>
<div class="line"><a id="l00874" name="l00874"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#affd797869ba81693ceb41c699a16b189"> 874</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, Eps, <span class="keywordtype">double</span>, 0.01, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Epsilon stop criterion.&quot;</span>, kStereoOpticalFlow().c_str()));</div>
<div class="line"><a id="l00875" name="l00875"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a02e16884db0e7711c14361f21abc8ab7"> 875</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, UseMinEigenVals, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Use minimum eigen values as an error measure, otherwise L1 distance between patches is used as an error measure.&quot;</span>, kStereoOpticalFlow().c_str()));</div>
<div class="line"><a id="l00876" name="l00876"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac7f0f4f9f362450c79ae78851913fdcf"> 876</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, MinEigThreshold, <span class="keywordtype">double</span>, 1e-4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] If the minimum eigenvalue of a feature&#39;s spatial gradient matrix is less than this threshold, then the feature is filtered out.&quot;</span>, kStereoUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00877" name="l00877"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a43dd4b83451d88127fe3d92d24a6f468"> 877</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, ErrorThreshold, <span class="keywordtype">double</span>, 50, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=false] Filter out features with error greater than this threshold.&quot;</span>, kStereoUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00878" name="l00878"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3be75b42ebe3f34e345f97c38944ce21"> 878</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, Gpu, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Enable GPU version of the optical flow approach (only available if OpenCV is built with CUDA). Note that %s is not used in the GPU implementation.&quot;</span>, kStereoOpticalFlow().c_str(), kStereoUseMinEigenVals().c_str()));</div>
<div class="line"><a id="l00879" name="l00879"></a><span class="lineno"> 879</span> </div>
<div class="line"><a id="l00880" name="l00880"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae37ed02b9869832e1e40015b2a742cae"> 880</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1Stereo.html">Stereo</a>, DenseStrategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;0=cv::StereoBM, 1=cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00881" name="l00881"></a><span class="lineno"> 881</span> </div>
<div class="line"><a id="l00882" name="l00882"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af41ea4fb7bb26a8997b8fbe9b72ab579"> 882</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, BlockSize, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00883" name="l00883"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#afb4c35b0bf30231b04ab959ce0bf2042"> 883</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, MinDisparity, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00884" name="l00884"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abea19c85ecb7d078942054d2396ce9d8"> 884</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, NumDisparities, <span class="keywordtype">int</span>, 128, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00885" name="l00885"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a729dda48a58cb48cef88cd1c523120da"> 885</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, PreFilterSize, <span class="keywordtype">int</span>, 9, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00886" name="l00886"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aabe53158599b1479ed66ddf61d688188"> 886</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, PreFilterCap, <span class="keywordtype">int</span>, 31, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00887" name="l00887"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8a86b2a1c92d1c60ff8732df829d93e0"> 887</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, UniquenessRatio, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00888" name="l00888"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7988cca845e3d4ab0f9c8f4044c7b357"> 888</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, TextureThreshold, <span class="keywordtype">int</span>, 10, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00889" name="l00889"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad4388d8163b7c79ca22a81e10de1da7f"> 889</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, SpeckleWindowSize, <span class="keywordtype">int</span>, 100, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00890" name="l00890"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1fe10e68203a20650dad3c0b158babef"> 890</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, SpeckleRange, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00891" name="l00891"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a28f2f033c9e4d8ec27d5e681985f8405"> 891</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoBM.html">StereoBM</a>, Disp12MaxDiff, <span class="keywordtype">int</span>, -1, <span class="stringliteral">&quot;See cv::StereoBM&quot;</span>);</div>
<div class="line"><a id="l00892" name="l00892"></a><span class="lineno"> 892</span> </div>
<div class="line"><a id="l00893" name="l00893"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa9b0276b847320e2ceb5f6f536e8b4d6"> 893</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, BlockSize, <span class="keywordtype">int</span>, 15, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00894" name="l00894"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a10a6872195e5d06d192599c34f466f3e"> 894</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, MinDisparity, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00895" name="l00895"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a21c10e376ba39baa30de0852667f0b95"> 895</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, NumDisparities, <span class="keywordtype">int</span>, 128, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00896" name="l00896"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a56df9c1f66bc2386969a7e98db78a616"> 896</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, PreFilterCap, <span class="keywordtype">int</span>, 31, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00897" name="l00897"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4d94a30645c4f406bcd07c81c44404eb"> 897</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, UniquenessRatio, <span class="keywordtype">int</span>, 20, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00898" name="l00898"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0b799762d41b09d020c89d6591db4530"> 898</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, SpeckleWindowSize, <span class="keywordtype">int</span>, 100, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00899" name="l00899"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#affdf258b1abcb915b8b434f0cf896609"> 899</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, SpeckleRange, <span class="keywordtype">int</span>, 4, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00900" name="l00900"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3bc7e2d1fbfb1cf62d41a112b23fcfa2"> 900</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, Disp12MaxDiff, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00901" name="l00901"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4430ed2635ebecb07373215e32d22528"> 901</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, P1, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00902" name="l00902"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4b4d64be676abfea14639a769bdb4de0"> 902</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, P2, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00903" name="l00903"></a><span class="lineno"> 903</span><span class="preprocessor">#if CV_MAJOR_VERSION &lt; 3</span></div>
<div class="line"><a id="l00904" name="l00904"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae15de14b2d38197d68681b431127c8d7"> 904</a></span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, Mode, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00905" name="l00905"></a><span class="lineno"> 905</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00906" name="l00906"></a><span class="lineno"> 906</span> RTABMAP_PARAM(<a class="code hl_class" href="classrtabmap_1_1StereoSGBM.html">StereoSGBM</a>, Mode, <span class="keywordtype">int</span>, 2, <span class="stringliteral">&quot;See cv::StereoSGBM&quot;</span>);</div>
<div class="line"><a id="l00907" name="l00907"></a><span class="lineno"> 907</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00908" name="l00908"></a><span class="lineno"> 908</span> </div>
<div class="line"><a id="l00909" name="l00909"></a><span class="lineno"> 909</span> <span class="comment">// Occupancy Grid</span></div>
<div class="line"><a id="l00910" name="l00910"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#acbadf2f07b7bc3f4e766e16c958f7d83"> 910</a></span> RTABMAP_PARAM(Grid, Sensor, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;Create occupancy grid from selected sensor: 0=laser scan, 1=depth image(s) or 2=both laser scan and depth image(s).&quot;</span>);</div>
<div class="line"><a id="l00911" name="l00911"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a57bd48a54aaaa5973c8d344e0a92915f"> 911</a></span> RTABMAP_PARAM(Grid, DepthDecimation, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 4, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Decimation of the depth image before creating cloud.&quot;</span>, kGridDepthDecimation().c_str()));</div>
<div class="line"><a id="l00912" name="l00912"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a8405ef0df1d5abf50bc367a75c3ab7c7"> 912</a></span> RTABMAP_PARAM(Grid, RangeMin, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Minimum range from sensor.&quot;</span>);</div>
<div class="line"><a id="l00913" name="l00913"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a58347bba2b64588e462f105bfc35e3f3"> 913</a></span> RTABMAP_PARAM(Grid, RangeMax, <span class="keywordtype">float</span>, 5.0, <span class="stringliteral">&quot;Maximum range from sensor. 0=inf.&quot;</span>);</div>
<div class="line"><a id="l00914" name="l00914"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae6f3eb72ad5123476e03b78cef47f523"> 914</a></span> RTABMAP_PARAM_STR(Grid, DepthRoiRatios, <span class="stringliteral">&quot;0.0 0.0 0.0 0.0&quot;</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s&gt;=1] Region of interest ratios [left, right, top, bottom].&quot;</span>, kGridSensor().c_str()));</div>
<div class="line"><a id="l00915" name="l00915"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1aa053c04e42ff09046df1377518cc96"> 915</a></span> RTABMAP_PARAM(Grid, FootprintLength, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Footprint length used to filter points over the footprint of the robot.&quot;</span>);</div>
<div class="line"><a id="l00916" name="l00916"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf2fc9dd2873ddd03969776c9e832dfa"> 916</a></span> RTABMAP_PARAM(Grid, FootprintWidth, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Footprint width used to filter points over the footprint of the robot. Footprint length should be set.&quot;</span>);</div>
<div class="line"><a id="l00917" name="l00917"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab6ee60666b38709085569d70174ebf84"> 917</a></span> RTABMAP_PARAM(Grid, FootprintHeight, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Footprint height used to filter points over the footprint of the robot. Footprint length and width should be set.&quot;</span>);</div>
<div class="line"><a id="l00918" name="l00918"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae3ff9dc2f20c580bcf76f7fa064cca4f"> 918</a></span> RTABMAP_PARAM(Grid, ScanDecimation, <span class="keywordtype">int</span>, 1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=0 or 2] Decimation of the laser scan before creating cloud.&quot;</span>, kGridSensor().c_str()));</div>
<div class="line"><a id="l00919" name="l00919"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a96a93b16ce8e0a4126ce6503a6bd5f2d"> 919</a></span> RTABMAP_PARAM(Grid, CellSize, <span class="keywordtype">float</span>, 0.05, <span class="stringliteral">&quot;Resolution of the occupancy grid.&quot;</span>);</div>
<div class="line"><a id="l00920" name="l00920"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a65bdcf12c06a2b558ed703cba95a6034"> 920</a></span> RTABMAP_PARAM(Grid, PreVoxelFiltering, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Input cloud is downsampled by voxel filter (voxel size is \&quot;%s\&quot;) before doing segmentation of obstacles and ground.&quot;</span>, kGridCellSize().c_str()));</div>
<div class="line"><a id="l00921" name="l00921"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a82ca167bf012afed26ef43c8e870fc34"> 921</a></span> RTABMAP_PARAM(Grid, MapFrameProjection, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Projection in map frame. On a 3D terrain and a fixed local camera transform (the cloud is created relative to ground), you may want to disable this to do the projection in robot frame instead.&quot;</span>);</div>
<div class="line"><a id="l00922" name="l00922"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a41e52d754479af71f18e7389fe92ab81"> 922</a></span> RTABMAP_PARAM(Grid, NormalsSegmentation, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Segment ground from obstacles using point normals, otherwise a fast passthrough is used.&quot;</span>);</div>
<div class="line"><a id="l00923" name="l00923"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a248d9d96681e897e39d1ec93d4185777"> 923</a></span> RTABMAP_PARAM(Grid, MaxObstacleHeight, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Maximum obstacles height (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00924" name="l00924"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aaf47b8fce88fbd8444775c4e953e3243"> 924</a></span> RTABMAP_PARAM(Grid, MinGroundHeight, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Minimum ground height (0=disabled).&quot;</span>);</div>
<div class="line"><a id="l00925" name="l00925"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2b87b706a55a4b178800bd2f232f1854"> 925</a></span> RTABMAP_PARAM(Grid, MaxGroundHeight, <span class="keywordtype">float</span>, 0.0, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Maximum ground height (0=disabled). Should be set if \&quot;%s\&quot; is false.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00926" name="l00926"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a58513dd50061768ea9d3ad1638fce78f"> 926</a></span> RTABMAP_PARAM(Grid, MaxGroundAngle, <span class="keywordtype">float</span>, 45, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Maximum angle (degrees) between point&#39;s normal to ground&#39;s normal to label it as ground. Points with higher angle difference are considered as obstacles.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00927" name="l00927"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac0b04b0c1d17cc4927269c09a8b0cf07"> 927</a></span> RTABMAP_PARAM(Grid, NormalK, <span class="keywordtype">int</span>, 20, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] K neighbors to compute normals.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00928" name="l00928"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad6a857a91d940c7dbb754c6baa7349ad"> 928</a></span> RTABMAP_PARAM(Grid, ClusterRadius, <span class="keywordtype">float</span>, 0.1, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Cluster maximum radius.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00929" name="l00929"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a101841642b00291cc1c50e6f42442653"> 929</a></span> RTABMAP_PARAM(Grid, MinClusterSize, <span class="keywordtype">int</span>, 10, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Minimum cluster size to project the points.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00930" name="l00930"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af0c8e5bb596876f4721823afd95505cb"> 930</a></span> RTABMAP_PARAM(Grid, FlatObstacleDetected, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Flat obstacles detected.&quot;</span>, kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00931" name="l00931"></a><span class="lineno"> 931</span><span class="preprocessor">#ifdef RTABMAP_OCTOMAP</span></div>
<div class="line"><a id="l00932" name="l00932"></a><span class="lineno"> 932</span> RTABMAP_PARAM(Grid, 3D, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;A 3D occupancy grid is required if you want an OctoMap (3D ray tracing). Set to false if you want only a 2D map, the cloud will be projected on xy plane. A 2D map can be still generated if checked, but it requires more memory and time to generate it. Ignored if laser scan is 2D and \&quot;%s\&quot; is 0.&quot;</span>, kGridSensor().c_str()));</div>
<div class="line"><a id="l00933" name="l00933"></a><span class="lineno"> 933</span><span class="preprocessor">#else</span></div>
<div class="line"><a id="l00934" name="l00934"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0b6eb3bba47924c214f33a281771d8d9"> 934</a></span> RTABMAP_PARAM(Grid, 3D, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;A 3D occupancy grid is required if you want an OctoMap (3D ray tracing). Set to false if you want only a 2D map, the cloud will be projected on xy plane. A 2D map can be still generated if checked, but it requires more memory and time to generate it. Ignored if laser scan is 2D and \&quot;%s\&quot; is 0.&quot;</span>, kGridSensor().c_str()));</div>
<div class="line"><a id="l00935" name="l00935"></a><span class="lineno"> 935</span><span class="preprocessor">#endif</span></div>
<div class="line"><a id="l00936" name="l00936"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a36b39cd7eff09c4c1aeef3c458651670"> 936</a></span> RTABMAP_PARAM(Grid, GroundIsObstacle, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;[%s=true] Ground segmentation (%s) is ignored, all points are obstacles. Use this only if you want an OctoMap with ground identified as an obstacle (e.g., with an UAV).&quot;</span>, kGrid3D().c_str(), kGridNormalsSegmentation().c_str()));</div>
<div class="line"><a id="l00937" name="l00937"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7aeb29b1f9a2bc1b8c1ba9ab83b445de"> 937</a></span> RTABMAP_PARAM(Grid, NoiseFilteringRadius, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Noise filtering radius (0=disabled). Done after segmentation.&quot;</span>);</div>
<div class="line"><a id="l00938" name="l00938"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7d13e70bb851fc35b34da4f0e58bf41a"> 938</a></span> RTABMAP_PARAM(Grid, NoiseFilteringMinNeighbors, <span class="keywordtype">int</span>, 5, <span class="stringliteral">&quot;Noise filtering minimum neighbors.&quot;</span>);</div>
<div class="line"><a id="l00939" name="l00939"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2e953d7c1d784099b5bf9743a155b7f7"> 939</a></span> RTABMAP_PARAM(Grid, Scan2dUnknownSpaceFilled, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Unknown space filled. Only used with 2D laser scans. Use %s to set maximum range if laser scan max range is to set.&quot;</span>, kGridRangeMax().c_str()));</div>
<div class="line"><a id="l00940" name="l00940"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a83124bee1f8c7deb63d15f871129b56a"> 940</a></span> RTABMAP_PARAM(Grid, RayTracing, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Ray tracing is done for each occupied cell, filling unknown space between the sensor and occupied cells. If %s=true, RTAB-Map should be built with OctoMap support, otherwise 3D ray tracing is ignored.&quot;</span>, kGrid3D().c_str()));</div>
<div class="line"><a id="l00941" name="l00941"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6e25c31658e200cac75e71dd9dd6424f"> 941</a></span> RTABMAP_PARAM(GridGlobal, UpdateError, <span class="keywordtype">float</span>, 0.01, <span class="stringliteral">&quot;Graph changed detection error (m). Update map only if poses in new optimized graph have moved more than this value.&quot;</span>);</div>
<div class="line"><a id="l00942" name="l00942"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#abd9b4c3907b11a093b8576f8e225fd0b"> 942</a></span> RTABMAP_PARAM(GridGlobal, FootprintRadius, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Footprint radius (m) used to clear all obstacles under the graph.&quot;</span>);</div>
<div class="line"><a id="l00943" name="l00943"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a782ef417fcb895f4c9bd50a7c623e434"> 943</a></span> RTABMAP_PARAM(GridGlobal, MinSize, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Minimum map size (m).&quot;</span>);</div>
<div class="line"><a id="l00944" name="l00944"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a11677d5287f3b6c0d4b4480b9526bad1"> 944</a></span> RTABMAP_PARAM(GridGlobal, Eroded, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <span class="stringliteral">&quot;Erode obstacle cells.&quot;</span>);</div>
<div class="line"><a id="l00945" name="l00945"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a40f120fb907600ce7992aed2bc10d6f9"> 945</a></span> RTABMAP_PARAM(GridGlobal, MaxNodes, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Maximum nodes assembled in the map starting from the last node (0=unlimited).&quot;</span>);</div>
<div class="line"><a id="l00946" name="l00946"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a11495d14ef327e284d01b65c9c74f3bb"> 946</a></span> RTABMAP_PARAM(GridGlobal, AltitudeDelta, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;Assemble only nodes that have the same altitude of +-delta meters of the current pose (0=disabled). This is used to generate 2D occupancy grid based on the current altitude (e.g., multi-floor building).&quot;</span>);</div>
<div class="line"><a id="l00947" name="l00947"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af5cf3655e66ba2f8e86b84af68a2c358"> 947</a></span> RTABMAP_PARAM(GridGlobal, OccupancyThr, <span class="keywordtype">float</span>, 0.5, <span class="stringliteral">&quot;Occupancy threshold (value between 0 and 1).&quot;</span>);</div>
<div class="line"><a id="l00948" name="l00948"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a6318e26b58df3545e2968b6d828d395e"> 948</a></span> RTABMAP_PARAM(GridGlobal, ProbHit, <span class="keywordtype">float</span>, 0.7, <span class="stringliteral">&quot;Probability of a hit (value between 0.5 and 1).&quot;</span>);</div>
<div class="line"><a id="l00949" name="l00949"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ab69bcf2461998d744f3a6cd3f65b23d8"> 949</a></span> RTABMAP_PARAM(GridGlobal, ProbMiss, <span class="keywordtype">float</span>, 0.4, <span class="stringliteral">&quot;Probability of a miss (value between 0 and 0.5).&quot;</span>);</div>
<div class="line"><a id="l00950" name="l00950"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a41502bbdd364b10113db122354becb5a"> 950</a></span> RTABMAP_PARAM(GridGlobal, ProbClampingMin, <span class="keywordtype">float</span>, 0.1192, <span class="stringliteral">&quot;Probability clamping minimum (value between 0 and 1).&quot;</span>);</div>
<div class="line"><a id="l00951" name="l00951"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af08efafaf8747496a8669fdfcb07d8af"> 951</a></span> RTABMAP_PARAM(GridGlobal, ProbClampingMax, <span class="keywordtype">float</span>, 0.971, <span class="stringliteral">&quot;Probability clamping maximum (value between 0 and 1).&quot;</span>);</div>
<div class="line"><a id="l00952" name="l00952"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4d3ad503a5b8737aa3528ca27b6bee02"> 952</a></span> RTABMAP_PARAM(GridGlobal, FloodFillDepth, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Flood fill filter (0=disabled), used to remove empty cells outside the map. The flood fill is done at the specified depth (between 1 and 16) of the OctoMap.&quot;</span>);</div>
<div class="line"><a id="l00953" name="l00953"></a><span class="lineno"> 953</span> </div>
<div class="line"><a id="l00954" name="l00954"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae1e284597b4137aa16e0462c545b27b7"> 954</a></span> RTABMAP_PARAM(Marker, Strategy, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Marker detection implementation: 0=OpenCV, 1=AprilTag&quot;</span>);</div>
<div class="line"><a id="l00955" name="l00955"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a89e4e2adc1501701afcb33b835a019c1"> 955</a></span> RTABMAP_PARAM(Marker, Dictionary, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Dictionary to use: DICT_ARUCO_4X4_50=0, DICT_ARUCO_4X4_100=1, DICT_ARUCO_4X4_250=2, DICT_ARUCO_4X4_1000=3, DICT_ARUCO_5X5_50=4, DICT_ARUCO_5X5_100=5, DICT_ARUCO_5X5_250=6, DICT_ARUCO_5X5_1000=7, DICT_ARUCO_6X6_50=8, DICT_ARUCO_6X6_100=9, DICT_ARUCO_6X6_250=10, DICT_ARUCO_6X6_1000=11, DICT_ARUCO_7X7_50=12, DICT_ARUCO_7X7_100=13, DICT_ARUCO_7X7_250=14, DICT_ARUCO_7X7_1000=15, DICT_ARUCO_ORIGINAL = 16, DICT_APRILTAG_16h5=17, DICT_APRILTAG_25h9=18, DICT_APRILTAG_36h10=19, DICT_APRILTAG_36h11=20, DICT_ARUCO_MIP_36H12=21&quot;</span>);</div>
<div class="line"><a id="l00956" name="l00956"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae807eaa877eeb5ecbfc633ef746cdca7"> 956</a></span> RTABMAP_PARAM(Marker, Length, <span class="keywordtype">float</span>, 0, <span class="stringliteral">&quot;The length (m) of the markers&#39; side. Value &lt;=0 means automatic marker length estimation using the depth image (the camera should look at the marker perpendicularly for initialization). If 0, the length is estimated only on the first marker detected, then re-used for all next detections (i.e., this assumes that markers have all the same length). With &lt;0, the length is estimated once for each unique marker, then re-used for next detections with the same marker ID.&quot;</span>);</div>
<div class="line"><a id="l00957" name="l00957"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a200c43f96c1a74b1a0bffb44b0e3b0b7"> 957</a></span> RTABMAP_PARAM_STR(Marker, Lengths, <span class="stringliteral">&quot;&quot;</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;List of markers to detect. Format is the marker&#39;s ID followed by its length (in meters), multiple markers are separated by a vertical line (\&quot;id1 length|id2 length\&quot;). We can also define a range of markers with \&quot;id1:id2 length\&quot; (id2 included). If empty, all markers of the chosen dictionary can be detected and their length is set/estimated based on %s. For example, to detect markers 12 and 14 with lengths of 8 and 15 cm respectively, and all markers between 30 and 40 with a length of 10 cm, set \&quot;12 0.08|14 0.15|30:40 0.1\&quot;.&quot;</span>, kMarkerLength().c_str()).c_str());</div>
<div class="line"><a id="l00958" name="l00958"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1a22d9e421f766a7e14b6ff60bea1c5c"> 958</a></span> RTABMAP_PARAM(Marker, MaxDepthError, <span class="keywordtype">float</span>, 0.01, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Maximum depth error between all corners of a marker when estimating the marker length (when %s is 0). The smaller it is, the more perpendicular the camera should be toward the marker to initialize the length.&quot;</span>, kMarkerLength().c_str()));</div>
<div class="line"><a id="l00959" name="l00959"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae68320748306e51bfac2d41d752c2f60"> 959</a></span> RTABMAP_PARAM(Marker, VarianceLinear, <span class="keywordtype">float</span>, 0.001, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Linear variance to set on marker detections. If %s is enabled and %s=2 (GTSAM): it is the variance of the range factor, with 9999 to disable range factor and to do only bearing.&quot;</span>, kMarkerVarianceOrientationIgnored().c_str(), kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00960" name="l00960"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a4685a5901c92910d199cc9232e682888"> 960</a></span> RTABMAP_PARAM(Marker, VarianceAngular, <span class="keywordtype">float</span>, 0.01, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;Angular variance to set on marker detections. If %s is enabled, it is ignored with %s=1 (g2o) and it corresponds to bearing variance with %s=2 (GTSAM).&quot;</span>, kMarkerVarianceOrientationIgnored().c_str(), kOptimizerStrategy().c_str(), kOptimizerStrategy().c_str()));</div>
<div class="line"><a id="l00961" name="l00961"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad02a68ccc38dfe99c474bce7f8c1beb8"> 961</a></span> RTABMAP_PARAM(Marker, VarianceOrientationIgnored, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When this setting is false, the landmark&#39;s orientation is optimized during graph optimization. When this setting is true, only the position of the landmark is optimized. This can be useful when the landmark&#39;s orientation estimation is not reliable. Note that for %s=1 (g2o), only %s needs be set if we ignore orientation. For %s=2 (GTSAM), instead of optimizing the landmark&#39;s position directly, a bearing/range factor is used, with %s as the variance of the range factor (with 9999 to optimize the position with only a bearing factor) and %s as the variance of the bearing factor (pitch/yaw).&quot;</span>, kOptimizerStrategy().c_str(), kMarkerVarianceLinear().c_str(), kOptimizerStrategy().c_str(), kMarkerVarianceLinear().c_str(), kMarkerVarianceAngular().c_str()));</div>
<div class="line"><a id="l00962" name="l00962"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a10a1eb6ba4c13f00b2859bcbf2ca75bf"> 962</a></span> RTABMAP_PARAM(Marker, MaxRange, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Maximum range in which markers will be detected. &lt;=0 for unlimited range.&quot;</span>);</div>
<div class="line"><a id="l00963" name="l00963"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ada7dff5d592bb160272f6056fb9712b4"> 963</a></span> RTABMAP_PARAM(Marker, MinRange, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;Miniminum range in which markers will be detected. &lt;=0 for unlimited range.&quot;</span>);</div>
<div class="line"><a id="l00964" name="l00964"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a967c0591e9b4a922f266e569f4872ab2"> 964</a></span> RTABMAP_PARAM_STR(Marker, Priors, <span class="stringliteral">&quot;&quot;</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;World prior locations of the markers. The map will be transformed in marker&#39;s world frame when a tag is detected. Format is the marker&#39;s ID followed by its position (angles in rad), multiple markers are separated by vertical line (\&quot;id1 x y z roll pitch yaw|id2 x y z roll pitch yaw\&quot;). Example: \&quot;1 0 0 1 0 0 0|2 1 0 1 0 0 1.57\&quot; (marker 2 is 1 meter forward than marker 1 with 90 deg yaw rotation). The priors are used only if %s is false.&quot;</span>, kOptimizerPriorsIgnored().c_str()));</div>
<div class="line"><a id="l00965" name="l00965"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a5f8b4750c25c3b11c26aa6e65534fa7a"> 965</a></span> RTABMAP_PARAM(Marker, PriorsVarianceLinear, <span class="keywordtype">float</span>, 0.001, <span class="stringliteral">&quot;Linear variance to set on marker priors.&quot;</span>);</div>
<div class="line"><a id="l00966" name="l00966"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a0d6c4002cfe7b213dc76655d011fe586"> 966</a></span> RTABMAP_PARAM(Marker, PriorsVarianceAngular, <span class="keywordtype">float</span>, 0.001, <span class="stringliteral">&quot;Angular variance to set on marker priors.&quot;</span>);</div>
<div class="line"><a id="l00967" name="l00967"></a><span class="lineno"> 967</span> </div>
<div class="line"><a id="l00968" name="l00968"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a2bbec969b470dce7e649350ad6cec3ba"> 968</a></span> RTABMAP_PARAM(MarkerAprilTag, NThreads, <span class="keywordtype">int</span>, 1, <span class="stringliteral">&quot;How many threads should be used?&quot;</span>);</div>
<div class="line"><a id="l00969" name="l00969"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#af1bf0c1f974d3a6f7af71ba86e362054"> 969</a></span> RTABMAP_PARAM(MarkerAprilTag, QuadDecimate, <span class="keywordtype">float</span>, 1.0, <span class="stringliteral">&quot;Detection of quads can be done on a lower-resolution image, improving speed at a cost of pose accuracy and a slight decrease in detection rate. Decoding the binary payload is still done at full resolution.&quot;</span>);</div>
<div class="line"><a id="l00970" name="l00970"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a46902165a0506cf367120c75fc0bdadb"> 970</a></span> RTABMAP_PARAM(MarkerAprilTag, QuadSigma, <span class="keywordtype">float</span>, 0.0, <span class="stringliteral">&quot;What Gaussian blur should be applied to the segmented image (used for quad detection?) Parameter is the standard deviation in pixels. Very noisy images benefit from non-zero values (e.g. 0.8).&quot;</span>);</div>
<div class="line"><a id="l00971" name="l00971"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ace2768173b1e4dd7c4c90313df1a6687"> 971</a></span> RTABMAP_PARAM(MarkerAprilTag, RefineEdges, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When true, the edges of the each quad are adjusted to \&quot;snap to\&quot; strong gradients nearby. This is useful when decimation is employed, as it can increase the quality of the initial quad estimate substantially. Generally recommended to be on (true). Very computationally inexpensive. Option is ignored if %s = 1.&quot;</span>, kMarkerAprilTagQuadDecimate().c_str()));</div>
<div class="line"><a id="l00972" name="l00972"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac71c241a47b182a2397b667aecc2db60"> 972</a></span> RTABMAP_PARAM(MarkerAprilTag, DecodeSharpening, <span class="keywordtype">double</span>, 0.25, <span class="stringliteral">&quot;How much sharpening should be done to decoded images? This can help decode small tags but may or may not help in odd lighting conditions or low light conditions.&quot;</span>);</div>
<div class="line"><a id="l00973" name="l00973"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ac64439e547bca975dffbc4e1e2d7d323"> 973</a></span> RTABMAP_PARAM(MarkerAprilTag, Debug, <span class="keywordtype">bool</span>, <span class="keyword">false</span>, <a class="code hl_function" href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a>(<span class="stringliteral">&quot;When true, write a variety of debugging images to the working directory where the app started (not %s) at various stages through the detection process. (Somewhat slow).&quot;</span>, kRtabmapWorkingDirectory().c_str()));</div>
<div class="line"><a id="l00974" name="l00974"></a><span class="lineno"> 974</span> </div>
<div class="line"><a id="l00975" name="l00975"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ad3ea4f4e9a55812e44b336f515e58107"> 975</a></span> RTABMAP_PARAM(MarkerOpenCV, CornerRefinementMethod, <span class="keywordtype">int</span>, 0, <span class="stringliteral">&quot;Corner refinement method for OpenCV strategy (0: None, 1: Subpixel, 2:contour, 3: AprilTag2). For OpenCV &lt;3.3.0, this is \&quot;doCornerRefinement\&quot; parameter: set 0 for false and 1 for true.&quot;</span>);</div>
<div class="line"><a id="l00976" name="l00976"></a><span class="lineno"> 976</span> </div>
<div class="line"><a id="l00977" name="l00977"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a00093b3dc49ed5480355d0032c17002f"> 977</a></span> RTABMAP_PARAM(ImuFilter, MadgwickGain, <span class="keywordtype">double</span>, 0.1, <span class="stringliteral">&quot;Gain of the filter. Higher values lead to faster convergence but more noise. Lower values lead to slower convergence but smoother signal, belongs in [0, 1].&quot;</span>);</div>
<div class="line"><a id="l00978" name="l00978"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a506655a4389ba5a6a37d4d59df788d3b"> 978</a></span> RTABMAP_PARAM(ImuFilter, MadgwickZeta, <span class="keywordtype">double</span>, 0.0, <span class="stringliteral">&quot;Gyro drift gain (approx. rad/s), belongs in [-1, 1].&quot;</span>);</div>
<div class="line"><a id="l00979" name="l00979"></a><span class="lineno"> 979</span> </div>
<div class="line"><a id="l00980" name="l00980"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aeab1fce7ec197b0c98d9f59cd3bf0245"> 980</a></span> RTABMAP_PARAM(ImuFilter, ComplementaryGainAcc, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;Gain parameter for the complementary filter, belongs in [0, 1].&quot;</span>);</div>
<div class="line"><a id="l00981" name="l00981"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#aa83213367d3e8ed5a397a32bc7cab340"> 981</a></span> RTABMAP_PARAM(ImuFilter, ComplementaryBiasAlpha, <span class="keywordtype">double</span>, 0.01, <span class="stringliteral">&quot;Bias estimation gain parameter, belongs in [0, 1].&quot;</span>);</div>
<div class="line"><a id="l00982" name="l00982"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a1227b448cd86787f3947379a5a2b035e"> 982</a></span> RTABMAP_PARAM(ImuFilter, ComplementaryDoBiasEstimation, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Parameter whether to do bias estimation or not.&quot;</span>);</div>
<div class="line"><a id="l00983" name="l00983"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a85c221b4112ae51e9fb66e3c0641cea3"> 983</a></span> RTABMAP_PARAM(ImuFilter, ComplementaryDoAdpativeGain, <span class="keywordtype">bool</span>, <span class="keyword">true</span>, <span class="stringliteral">&quot;Parameter whether to do adaptive gain or not.&quot;</span>);</div>
<div class="line"><a id="l00984" name="l00984"></a><span class="lineno"> 984</span> </div>
<div class="line"><a id="l00985" name="l00985"></a><span class="lineno"> 985</span><span class="keyword">public</span>:</div>
<div class="line"><a id="l00986" name="l00986"></a><span class="lineno"> 986</span> <span class="keyword">virtual</span> <a class="code hl_class" href="classrtabmap_1_1Parameters.html">~Parameters</a>();</div>
<div class="line"><a id="l00987" name="l00987"></a><span class="lineno"> 987</span> </div>
<div class="foldopen" id="foldopen00992" data-start="{" data-end="}">
<div class="line"><a id="l00992" name="l00992"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a3921b82495e0308f8cfcbdb8ef072e21"> 992</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; <a class="code hl_function" href="classrtabmap_1_1Parameters.html#a3921b82495e0308f8cfcbdb8ef072e21">getDefaultParameters</a>()</div>
<div class="line"><a id="l00993" name="l00993"></a><span class="lineno"> 993</span> {</div>
<div class="line"><a id="l00994" name="l00994"></a><span class="lineno"> 994</span> <span class="keywordflow">return</span> parameters_;</div>
<div class="line"><a id="l00995" name="l00995"></a><span class="lineno"> 995</span> }</div>
</div>
<div class="line"><a id="l00996" name="l00996"></a><span class="lineno"> 996</span> </div>
<div class="line"><a id="l01001" name="l01001"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a08f4ea48ac7dbd93cb322d1c89b455b0"> 1001</a></span> <span class="keyword">static</span> std::string <a class="code hl_function" href="classrtabmap_1_1Parameters.html#a08f4ea48ac7dbd93cb322d1c89b455b0">getType</a>(<span class="keyword">const</span> std::string &amp; paramKey);</div>
<div class="line"><a id="l01002" name="l01002"></a><span class="lineno"> 1002</span> </div>
<div class="line"><a id="l01007" name="l01007"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a7aacfe3e18e28a1fb81d0f3f0ffbb414"> 1007</a></span> <span class="keyword">static</span> std::string <a class="code hl_function" href="classrtabmap_1_1Parameters.html#a7aacfe3e18e28a1fb81d0f3f0ffbb414">getDescription</a>(<span class="keyword">const</span> std::string &amp; paramKey);</div>
<div class="line"><a id="l01008" name="l01008"></a><span class="lineno"> 1008</span> </div>
<div class="line"><a id="l01009" name="l01009"></a><span class="lineno"> 1009</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, <span class="keywordtype">bool</span> &amp; value);</div>
<div class="line"><a id="l01010" name="l01010"></a><span class="lineno"> 1010</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, <span class="keywordtype">int</span> &amp; value);</div>
<div class="line"><a id="l01011" name="l01011"></a><span class="lineno"> 1011</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> &amp; value);</div>
<div class="line"><a id="l01012" name="l01012"></a><span class="lineno"> 1012</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, <span class="keywordtype">float</span> &amp; value);</div>
<div class="line"><a id="l01013" name="l01013"></a><span class="lineno"> 1013</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, <span class="keywordtype">double</span> &amp; value);</div>
<div class="line"><a id="l01014" name="l01014"></a><span class="lineno"> 1014</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; key, std::string &amp; value);</div>
<div class="line"><a id="l01015" name="l01015"></a><span class="lineno"> 1015</span> <span class="keyword">static</span> <span class="keywordtype">void</span> parse(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parametersOut);</div>
<div class="line"><a id="l01016" name="l01016"></a><span class="lineno"> 1016</span> </div>
<div class="line"><a id="l01017" name="l01017"></a><span class="lineno"> 1017</span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">char</span> * showUsage();</div>
<div class="line"><a id="l01018" name="l01018"></a><span class="lineno"> 1018</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> parseArguments(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span> * argv[], <span class="keywordtype">bool</span> onlyParameters = <span class="keyword">false</span>);</div>
<div class="line"><a id="l01019" name="l01019"></a><span class="lineno"> 1019</span> </div>
<div class="line"><a id="l01020" name="l01020"></a><span class="lineno"> 1020</span> <span class="keyword">static</span> std::string getVersion();</div>
<div class="line"><a id="l01021" name="l01021"></a><span class="lineno"> 1021</span> <span class="keyword">static</span> std::string getDefaultDatabaseName();</div>
<div class="line"><a id="l01022" name="l01022"></a><span class="lineno"> 1022</span> </div>
<div class="line"><a id="l01023" name="l01023"></a><span class="lineno"> 1023</span> <span class="keyword">static</span> std::string serialize(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters);</div>
<div class="line"><a id="l01024" name="l01024"></a><span class="lineno"> 1024</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> deserialize(<span class="keyword">const</span> std::string &amp; parameters);</div>
<div class="line"><a id="l01025" name="l01025"></a><span class="lineno"> 1025</span> </div>
<div class="line"><a id="l01026" name="l01026"></a><span class="lineno"> 1026</span> <span class="keyword">static</span> <span class="keywordtype">bool</span> isFeatureParameter(<span class="keyword">const</span> std::string &amp; param);</div>
<div class="line"><a id="l01027" name="l01027"></a><span class="lineno"> 1027</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> getDefaultOdometryParameters(<span class="keywordtype">bool</span> stereo = <span class="keyword">false</span>, <span class="keywordtype">bool</span> vis = <span class="keyword">true</span>, <span class="keywordtype">bool</span> icp = <span class="keyword">false</span>);</div>
<div class="line"><a id="l01028" name="l01028"></a><span class="lineno"> 1028</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> getDefaultParameters(<span class="keyword">const</span> std::string &amp; group);</div>
<div class="line"><a id="l01033" name="l01033"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a24faced7b8d2ebb7045cd6f8f6382ad7"> 1033</a></span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> <a class="code hl_function" href="classrtabmap_1_1Parameters.html#a24faced7b8d2ebb7045cd6f8f6382ad7">filterParameters</a>(<span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keyword">const</span> std::string &amp; group, <span class="keywordtype">bool</span> remove = <span class="keyword">false</span>);</div>
<div class="line"><a id="l01034" name="l01034"></a><span class="lineno"> 1034</span> </div>
<div class="line"><a id="l01035" name="l01035"></a><span class="lineno"> 1035</span> <span class="keyword">static</span> <span class="keywordtype">void</span> readINI(<span class="keyword">const</span> std::string &amp; configFile, <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keywordtype">bool</span> modifiedOnly = <span class="keyword">false</span>);</div>
<div class="line"><a id="l01036" name="l01036"></a><span class="lineno"> 1036</span> <span class="keyword">static</span> <span class="keywordtype">void</span> readINIStr(<span class="keyword">const</span> std::string &amp; configContent, <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters, <span class="keywordtype">bool</span> modifiedOnly = <span class="keyword">false</span>);</div>
<div class="line"><a id="l01037" name="l01037"></a><span class="lineno"> 1037</span> <span class="keyword">static</span> <span class="keywordtype">void</span> writeINI(<span class="keyword">const</span> std::string &amp; configFile, <span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; parameters);</div>
<div class="line"><a id="l01038" name="l01038"></a><span class="lineno"> 1038</span> </div>
<div class="line"><a id="l01043" name="l01043"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#ae3e84e415669d8c8bf17b119683b1056"> 1043</a></span> <span class="keyword">static</span> <span class="keyword">const</span> std::map&lt;std::string, std::pair&lt;bool, std::string&gt; &gt; &amp; <a class="code hl_function" href="classrtabmap_1_1Parameters.html#ae3e84e415669d8c8bf17b119683b1056">getRemovedParameters</a>();</div>
<div class="line"><a id="l01044" name="l01044"></a><span class="lineno"> 1044</span> </div>
<div class="line"><a id="l01048" name="l01048"></a><span class="lineno"><a class="line" href="classrtabmap_1_1Parameters.html#a66c12cd1e2e614cc5c987cf7f0dbe2be"> 1048</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp; <a class="code hl_function" href="classrtabmap_1_1Parameters.html#a66c12cd1e2e614cc5c987cf7f0dbe2be">getBackwardCompatibilityMap</a>();</div>
<div class="line"><a id="l01049" name="l01049"></a><span class="lineno"> 1049</span> </div>
<div class="line"><a id="l01050" name="l01050"></a><span class="lineno"> 1050</span> <span class="keyword">static</span> std::string createDefaultWorkingDirectory();</div>
<div class="line"><a id="l01051" name="l01051"></a><span class="lineno"> 1051</span> </div>
<div class="line"><a id="l01052" name="l01052"></a><span class="lineno"> 1052</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l01053" name="l01053"></a><span class="lineno"> 1053</span> <a class="code hl_class" href="classrtabmap_1_1Parameters.html">Parameters</a>();</div>
<div class="line"><a id="l01054" name="l01054"></a><span class="lineno"> 1054</span> </div>
<div class="line"><a id="l01055" name="l01055"></a><span class="lineno"> 1055</span><span class="keyword">private</span>:</div>
<div class="line"><a id="l01056" name="l01056"></a><span class="lineno"> 1056</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> parameters_;</div>
<div class="line"><a id="l01057" name="l01057"></a><span class="lineno"> 1057</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> parametersType_;</div>
<div class="line"><a id="l01058" name="l01058"></a><span class="lineno"> 1058</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> descriptions_;</div>
<div class="line"><a id="l01059" name="l01059"></a><span class="lineno"> 1059</span> <span class="keyword">static</span> <a class="code hl_class" href="classrtabmap_1_1Parameters.html">Parameters</a> instance_;</div>
<div class="line"><a id="l01060" name="l01060"></a><span class="lineno"> 1060</span> </div>
<div class="line"><a id="l01061" name="l01061"></a><span class="lineno"> 1061</span> <span class="keyword">static</span> std::map&lt;std::string, std::pair&lt;bool, std::string&gt; &gt; removedParameters_;</div>
<div class="line"><a id="l01062" name="l01062"></a><span class="lineno"> 1062</span> <span class="keyword">static</span> <a class="code hl_typedef" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> backwardCompatibilityMap_;</div>
<div class="line"><a id="l01063" name="l01063"></a><span class="lineno"> 1063</span>};</div>
</div>
<div class="line"><a id="l01064" name="l01064"></a><span class="lineno"> 1064</span> </div>
<div class="line"><a id="l01065" name="l01065"></a><span class="lineno"> 1065</span>}</div>
<div class="line"><a id="l01066" name="l01066"></a><span class="lineno"> 1066</span> </div>
<div class="line"><a id="l01067" name="l01067"></a><span class="lineno"> 1067</span><span class="preprocessor">#endif </span><span class="comment">/* PARAMETERS_H_ */</span><span class="preprocessor"></span></div>
<div class="ttc" id="aUConversion_8h_html"><div class="ttname"><a href="UConversion_8h.html">UConversion.h</a></div><div class="ttdoc">Some conversion functions.</div></div>
<div class="ttc" id="aUConversion_8h_html_a59ad5e2b3368d3dd19d73a24159388ce"><div class="ttname"><a href="UConversion_8h.html#a59ad5e2b3368d3dd19d73a24159388ce">uFormat</a></div><div class="ttdeci">std::string UTILITE_EXPORT uFormat(const char *fmt,...)</div></div>
<div class="ttc" id="aclassrtabmap_1_1BRISK_html"><div class="ttname"><a href="classrtabmap_1_1BRISK.html">rtabmap::BRISK</a></div><div class="ttdoc">BRISK detector and descriptor.</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00598">Features2d.h:599</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1FAST_html"><div class="ttname"><a href="classrtabmap_1_1FAST.html">rtabmap::FAST</a></div><div class="ttdoc">FAST corner detector only (no descriptor).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00415">Features2d.h:416</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1GFTT_html"><div class="ttname"><a href="classrtabmap_1_1GFTT.html">rtabmap::GFTT</a></div><div class="ttdoc">Good-features-to-track detector (Shi–Tomasi / Harris).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00493">Features2d.h:494</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1KAZE_html"><div class="ttname"><a href="classrtabmap_1_1KAZE.html">rtabmap::KAZE</a></div><div class="ttdoc">KAZE detector and descriptor (OpenCV 3+).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00620">Features2d.h:621</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1ORB_html"><div class="ttname"><a href="classrtabmap_1_1ORB.html">rtabmap::ORB</a></div><div class="ttdoc">ORB detector and descriptor (optional GPU).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00383">Features2d.h:384</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1Optimizer_html"><div class="ttname"><a href="classrtabmap_1_1Optimizer.html">rtabmap::Optimizer</a></div><div class="ttdoc">Abstract base for pose-graph and bundle-adjustment optimizers.</div><div class="ttdef"><b>Definition</b> <a href="Optimizer_8h_source.html#l00090">Optimizer.h:91</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html"><div class="ttname"><a href="classrtabmap_1_1Parameters.html">rtabmap::Parameters</a></div><div class="ttdef"><b>Definition</b> <a href="Parameters_8h_source.html#l00182">Parameters.h:183</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_a08f4ea48ac7dbd93cb322d1c89b455b0"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#a08f4ea48ac7dbd93cb322d1c89b455b0">rtabmap::Parameters::getType</a></div><div class="ttdeci">static std::string getType(const std::string &amp;paramKey)</div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_a24faced7b8d2ebb7045cd6f8f6382ad7"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#a24faced7b8d2ebb7045cd6f8f6382ad7">rtabmap::Parameters::filterParameters</a></div><div class="ttdeci">static ParametersMap filterParameters(const ParametersMap &amp;parameters, const std::string &amp;group, bool remove=false)</div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_a3921b82495e0308f8cfcbdb8ef072e21"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#a3921b82495e0308f8cfcbdb8ef072e21">rtabmap::Parameters::getDefaultParameters</a></div><div class="ttdeci">static const ParametersMap &amp; getDefaultParameters()</div><div class="ttdef"><b>Definition</b> <a href="Parameters_8h_source.html#l00992">Parameters.h:992</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_a66c12cd1e2e614cc5c987cf7f0dbe2be"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#a66c12cd1e2e614cc5c987cf7f0dbe2be">rtabmap::Parameters::getBackwardCompatibilityMap</a></div><div class="ttdeci">static const ParametersMap &amp; getBackwardCompatibilityMap()</div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_a7aacfe3e18e28a1fb81d0f3f0ffbb414"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#a7aacfe3e18e28a1fb81d0f3f0ffbb414">rtabmap::Parameters::getDescription</a></div><div class="ttdeci">static std::string getDescription(const std::string &amp;paramKey)</div></div>
<div class="ttc" id="aclassrtabmap_1_1Parameters_html_ae3e84e415669d8c8bf17b119683b1056"><div class="ttname"><a href="classrtabmap_1_1Parameters.html#ae3e84e415669d8c8bf17b119683b1056">rtabmap::Parameters::getRemovedParameters</a></div><div class="ttdeci">static const std::map&lt; std::string, std::pair&lt; bool, std::string &gt; &gt; &amp; getRemovedParameters()</div></div>
<div class="ttc" id="aclassrtabmap_1_1Rtabmap_html"><div class="ttname"><a href="classrtabmap_1_1Rtabmap.html">rtabmap::Rtabmap</a></div><div class="ttdoc">Top-level RTAB-Map SLAM pipeline (mapping, localization and loop closure).</div><div class="ttdef"><b>Definition</b> <a href="Rtabmap_8h_source.html#l00193">Rtabmap.h:194</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SIFT_html"><div class="ttname"><a href="classrtabmap_1_1SIFT.html">rtabmap::SIFT</a></div><div class="ttdoc">SIFT detector and descriptor (optional GPU / CudaSift).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00348">Features2d.h:349</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SURF_html"><div class="ttname"><a href="classrtabmap_1_1SURF.html">rtabmap::SURF</a></div><div class="ttdoc">SURF detector and descriptor (non-free / xfeatures2d depending on OpenCV build).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00320">Features2d.h:321</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoBM_html"><div class="ttname"><a href="classrtabmap_1_1StereoBM.html">rtabmap::StereoBM</a></div><div class="ttdoc">Block Matching algorithm for dense stereo matching.</div><div class="ttdef"><b>Definition</b> <a href="StereoBM_8h_source.html#l00047">StereoBM.h:47</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1StereoSGBM_html"><div class="ttname"><a href="classrtabmap_1_1StereoSGBM.html">rtabmap::StereoSGBM</a></div><div class="ttdoc">Semi-Global Block Matching algorithm for dense stereo matching.</div><div class="ttdef"><b>Definition</b> <a href="StereoSGBM_8h_source.html#l00051">StereoSGBM.h:51</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1Stereo_html"><div class="ttname"><a href="classrtabmap_1_1Stereo.html">rtabmap::Stereo</a></div><div class="ttdoc">Sparse stereo matching using block matching.</div><div class="ttdef"><b>Definition</b> <a href="Stereo_8h_source.html#l00055">Stereo.h:55</a></div></div>
<div class="ttc" id="aclassrtabmap_1_1SuperPointRpautrat_html"><div class="ttname"><a href="classrtabmap_1_1SuperPointRpautrat.html">rtabmap::SuperPointRpautrat</a></div><div class="ttdoc">SuperPoint (rpautrat) via Torch + Python (RTAB-Map must be built with libtorch and Python support).</div><div class="ttdef"><b>Definition</b> <a href="Features2d_8h_source.html#l00697">Features2d.h:698</a></div></div>
<div class="ttc" id="anamespacertabmap_html"><div class="ttname"><a href="namespacertabmap.html">rtabmap</a></div><div class="ttdef"><b>Definition</b> <a href="BayesFilter_8h_source.html#l00042">BayesFilter.h:42</a></div></div>
<div class="ttc" id="anamespacertabmap_html_a4d38c2e87cb7a46dc4299f7bd4d95a01"><div class="ttname"><a href="namespacertabmap.html#a4d38c2e87cb7a46dc4299f7bd4d95a01">rtabmap::ParametersPair</a></div><div class="ttdeci">std::pair&lt; std::string, std::string &gt; ParametersPair</div><div class="ttdoc">A single parameter key/value pair, the entry type of ParametersMap.</div><div class="ttdef"><b>Definition</b> <a href="Parameters_8h_source.html#l00046">Parameters.h:46</a></div></div>
<div class="ttc" id="anamespacertabmap_html_ad08b6f1796a27dd7316c99c385e2cc55"><div class="ttname"><a href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">rtabmap::ParametersMap</a></div><div class="ttdeci">std::map&lt; std::string, std::string &gt; ParametersMap</div><div class="ttdoc">Parameter keys mapped to their values, as used by every configurable class (see Parameters).</div><div class="ttdef"><b>Definition</b> <a href="Parameters_8h_source.html#l00044">Parameters.h:44</a></div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
<ul>
<li class="navelem"><a class="el" href="dir_04d49acea3c42cab2afcd35cb2f2a48f.html">corelib</a></li><li class="navelem"><a class="el" href="dir_e996b11fd4b3a747423759b16a8ba4a6.html">include</a></li><li class="navelem"><a class="el" href="dir_ff01f7bc5399ccf9ff1cc91d1f45726a.html">rtabmap</a></li><li class="navelem"><a class="el" href="dir_884419f21456e80aa47bc1d0c2ab0140.html">core</a></li><li class="navelem"><b>Parameters.h</b></li>
<li class="footer">Generated by <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.8 </li>
</ul>
</div>
</body>
</html>