Files
rtabmap/api/latest/classrtabmap_1_1RegistrationVis.html
T

681 lines
51 KiB
HTML

<!-- 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: rtabmap::RegistrationVis Class Reference</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>
</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('classrtabmap_1_1RegistrationVis.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="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="classrtabmap_1_1RegistrationVis-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::RegistrationVis Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Visual registration between two signatures using features and geometry.
<a href="classrtabmap_1_1RegistrationVis.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for rtabmap::RegistrationVis:</div>
<div class="dyncontent">
<div class="center"><img src="classrtabmap_1_1RegistrationVis__inherit__graph.png" border="0" usemap="#artabmap_1_1RegistrationVis_inherit__map" alt="Inheritance graph"/></div>
<map name="artabmap_1_1RegistrationVis_inherit__map" id="artabmap_1_1RegistrationVis_inherit__map">
<area shape="rect" title="Visual registration between two signatures using features and geometry." alt="" coords="5,79,189,104"/>
<area shape="rect" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both)." alt="" coords="15,5,179,31"/>
<area shape="poly" title=" " alt="" coords="100,44,100,79,95,79,95,44"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for rtabmap::RegistrationVis:</div>
<div class="dyncontent">
<div class="center"><img src="classrtabmap_1_1RegistrationVis__coll__graph.png" border="0" usemap="#artabmap_1_1RegistrationVis_coll__map" alt="Collaboration graph"/></div>
<map name="artabmap_1_1RegistrationVis_coll__map" id="artabmap_1_1RegistrationVis_coll__map">
<area shape="rect" title="Visual registration between two signatures using features and geometry." alt="" coords="5,79,189,104"/>
<area shape="rect" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both)." alt="" coords="15,5,179,31"/>
<area shape="poly" title=" " alt="" coords="100,44,100,79,95,79,95,44"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-methods" name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa845f7fbbfc8fc340dba96a2a6550d03" id="r_aa845f7fbbfc8fc340dba96a2a6550d03"><td class="memItemLeft" align="right" valign="top"><a id="aa845f7fbbfc8fc340dba96a2a6550d03" name="aa845f7fbbfc8fc340dba96a2a6550d03"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>RegistrationVis</b> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>(), <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child=0)</td></tr>
<tr class="memdesc:aa845f7fbbfc8fc340dba96a2a6550d03"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>child</code> is owned and deleted in the destructor. <br /></td></tr>
<tr class="separator:aa845f7fbbfc8fc340dba96a2a6550d03"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6560046940995044d7a51cb0066d420e" id="r_a6560046940995044d7a51cb0066d420e"><td class="memItemLeft" align="right" valign="top">virtual void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a6560046940995044d7a51cb0066d420e">parseParameters</a> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters)</td></tr>
<tr class="memdesc:a6560046940995044d7a51cb0066d420e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Parses Vis/ and feature parameters; recreates feature detectors. <br /></td></tr>
<tr class="separator:a6560046940995044d7a51cb0066d420e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a488ecb8a7423996abdad98b0044cd7f2" id="r_a488ecb8a7423996abdad98b0044cd7f2"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a488ecb8a7423996abdad98b0044cd7f2">getInlierDistance</a> () const</td></tr>
<tr class="separator:a488ecb8a7423996abdad98b0044cd7f2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93331add1822dd6f02bc74efec6d6834" id="r_a93331add1822dd6f02bc74efec6d6834"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a93331add1822dd6f02bc74efec6d6834">getIterations</a> () const</td></tr>
<tr class="separator:a93331add1822dd6f02bc74efec6d6834"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae951e95c4ae2ea1ab5c4d849823d66c4" id="r_ae951e95c4ae2ea1ab5c4d849823d66c4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#ae951e95c4ae2ea1ab5c4d849823d66c4">getMinInliers</a> () const</td></tr>
<tr class="separator:ae951e95c4ae2ea1ab5c4d849823d66c4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a697d562bebe30b73a1ecd34dabee4347" id="r_a697d562bebe30b73a1ecd34dabee4347"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a697d562bebe30b73a1ecd34dabee4347">getNNType</a> () const</td></tr>
<tr class="separator:a697d562bebe30b73a1ecd34dabee4347"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fd0ba3453d2c658d8a9b1cee5ba132c" id="r_a9fd0ba3453d2c658d8a9b1cee5ba132c"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a9fd0ba3453d2c658d8a9b1cee5ba132c">getNNTypeName</a> () const</td></tr>
<tr class="separator:a9fd0ba3453d2c658d8a9b1cee5ba132c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aed9e9e593b290a4be1aeda05967a631a" id="r_aed9e9e593b290a4be1aeda05967a631a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#aed9e9e593b290a4be1aeda05967a631a">getNNDR</a> () const</td></tr>
<tr class="separator:aed9e9e593b290a4be1aeda05967a631a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a951c79dd9be75b896c551e5213c0ee31" id="r_a951c79dd9be75b896c551e5213c0ee31"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a951c79dd9be75b896c551e5213c0ee31">getEstimationType</a> () const</td></tr>
<tr class="separator:a951c79dd9be75b896c551e5213c0ee31"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a860fb3509b4c5b135b66ebd5cd6e55" id="r_a0a860fb3509b4c5b135b66ebd5cd6e55"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="classrtabmap_1_1Feature2D.html">Feature2D</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a0a860fb3509b4c5b135b66ebd5cd6e55">getDetector</a> () const</td></tr>
<tr class="separator:a0a860fb3509b4c5b135b66ebd5cd6e55"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classrtabmap_1_1Registration"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classrtabmap_1_1Registration')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a></td></tr>
<tr class="memitem:ae10ae7b6dbf4d5396db66600ebe18228 inherit pub_methods_classrtabmap_1_1Registration" id="r_ae10ae7b6dbf4d5396db66600ebe18228"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isImageRequired</b> () const</td></tr>
<tr class="memdesc:ae10ae7b6dbf4d5396db66600ebe18228 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if images are needed (parent or child). <br /></td></tr>
<tr class="separator:ae10ae7b6dbf4d5396db66600ebe18228 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0748ad5a576d0919ef0d360137e5ea7 inherit pub_methods_classrtabmap_1_1Registration" id="r_aa0748ad5a576d0919ef0d360137e5ea7"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isScanRequired</b> () const</td></tr>
<tr class="memdesc:aa0748ad5a576d0919ef0d360137e5ea7 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if laser scans are needed (parent or child). <br /></td></tr>
<tr class="separator:aa0748ad5a576d0919ef0d360137e5ea7 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cd064c74588fd13cce178596e188b5d inherit pub_methods_classrtabmap_1_1Registration" id="r_a3cd064c74588fd13cce178596e188b5d"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>isUserDataRequired</b> () const</td></tr>
<tr class="memdesc:a3cd064c74588fd13cce178596e188b5d inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if user data is needed (parent or child). <br /></td></tr>
<tr class="separator:a3cd064c74588fd13cce178596e188b5d inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab000f795ec498882585a634c2dafec05 inherit pub_methods_classrtabmap_1_1Registration" id="r_ab000f795ec498882585a634c2dafec05"><td class="memItemLeft" align="right" valign="top">
bool&#160;</td><td class="memItemRight" valign="bottom"><b>canUseGuess</b> () const</td></tr>
<tr class="memdesc:ab000f795ec498882585a634c2dafec05 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">True if the strategy can refine an initial guess (parent or child). <br /></td></tr>
<tr class="separator:ab000f795ec498882585a634c2dafec05 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abc02df4842af900fbb5da75b8e5318e0 inherit pub_methods_classrtabmap_1_1Registration" id="r_abc02df4842af900fbb5da75b8e5318e0"><td class="memItemLeft" align="right" valign="top">
int&#160;</td><td class="memItemRight" valign="bottom"><b>getMinVisualCorrespondences</b> () const</td></tr>
<tr class="memdesc:abc02df4842af900fbb5da75b8e5318e0 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum visual inliers required (max of parent and child thresholds). <br /></td></tr>
<tr class="separator:abc02df4842af900fbb5da75b8e5318e0 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac4baf87f079ce52df845805b84cad6c9 inherit pub_methods_classrtabmap_1_1Registration" id="r_ac4baf87f079ce52df845805b84cad6c9"><td class="memItemLeft" align="right" valign="top">
float&#160;</td><td class="memItemRight" valign="bottom"><b>getMinGeometryCorrespondencesRatio</b> () const</td></tr>
<tr class="memdesc:ac4baf87f079ce52df845805b84cad6c9 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum geometry inlier ratio required (max of parent and child thresholds). <br /></td></tr>
<tr class="separator:ac4baf87f079ce52df845805b84cad6c9 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a9163259eaebff421953e194a623864 inherit pub_methods_classrtabmap_1_1Registration" id="r_a7a9163259eaebff421953e194a623864"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a7a9163259eaebff421953e194a623864">repeatOnce</a> () const</td></tr>
<tr class="separator:a7a9163259eaebff421953e194a623864 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb255bdab60a262f9cfc5d868e50cc9c inherit pub_methods_classrtabmap_1_1Registration" id="r_abb255bdab60a262f9cfc5d868e50cc9c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#abb255bdab60a262f9cfc5d868e50cc9c">force3DoF</a> () const</td></tr>
<tr class="separator:abb255bdab60a262f9cfc5d868e50cc9c inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac105402feeb2ec6551235296604145aa inherit pub_methods_classrtabmap_1_1Registration" id="r_ac105402feeb2ec6551235296604145aa"><td class="memItemLeft" align="right" valign="top">
void&#160;</td><td class="memItemRight" valign="bottom"><b>setChildRegistration</b> (<a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child)</td></tr>
<tr class="memdesc:ac105402feeb2ec6551235296604145aa inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Replaces the current child registration; takes ownership of <code>child</code>. <br /></td></tr>
<tr class="separator:ac105402feeb2ec6551235296604145aa inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6b81a6f4137138a1b49510cc3f97679 inherit pub_methods_classrtabmap_1_1Registration" id="r_aa6b81a6f4137138a1b49510cc3f97679"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><b>computeTransformation</b> (const <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;from, const <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>(), <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> *info=0) const</td></tr>
<tr class="memdesc:aa6b81a6f4137138a1b49510cc3f97679 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers <code>from</code> to <code>to</code> using immutable signatures (copied internally). <br /></td></tr>
<tr class="separator:aa6b81a6f4137138a1b49510cc3f97679 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a42d0c93204bc4da11eb89707ea2c03c6 inherit pub_methods_classrtabmap_1_1Registration" id="r_a42d0c93204bc4da11eb89707ea2c03c6"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><b>computeTransformation</b> (const <a class="el" href="classrtabmap_1_1SensorData.html">SensorData</a> &amp;from, const <a class="el" href="classrtabmap_1_1SensorData.html">SensorData</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>(), <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> *info=0) const</td></tr>
<tr class="memdesc:a42d0c93204bc4da11eb89707ea2c03c6 inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers two <a class="el" href="classrtabmap_1_1SensorData.html">SensorData</a> observations (wrapped as signatures). <br /></td></tr>
<tr class="separator:a42d0c93204bc4da11eb89707ea2c03c6 inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44530cd77f6d0a9657251864fb136c0d inherit pub_methods_classrtabmap_1_1Registration" id="r_a44530cd77f6d0a9657251864fb136c0d"><td class="memItemLeft" align="right" valign="top">
<a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><b>computeTransformationMod</b> (<a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;from, <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess=<a class="el" href="classrtabmap_1_1Transform.html#a8ea4368f2018d751d2733038081d56a2">Transform::getIdentity</a>(), <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> *info=0) const</td></tr>
<tr class="memdesc:a44530cd77f6d0a9657251864fb136c0d inherit pub_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Registers <code>from</code> to <code>to</code>; signatures may be modified by the implementation. <br /></td></tr>
<tr class="separator:a44530cd77f6d0a9657251864fb136c0d inherit pub_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a770e36d382cf124c47847e50436ae40e" id="r_a770e36d382cf124c47847e50436ae40e"><td class="memItemLeft" align="right" valign="top"><a id="a770e36d382cf124c47847e50436ae40e" name="a770e36d382cf124c47847e50436ae40e"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>getNNTypeName</b> (int nnType)</td></tr>
<tr class="memdesc:a770e36d382cf124c47847e50436ae40e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Name of a Vis/CorNNType value. <br /></td></tr>
<tr class="separator:a770e36d382cf124c47847e50436ae40e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classrtabmap_1_1Registration"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classrtabmap_1_1Registration')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a></td></tr>
<tr class="memitem:a516e8d64cdb3e7a743a3aa40ab026def inherit pub_static_methods_classrtabmap_1_1Registration" id="r_a516e8d64cdb3e7a743a3aa40ab026def"><td class="memItemLeft" align="right" valign="top">
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters)</td></tr>
<tr class="memdesc:a516e8d64cdb3e7a743a3aa40ab026def inherit pub_static_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a registration from <b>Reg/Strategy</b> in <code>parameters</code>. Caller owns the pointer. <br /></td></tr>
<tr class="separator:a516e8d64cdb3e7a743a3aa40ab026def inherit pub_static_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e3493a850551c98f9e814fed74400e6 inherit pub_static_methods_classrtabmap_1_1Registration" id="r_a1e3493a850551c98f9e814fed74400e6"><td class="memItemLeft" align="right" valign="top">
static <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>create</b> (<a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> &amp;type, const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>())</td></tr>
<tr class="memdesc:a1e3493a850551c98f9e814fed74400e6 inherit pub_static_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates a registration of <code>type</code> (may be adjusted, e.g. to <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724">kTypeVis</a>). Caller owns the pointer. <br /></td></tr>
<tr class="separator:a1e3493a850551c98f9e814fed74400e6 inherit pub_static_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pro-methods" name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:aa47fd3a0599ee918e024161db330a92f" id="r_aa47fd3a0599ee918e024161db330a92f"><td class="memItemLeft" align="right" valign="top">virtual <a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#aa47fd3a0599ee918e024161db330a92f">computeTransformationImpl</a> (<a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;from, <a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;to, <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> guess, <a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> &amp;info) const</td></tr>
<tr class="memdesc:aa47fd3a0599ee918e024161db330a92f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Strategy-specific registration. <br /></td></tr>
<tr class="separator:aa47fd3a0599ee918e024161db330a92f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49868474902f7b1c5a8b48c5fc09e9bc" id="r_a49868474902f7b1c5a8b48c5fc09e9bc"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a49868474902f7b1c5a8b48c5fc09e9bc">isImageRequiredImpl</a> () const</td></tr>
<tr class="separator:a49868474902f7b1c5a8b48c5fc09e9bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1961cedbe7e61a65bb42d2a7f5604309" id="r_a1961cedbe7e61a65bb42d2a7f5604309"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a1961cedbe7e61a65bb42d2a7f5604309">canUseGuessImpl</a> () const</td></tr>
<tr class="separator:a1961cedbe7e61a65bb42d2a7f5604309"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57cd358ce95d2ac839bab72c4fc37a06" id="r_a57cd358ce95d2ac839bab72c4fc37a06"><td class="memItemLeft" align="right" valign="top">virtual int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1RegistrationVis.html#a57cd358ce95d2ac839bab72c4fc37a06">getMinVisualCorrespondencesImpl</a> () const</td></tr>
<tr class="separator:a57cd358ce95d2ac839bab72c4fc37a06"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classrtabmap_1_1Registration"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classrtabmap_1_1Registration')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a></td></tr>
<tr class="memitem:a7d0ff4149da7f5839308ff543932b067 inherit pro_methods_classrtabmap_1_1Registration" id="r_a7d0ff4149da7f5839308ff543932b067"><td class="memItemLeft" align="right" valign="top">
&#160;</td><td class="memItemRight" valign="bottom"><b>Registration</b> (const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>(), <a class="el" href="classrtabmap_1_1Registration.html">Registration</a> *child=0)</td></tr>
<tr class="memdesc:a7d0ff4149da7f5839308ff543932b067 inherit pro_methods_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight"><code>child</code> is owned and deleted in the destructor. <br /></td></tr>
<tr class="separator:a7d0ff4149da7f5839308ff543932b067 inherit pro_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a352c12a797bd500bf535a4e1495def inherit pro_methods_classrtabmap_1_1Registration" id="r_a0a352c12a797bd500bf535a4e1495def"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a0a352c12a797bd500bf535a4e1495def">isScanRequiredImpl</a> () const</td></tr>
<tr class="separator:a0a352c12a797bd500bf535a4e1495def inherit pro_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a11eb0c058646fcea6f053a50a0b9883c inherit pro_methods_classrtabmap_1_1Registration" id="r_a11eb0c058646fcea6f053a50a0b9883c"><td class="memItemLeft" align="right" valign="top">virtual bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a11eb0c058646fcea6f053a50a0b9883c">isUserDataRequiredImpl</a> () const</td></tr>
<tr class="separator:a11eb0c058646fcea6f053a50a0b9883c inherit pro_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b50ac5ddfbe06f2a8cc771f10598484 inherit pro_methods_classrtabmap_1_1Registration" id="r_a4b50ac5ddfbe06f2a8cc771f10598484"><td class="memItemLeft" align="right" valign="top">virtual float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a4b50ac5ddfbe06f2a8cc771f10598484">getMinGeometryCorrespondencesRatioImpl</a> () const</td></tr>
<tr class="separator:a4b50ac5ddfbe06f2a8cc771f10598484 inherit pro_methods_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="inherited" name="inherited"></a>
Additional Inherited Members</h2></td></tr>
<tr class="inherit_header pub_types_classrtabmap_1_1Registration"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classrtabmap_1_1Registration')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a></td></tr>
<tr class="memitem:ae693713cd8b7ece4b147eae99880b849 inherit pub_types_classrtabmap_1_1Registration" id="r_ae693713cd8b7ece4b147eae99880b849"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">Type</a> { <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a1e25205ebb65fe2315a0b7050e613c6d">kTypeUndef</a> = -1
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724">kTypeVis</a> = 0
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab">kTypeIcp</a> = 1
, <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662">kTypeVisIcp</a> = 2
}</td></tr>
<tr class="memdesc:ae693713cd8b7ece4b147eae99880b849"><td class="mdescLeft">&#160;</td><td class="mdescRight"><a class="el" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both).">Registration</a> strategy selected by <b>Reg/Strategy</b>. <a href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">More...</a><br /></td></tr>
<tr class="separator:ae693713cd8b7ece4b147eae99880b849 inherit pub_types_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_attribs_classrtabmap_1_1Registration"><td colspan="2" onclick="javascript:toggleInherit('pub_static_attribs_classrtabmap_1_1Registration')"><img src="closed.png" alt="-"/>&#160;Static Public Attributes inherited from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a></td></tr>
<tr class="memitem:a7c8c2d7a65357ef9f5d60ce3f763f4b3 inherit pub_static_attribs_classrtabmap_1_1Registration" id="r_a7c8c2d7a65357ef9f5d60ce3f763f4b3"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#a7c8c2d7a65357ef9f5d60ce3f763f4b3">COVARIANCE_LINEAR_EPSILON</a></td></tr>
<tr class="memdesc:a7c8c2d7a65357ef9f5d60ce3f763f4b3 inherit pub_static_attribs_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum diagonal value for linear covariance (m²). <br /></td></tr>
<tr class="separator:a7c8c2d7a65357ef9f5d60ce3f763f4b3 inherit pub_static_attribs_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae40b7ab65642aac9f21f44887b23b97d inherit pub_static_attribs_classrtabmap_1_1Registration" id="r_ae40b7ab65642aac9f21f44887b23b97d"><td class="memItemLeft" align="right" valign="top">static double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1Registration.html#ae40b7ab65642aac9f21f44887b23b97d">COVARIANCE_ANGULAR_EPSILON</a></td></tr>
<tr class="memdesc:ae40b7ab65642aac9f21f44887b23b97d inherit pub_static_attribs_classrtabmap_1_1Registration"><td class="mdescLeft">&#160;</td><td class="mdescRight">Minimum diagonal value for angular covariance (rad²). <br /></td></tr>
<tr class="separator:ae40b7ab65642aac9f21f44887b23b97d inherit pub_static_attribs_classrtabmap_1_1Registration"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Visual registration between two signatures using features and geometry. </p>
<p>Extracts and matches features (<a class="el" href="classrtabmap_1_1Feature2D.html">Feature2D</a>), then estimates motion with <b>Vis/EstimationType</b> (3D→3D, 3D→2D PnP, or 2D→2D epipolar). Supports RGB-D (<a class="el" href="classrtabmap_1_1CameraModel.html">CameraModel</a> + depth), stereo (<a class="el" href="classrtabmap_1_1StereoCameraModel.html">StereoCameraModel</a>), optical flow, GMS, and optional Python matchers when built with Python support.</p>
<p>Can chain a child registration (e.g. <a class="el" href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a> in <a class="el" href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662">Registration::kTypeVisIcp</a>). Feature-related Vis/ parameters are mapped to Kp/ for <a class="el" href="classrtabmap_1_1Feature2D.html#a58ac3dff96e882f0e4bbbf8a8ffc435d">Feature2D::create()</a>.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1Registration.html" title="Abstract base for registering two observations (visual, ICP, or both).">Registration</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1RegistrationInfo.html" title="Statistics and diagnostics returned by Registration.">RegistrationInfo</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00060">60</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a6560046940995044d7a51cb0066d420e" name="a6560046940995044d7a51cb0066d420e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6560046940995044d7a51cb0066d420e">&#9670;&#160;</a></span>parseParameters()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual void rtabmap::RegistrationVis::parseParameters </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;&#160;</td>
<td class="paramname"><em>parameters</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Parses Vis/ and feature parameters; recreates feature detectors. </p>
<p>Reimplemented from <a class="el" href="classrtabmap_1_1Registration.html#a0f409a8f0973667ef1687fe102bbf930">rtabmap::Registration</a>.</p>
</div>
</div>
<a id="a488ecb8a7423996abdad98b0044cd7f2" name="a488ecb8a7423996abdad98b0044cd7f2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a488ecb8a7423996abdad98b0044cd7f2">&#9670;&#160;</a></span>getInlierDistance()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::RegistrationVis::getInlierDistance </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/InlierDistance</b> (m). </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00071">71</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a93331add1822dd6f02bc74efec6d6834" name="a93331add1822dd6f02bc74efec6d6834"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a93331add1822dd6f02bc74efec6d6834">&#9670;&#160;</a></span>getIterations()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int rtabmap::RegistrationVis::getIterations </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/Iterations</b> (RANSAC iterations). </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00073">73</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="ae951e95c4ae2ea1ab5c4d849823d66c4" name="ae951e95c4ae2ea1ab5c4d849823d66c4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae951e95c4ae2ea1ab5c4d849823d66c4">&#9670;&#160;</a></span>getMinInliers()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int rtabmap::RegistrationVis::getMinInliers </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/MinInliers</b>. </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00075">75</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a697d562bebe30b73a1ecd34dabee4347" name="a697d562bebe30b73a1ecd34dabee4347"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a697d562bebe30b73a1ecd34dabee4347">&#9670;&#160;</a></span>getNNType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int rtabmap::RegistrationVis::getNNType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/CorNNType</b> nearest-neighbor strategy. </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00077">77</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a9fd0ba3453d2c658d8a9b1cee5ba132c" name="a9fd0ba3453d2c658d8a9b1cee5ba132c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fd0ba3453d2c658d8a9b1cee5ba132c">&#9670;&#160;</a></span>getNNTypeName()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">std::string rtabmap::RegistrationVis::getNNTypeName </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Name of the <b>Vis/CorNNType</b> nearest-neighbor strategy in use. </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00079">79</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="aed9e9e593b290a4be1aeda05967a631a" name="aed9e9e593b290a4be1aeda05967a631a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aed9e9e593b290a4be1aeda05967a631a">&#9670;&#160;</a></span>getNNDR()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">float rtabmap::RegistrationVis::getNNDR </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/CorNNDR</b> ratio test threshold. </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00086">86</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a951c79dd9be75b896c551e5213c0ee31" name="a951c79dd9be75b896c551e5213c0ee31"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a951c79dd9be75b896c551e5213c0ee31">&#9670;&#160;</a></span>getEstimationType()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">int rtabmap::RegistrationVis::getEstimationType </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd><b>Vis/EstimationType</b> (0: 3D→3D, 1: PnP, 2: epipolar). </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00088">88</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a0a860fb3509b4c5b135b66ebd5cd6e55" name="a0a860fb3509b4c5b135b66ebd5cd6e55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0a860fb3509b4c5b135b66ebd5cd6e55">&#9670;&#160;</a></span>getDetector()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">const <a class="el" href="classrtabmap_1_1Feature2D.html">Feature2D</a> * rtabmap::RegistrationVis::getDetector </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<dl class="section return"><dt>Returns</dt><dd>Feature detector used for the “from” signature. </dd></dl>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00091">91</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="aa47fd3a0599ee918e024161db330a92f" name="aa47fd3a0599ee918e024161db330a92f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa47fd3a0599ee918e024161db330a92f">&#9670;&#160;</a></span>computeTransformationImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> rtabmap::RegistrationVis::computeTransformationImpl </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;&#160;</td>
<td class="paramname"><em>from</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Signature.html">Signature</a> &amp;&#160;</td>
<td class="paramname"><em>to</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Transform.html">Transform</a>&#160;</td>
<td class="paramname"><em>guess</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1RegistrationInfo.html">RegistrationInfo</a> &amp;&#160;</td>
<td class="paramname"><em>info</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Strategy-specific registration. </p>
<p>May modify <code>from</code> and <code>to</code>; a child registration reuses those changes. </p>
<p>Implements <a class="el" href="classrtabmap_1_1Registration.html#a21635a391a85b64bc33787179a6cd71b">rtabmap::Registration</a>.</p>
</div>
</div>
<a id="a49868474902f7b1c5a8b48c5fc09e9bc" name="a49868474902f7b1c5a8b48c5fc09e9bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49868474902f7b1c5a8b48c5fc09e9bc">&#9670;&#160;</a></span>isImageRequiredImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool rtabmap::RegistrationVis::isImageRequiredImpl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a>.</p>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00100">100</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a1961cedbe7e61a65bb42d2a7f5604309" name="a1961cedbe7e61a65bb42d2a7f5604309"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1961cedbe7e61a65bb42d2a7f5604309">&#9670;&#160;</a></span>canUseGuessImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual bool rtabmap::RegistrationVis::canUseGuessImpl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a>.</p>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00101">101</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<a id="a57cd358ce95d2ac839bab72c4fc37a06" name="a57cd358ce95d2ac839bab72c4fc37a06"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57cd358ce95d2ac839bab72c4fc37a06">&#9670;&#160;</a></span>getMinVisualCorrespondencesImpl()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual int rtabmap::RegistrationVis::getMinVisualCorrespondencesImpl </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">protected</span><span class="mlabel">virtual</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Reimplemented from <a class="el" href="classrtabmap_1_1Registration.html">rtabmap::Registration</a>.</p>
<p class="definition">Definition at line <a class="el" href="RegistrationVis_8h_source.html#l00102">102</a> of file <a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>corelib/include/rtabmap/core/<a class="el" href="RegistrationVis_8h_source.html">RegistrationVis.h</a></li>
</ul>
</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="namespacertabmap.html">rtabmap</a></li><li class="navelem"><a class="el" href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a></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>