<ahref="#pub-methods">Public Member Functions</a>|
<ahref="#pub-static-methods">Static Public Member Functions</a>|
<ahref="#pub-static-attribs">Static Public Attributes</a>|
<ahref="#pro-methods">Protected Member Functions</a>|
<ahref="classrtabmap_1_1Registration-members.html">List of all members</a></div>
<divclass="headertitle"><divclass="title">rtabmap::Registration Class Reference<spanclass="mlabels"><spanclass="mlabel">abstract</span></span></div></div>
</div><!--header-->
<divclass="contents">
<p>Abstract base for registering two observations (visual, ICP, or both).
<areashape="rect"href="classrtabmap_1_1RegistrationVis.html"title="Visual registration between two signatures using features and geometry."alt=""coords="213,79,397,104"/>
<trclass="memdesc:ae693713cd8b7ece4b147eae99880b849"><tdclass="mdescLeft"> </td><tdclass="mdescRight"><aclass="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>. <ahref="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849">More...</a><br/></td></tr>
<trclass="memdesc:a0f409a8f0973667ef1687fe102bbf930"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to the child registration if set. <br/></td></tr>
<trclass="memdesc:ae10ae7b6dbf4d5396db66600ebe18228"><tdclass="mdescLeft"> </td><tdclass="mdescRight">True if images are needed (parent or child). <br/></td></tr>
<trclass="memdesc:aa0748ad5a576d0919ef0d360137e5ea7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">True if laser scans are needed (parent or child). <br/></td></tr>
<trclass="memdesc:a3cd064c74588fd13cce178596e188b5d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">True if user data is needed (parent or child). <br/></td></tr>
<trclass="memdesc:ab000f795ec498882585a634c2dafec05"><tdclass="mdescLeft"> </td><tdclass="mdescRight">True if the strategy can refine an initial guess (parent or child). <br/></td></tr>
<trclass="memdesc:ac4baf87f079ce52df845805b84cad6c9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Minimum geometry inlier ratio required (max of parent and child thresholds). <br/></td></tr>
<trclass="memdesc:ac105402feeb2ec6551235296604145aa"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Replaces the current child registration; takes ownership of <code>child</code>. <br/></td></tr>
<trclass="memdesc:aa6b81a6f4137138a1b49510cc3f97679"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Registers <code>from</code> to <code>to</code> using immutable signatures (copied internally). <br/></td></tr>
<trclass="memdesc:a42d0c93204bc4da11eb89707ea2c03c6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Registers two <aclass="el"href="classrtabmap_1_1SensorData.html">SensorData</a> observations (wrapped as signatures). <br/></td></tr>
<trclass="memdesc:a44530cd77f6d0a9657251864fb136c0d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Registers <code>from</code> to <code>to</code>; signatures may be modified by the implementation. <br/></td></tr>
<trclass="memdesc:a516e8d64cdb3e7a743a3aa40ab026def"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a registration from <b>Reg/Strategy</b> in <code>parameters</code>. Caller owns the pointer. <br/></td></tr>
<trclass="memdesc:a1e3493a850551c98f9e814fed74400e6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Creates a registration of <code>type</code> (may be adjusted, e.g. to <aclass="el"href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724">kTypeVis</a>). Caller owns the pointer. <br/></td></tr>
<trclass="memdesc:a7c8c2d7a65357ef9f5d60ce3f763f4b3"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Minimum diagonal value for linear covariance (m²). <br/></td></tr>
<trclass="memdesc:ae40b7ab65642aac9f21f44887b23b97d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Minimum diagonal value for angular covariance (rad²). <br/></td></tr>
<trclass="memdesc:a7d0ff4149da7f5839308ff543932b067"><tdclass="mdescLeft"> </td><tdclass="mdescRight"><code>child</code> is owned and deleted in the destructor. <br/></td></tr>
<divclass="textblock"><p>Abstract base for registering two observations (visual, ICP, or both). </p>
<p>Factory <aclass="el"href="classrtabmap_1_1Registration.html#a516e8d64cdb3e7a743a3aa40ab026def">create()</a> builds <aclass="el"href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a>, <aclass="el"href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>, or the two chained (<aclass="el"href="classrtabmap_1_1Registration.html#ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662">kTypeVisIcp</a>) from <b>Reg/Strategy</b> in a <aclass="el"href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>.</p>
<p><aclass="el"href="classrtabmap_1_1Registration.html#aa6b81a6f4137138a1b49510cc3f97679">computeTransformation()</a> wraps signatures and delegates to <aclass="el"href="classrtabmap_1_1Registration.html#a44530cd77f6d0a9657251864fb136c0d">computeTransformationMod()</a>, which calls <aclass="el"href="classrtabmap_1_1Registration.html#a21635a391a85b64bc33787179a6cd71b">computeTransformationImpl()</a> on the concrete strategy, optionally chains a child registration (e.g. ICP after visual), applies <b>Reg/Force3DoF</b>, and may repeat once with the first result as guess when <b>Reg/RepeatOnce</b> is enabled.</p>
<p>Requirement queries (<aclass="el"href="classrtabmap_1_1Registration.html#ae10ae7b6dbf4d5396db66600ebe18228">isImageRequired()</a>, <aclass="el"href="classrtabmap_1_1Registration.html#aa0748ad5a576d0919ef0d360137e5ea7">isScanRequired()</a>, etc.) OR-combine with the child when the parent returns false. Minimum correspondence thresholds take the maximum between parent and child.</p>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1RegistrationVis.html"title="Visual registration between two signatures using features and geometry.">RegistrationVis</a></dd>
<aclass="el"href="classrtabmap_1_1RegistrationInfo.html"title="Statistics and diagnostics returned by Registration.">RegistrationInfo</a></dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00060">60</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<p><aclass="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>. </p>
<tr><tdclass="fieldname"><aid="ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724"name="ae693713cd8b7ece4b147eae99880b849a8e6dbf98a9a843c34d16b8c7e546c724"></a>kTypeVis </td><tdclass="fielddoc"><p>Visual registration only (<aclass="el"href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a>). </p>
</td></tr>
<tr><tdclass="fieldname"><aid="ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab"name="ae693713cd8b7ece4b147eae99880b849a8638e369c895a337f587e727e1a712ab"></a>kTypeIcp </td><tdclass="fielddoc"><p>Geometric registration only (<aclass="el"href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>). </p>
</td></tr>
<tr><tdclass="fieldname"><aid="ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662"name="ae693713cd8b7ece4b147eae99880b849ad03189dad590b6e2d81adbc7d20bf662"></a>kTypeVisIcp </td><tdclass="fielddoc"><p>Visual registration refined by ICP (<aclass="el"href="classrtabmap_1_1RegistrationVis.html">RegistrationVis</a> chained with <aclass="el"href="classrtabmap_1_1RegistrationIcp.html">RegistrationIcp</a>). </p>
</td></tr>
</table>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00064">64</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
</div>
</div>
<h2class="groupheader">Member Function Documentation</h2>
<p>Parses <b>Reg/RepeatOnce</b>, <b>Reg/Force3DoF</b> and forwards to the child registration if set. </p>
<p>Reimplemented in <aclass="el"href="classrtabmap_1_1RegistrationIcp.html#abd60fffd946201723c35beebc7bfea6a">rtabmap::RegistrationIcp</a>, and <aclass="el"href="classrtabmap_1_1RegistrationVis.html#a6560046940995044d7a51cb0066d420e">rtabmap::RegistrationVis</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Value of <b>Reg/RepeatOnce</b>. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00102">102</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Value of <b>Reg/Force3DoF</b>. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00104">104</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<p>May modify <code>from</code> and <code>to</code>; a child registration reuses those changes. </p>
<p>Implemented in <aclass="el"href="classrtabmap_1_1RegistrationIcp.html#a8a18107160cfc05cfb8a5109540d81b5">rtabmap::RegistrationIcp</a>, and <aclass="el"href="classrtabmap_1_1RegistrationVis.html#aa47fd3a0599ee918e024161db330a92f">rtabmap::RegistrationVis</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00144">144</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00145">145</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00146">146</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00147">147</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00148">148</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00149">149</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
</div>
</div>
<h2class="groupheader">Member Data Documentation</h2>
<p>Minimum diagonal value for linear covariance (m²). </p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00071">71</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
<p>Minimum diagonal value for angular covariance (rad²). </p>
<pclass="definition">Definition at line <aclass="el"href="Registration_8h_source.html#l00073">73</a> of file <aclass="el"href="Registration_8h_source.html">Registration.h</a>.</p>
</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.9.8 </li>