Files
rtabmap/api/latest/classrtabmap_1_1SensorCaptureThread.html
T

1643 lines
115 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::SensorCaptureThread 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.11</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_1SensorCaptureThread.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="classrtabmap_1_1SensorCaptureThread-members.html">List of all members</a> </div>
<div class="headertitle"><div class="title">rtabmap::SensorCaptureThread Class Reference</div></div>
</div><!--header-->
<div class="contents">
<p>Thread-based sensor data capture and event posting for RTAB-Map.
<a href="classrtabmap_1_1SensorCaptureThread.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for rtabmap::SensorCaptureThread:</div>
<div class="dyncontent">
<div class="center"><img src="classrtabmap_1_1SensorCaptureThread__inherit__graph.png" border="0" usemap="#artabmap_1_1SensorCaptureThread_inherit__map" alt="Inheritance graph"/></div>
<map name="artabmap_1_1SensorCaptureThread_inherit__map" id="artabmap_1_1SensorCaptureThread_inherit__map">
<area shape="rect" title="Thread&#45;based sensor data capture and event posting for RTAB&#45;Map." alt="" coords="26,152,251,177"/>
<area shape="rect" href="classUThread.html" title=" " alt="" coords="39,79,116,104"/>
<area shape="poly" title=" " alt="" coords="98,113,131,150,127,154,94,116"/>
<area shape="rect" href="classUThreadC_3_01void_01_4.html" title=" " alt="" coords="5,5,149,31"/>
<area shape="poly" title=" " alt="" coords="80,44,80,79,75,79,75,44"/>
<area shape="rect" href="classUEventsSender.html" title=" " alt="" coords="141,79,262,104"/>
<area shape="poly" title=" " alt="" coords="184,116,151,154,147,150,180,113"/>
</map>
<center><span class="legend">[<a target="top" href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for rtabmap::SensorCaptureThread:</div>
<div class="dyncontent">
<div class="center"><img src="classrtabmap_1_1SensorCaptureThread__coll__graph.png" border="0" usemap="#artabmap_1_1SensorCaptureThread_coll__map" alt="Collaboration graph"/></div>
<map name="artabmap_1_1SensorCaptureThread_coll__map" id="artabmap_1_1SensorCaptureThread_coll__map">
<area shape="rect" title="Thread&#45;based sensor data capture and event posting for RTAB&#45;Map." alt="" coords="26,152,251,177"/>
<area shape="rect" href="classUThread.html" title=" " alt="" coords="39,79,116,104"/>
<area shape="poly" title=" " alt="" coords="98,113,131,150,127,154,94,116"/>
<area shape="rect" href="classUThreadC_3_01void_01_4.html" title=" " alt="" coords="5,5,149,31"/>
<area shape="poly" title=" " alt="" coords="80,44,80,79,75,79,75,44"/>
<area shape="rect" href="classUEventsSender.html" title=" " alt="" coords="141,79,262,104"/>
<area shape="poly" title=" " alt="" coords="184,116,151,154,147,150,180,113"/>
</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:acae15b44b2fb05da9421dc88ff0be75c" id="r_acae15b44b2fb05da9421dc88ff0be75c"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#acae15b44b2fb05da9421dc88ff0be75c">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857">camera</a>, 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:acae15b44b2fb05da9421dc88ff0be75c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for camera-only capture. <br /></td></tr>
<tr class="separator:acae15b44b2fb05da9421dc88ff0be75c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76ad33a55009b7a7f7ec51acccbe0492" id="r_a76ad33a55009b7a7f7ec51acccbe0492"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a76ad33a55009b7a7f7ec51acccbe0492">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857">camera</a>, <a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e">odomSensor</a>, const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, 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:a76ad33a55009b7a7f7ec51acccbe0492"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for camera with odometry sensor. <br /></td></tr>
<tr class="separator:a76ad33a55009b7a7f7ec51acccbe0492"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a834d1e5c389e7ef8eb23bf1361916ae2" id="r_a834d1e5c389e7ef8eb23bf1361916ae2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a834d1e5c389e7ef8eb23bf1361916ae2">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0">lidar</a>, 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:a834d1e5c389e7ef8eb23bf1361916ae2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for lidar-only capture. <br /></td></tr>
<tr class="separator:a834d1e5c389e7ef8eb23bf1361916ae2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cf0e883ace51a2a656395327beb74e5" id="r_a9cf0e883ace51a2a656395327beb74e5"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a9cf0e883ace51a2a656395327beb74e5">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0">lidar</a>, <a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857">camera</a>, 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:a9cf0e883ace51a2a656395327beb74e5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for lidar with camera. <br /></td></tr>
<tr class="separator:a9cf0e883ace51a2a656395327beb74e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a590aee9497d8a3b6e14b68e1e17f9c6a" id="r_a590aee9497d8a3b6e14b68e1e17f9c6a"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a590aee9497d8a3b6e14b68e1e17f9c6a">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0">lidar</a>, <a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e">odomSensor</a>, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, 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:a590aee9497d8a3b6e14b68e1e17f9c6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for lidar with odometry sensor. <br /></td></tr>
<tr class="separator:a590aee9497d8a3b6e14b68e1e17f9c6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a64df180f19d0a2ea9a8d66ea58fc42" id="r_a2a64df180f19d0a2ea9a8d66ea58fc42"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a2a64df180f19d0a2ea9a8d66ea58fc42">SensorCaptureThread</a> (<a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0">lidar</a>, <a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857">camera</a>, <a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *<a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e">odomSensor</a>, const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;extrinsics, double poseTimeOffset=0.0, float poseScaleFactor=1.0f, double poseWaitTime=0.1, 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:a2a64df180f19d0a2ea9a8d66ea58fc42"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor for lidar with camera and odometry sensor. <br /></td></tr>
<tr class="separator:a2a64df180f19d0a2ea9a8d66ea58fc42"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8133c1b2332568c4699282f59c141c9" id="r_af8133c1b2332568c4699282f59c141c9"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#af8133c1b2332568c4699282f59c141c9">~SensorCaptureThread</a> ()</td></tr>
<tr class="memdesc:af8133c1b2332568c4699282f59c141c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Virtual destructor. <br /></td></tr>
<tr class="separator:af8133c1b2332568c4699282f59c141c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1cfabc2a5451ffe913f5691b80de514d" id="r_a1cfabc2a5451ffe913f5691b80de514d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a1cfabc2a5451ffe913f5691b80de514d">setMirroringEnabled</a> (bool enabled)</td></tr>
<tr class="memdesc:a1cfabc2a5451ffe913f5691b80de514d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables image mirroring (horizontal flip) <br /></td></tr>
<tr class="separator:a1cfabc2a5451ffe913f5691b80de514d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c43f41518d914f2a3ae6959abcde989" id="r_a2c43f41518d914f2a3ae6959abcde989"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a2c43f41518d914f2a3ae6959abcde989">setStereoExposureCompensation</a> (bool enabled)</td></tr>
<tr class="memdesc:a2c43f41518d914f2a3ae6959abcde989"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables stereo exposure compensation. <br /></td></tr>
<tr class="separator:a2c43f41518d914f2a3ae6959abcde989"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6308c79599bd90b77d243febff024a15" id="r_a6308c79599bd90b77d243febff024a15"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a6308c79599bd90b77d243febff024a15">setColorOnly</a> (bool colorOnly)</td></tr>
<tr class="memdesc:a6308c79599bd90b77d243febff024a15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether to capture color images only (skip depth) <br /></td></tr>
<tr class="separator:a6308c79599bd90b77d243febff024a15"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a74383f4e31ed642520511eb822ed1d89" id="r_a74383f4e31ed642520511eb822ed1d89"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a74383f4e31ed642520511eb822ed1d89">setImageDecimation</a> (int decimation)</td></tr>
<tr class="memdesc:a74383f4e31ed642520511eb822ed1d89"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets image decimation factor. <br /></td></tr>
<tr class="separator:a74383f4e31ed642520511eb822ed1d89"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e55c70032141f75802b2339c102c063" id="r_a3e55c70032141f75802b2339c102c063"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a3e55c70032141f75802b2339c102c063">setHistogramMethod</a> (int histogramMethod)</td></tr>
<tr class="memdesc:a3e55c70032141f75802b2339c102c063"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets histogram equalization method. <br /></td></tr>
<tr class="separator:a3e55c70032141f75802b2339c102c063"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0658121bc03f0eafd469ee114bc61f8" id="r_ae0658121bc03f0eafd469ee114bc61f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ae0658121bc03f0eafd469ee114bc61f8">setStereoToDepth</a> (bool enabled)</td></tr>
<tr class="memdesc:ae0658121bc03f0eafd469ee114bc61f8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables or disables stereo-to-depth conversion. <br /></td></tr>
<tr class="separator:ae0658121bc03f0eafd469ee114bc61f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a416f1596701d6b9dbd8512cd1c617788" id="r_a416f1596701d6b9dbd8512cd1c617788"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a416f1596701d6b9dbd8512cd1c617788">setFrameRate</a> (float frameRate)</td></tr>
<tr class="memdesc:a416f1596701d6b9dbd8512cd1c617788"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the target frame rate for capture. <br /></td></tr>
<tr class="separator:a416f1596701d6b9dbd8512cd1c617788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2a40e01eb8e61aae54feeb1458efb88e" id="r_a2a40e01eb8e61aae54feeb1458efb88e"><td class="memItemLeft" align="right" valign="top">RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a2a40e01eb8e61aae54feeb1458efb88e">setImageRate</a> (float frameRate)</td></tr>
<tr class="memdesc:a2a40e01eb8e61aae54feeb1458efb88e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the target image capture rate (deprecated) <br /></td></tr>
<tr class="separator:a2a40e01eb8e61aae54feeb1458efb88e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa7f6dcffcd6646994c2a87d8b888edcc" id="r_aa7f6dcffcd6646994c2a87d8b888edcc"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa7f6dcffcd6646994c2a87d8b888edcc">setDistortionModel</a> (const std::string &amp;path)</td></tr>
<tr class="memdesc:aa7f6dcffcd6646994c2a87d8b888edcc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets the depth distortion model file path. <br /></td></tr>
<tr class="separator:aa7f6dcffcd6646994c2a87d8b888edcc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a6a9ad20c75150f86ef479fe74ae6f7" id="r_a5a6a9ad20c75150f86ef479fe74ae6f7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a5a6a9ad20c75150f86ef479fe74ae6f7">setOdomAsGroundTruth</a> (bool enabled)</td></tr>
<tr class="memdesc:a5a6a9ad20c75150f86ef479fe74ae6f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets whether odometry poses should be treated as ground truth. <br /></td></tr>
<tr class="separator:a5a6a9ad20c75150f86ef479fe74ae6f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a429011ef7b39d30fc98413d727cccf4b" id="r_a429011ef7b39d30fc98413d727cccf4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a429011ef7b39d30fc98413d727cccf4b">enableBilateralFiltering</a> (float sigmaS, float sigmaR)</td></tr>
<tr class="memdesc:a429011ef7b39d30fc98413d727cccf4b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables bilateral filtering for depth images. <br /></td></tr>
<tr class="separator:a429011ef7b39d30fc98413d727cccf4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57beeb2c34d4430e37da05ef8e400a9b" id="r_a57beeb2c34d4430e37da05ef8e400a9b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a57beeb2c34d4430e37da05ef8e400a9b">disableBilateralFiltering</a> ()</td></tr>
<tr class="memdesc:a57beeb2c34d4430e37da05ef8e400a9b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables bilateral filtering. <br /></td></tr>
<tr class="separator:a57beeb2c34d4430e37da05ef8e400a9b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97ef5e49b994fcd2a3c87d6f7ef244ec" id="r_a97ef5e49b994fcd2a3c87d6f7ef244ec"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a97ef5e49b994fcd2a3c87d6f7ef244ec">enableIMUFiltering</a> (int filteringStrategy=1, const <a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a> &amp;parameters=<a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>(), bool baseFrameConversion=false)</td></tr>
<tr class="memdesc:a97ef5e49b994fcd2a3c87d6f7ef244ec"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data filtering. <br /></td></tr>
<tr class="separator:a97ef5e49b994fcd2a3c87d6f7ef244ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75c2426adc532854f1d7119256b1cf0d" id="r_a75c2426adc532854f1d7119256b1cf0d"><td class="memItemLeft" align="right" valign="top"><a id="a75c2426adc532854f1d7119256b1cf0d" name="a75c2426adc532854f1d7119256b1cf0d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>disableIMUFiltering</b> ()</td></tr>
<tr class="memdesc:a75c2426adc532854f1d7119256b1cf0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data filtering. <br /></td></tr>
<tr class="separator:a75c2426adc532854f1d7119256b1cf0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa0a6c975417a655029470aea2ea5d01a" id="r_aa0a6c975417a655029470aea2ea5d01a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa0a6c975417a655029470aea2ea5d01a">enableFeatureDetection</a> (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:aa0a6c975417a655029470aea2ea5d01a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Enables automatic feature detection on captured images. <br /></td></tr>
<tr class="separator:aa0a6c975417a655029470aea2ea5d01a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeddec5c0c55aab261b31d0a980a7d327" id="r_aeddec5c0c55aab261b31d0a980a7d327"><td class="memItemLeft" align="right" valign="top"><a id="aeddec5c0c55aab261b31d0a980a7d327" name="aeddec5c0c55aab261b31d0a980a7d327"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>disableFeatureDetection</b> ()</td></tr>
<tr class="memdesc:aeddec5c0c55aab261b31d0a980a7d327"><td class="mdescLeft">&#160;</td><td class="mdescRight">Disables automatic feature detection. <br /></td></tr>
<tr class="separator:aeddec5c0c55aab261b31d0a980a7d327"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40f1016ea142c6117ffb080f64b4a854" id="r_a40f1016ea142c6117ffb080f64b4a854"><td class="memItemLeft" align="right" valign="top">RTABMAP_DEPRECATED void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a40f1016ea142c6117ffb080f64b4a854">setScanParameters</a> (bool fromDepth, int downsampleStep, float rangeMin, float rangeMax, float voxelSize, int normalsK, float normalsRadius, bool forceGroundNormalsUp, bool deskewing)</td></tr>
<tr class="memdesc:a40f1016ea142c6117ffb080f64b4a854"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets lidar scan processing parameters (deprecated) <br /></td></tr>
<tr class="separator:a40f1016ea142c6117ffb080f64b4a854"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a00a7a0e4f5277f6c6ed53bf832624c00" id="r_a00a7a0e4f5277f6c6ed53bf832624c00"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a00a7a0e4f5277f6c6ed53bf832624c00">setScanParameters</a> (bool fromDepth, int downsampleStep=1, float rangeMin=0.0f, float rangeMax=0.0f, float voxelSize=0.0f, int normalsK=0, float normalsRadius=0.0f, float groundNormalsUp=0.0f, bool deskewing=false)</td></tr>
<tr class="memdesc:a00a7a0e4f5277f6c6ed53bf832624c00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets lidar scan processing parameters. <br /></td></tr>
<tr class="separator:a00a7a0e4f5277f6c6ed53bf832624c00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a43cb04de41b589b3f6069fff553a4dd7" id="r_a43cb04de41b589b3f6069fff553a4dd7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a43cb04de41b589b3f6069fff553a4dd7">postUpdate</a> (<a class="el" href="classrtabmap_1_1SensorData.html">SensorData</a> *data, <a class="el" href="classrtabmap_1_1SensorCaptureInfo.html">SensorCaptureInfo</a> *info=0) const</td></tr>
<tr class="memdesc:a43cb04de41b589b3f6069fff553a4dd7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Post-processing hook called before posting <a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a>. <br /></td></tr>
<tr class="separator:a43cb04de41b589b3f6069fff553a4dd7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a435f89b6a3186462f6ee860afa88644c" id="r_a435f89b6a3186462f6ee860afa88644c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a435f89b6a3186462f6ee860afa88644c">isPaused</a> () const</td></tr>
<tr class="memdesc:a435f89b6a3186462f6ee860afa88644c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the capture thread is paused. <br /></td></tr>
<tr class="separator:a435f89b6a3186462f6ee860afa88644c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2654b31ebdf06b375045fadbc83731a" id="r_ab2654b31ebdf06b375045fadbc83731a"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ab2654b31ebdf06b375045fadbc83731a">isCapturing</a> () const</td></tr>
<tr class="memdesc:ab2654b31ebdf06b375045fadbc83731a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the capture thread is actively capturing. <br /></td></tr>
<tr class="separator:ab2654b31ebdf06b375045fadbc83731a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a88269150d6fd6fd39685fe9e926d98e6" id="r_a88269150d6fd6fd39685fe9e926d98e6"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a88269150d6fd6fd39685fe9e926d98e6">odomProvided</a> () const</td></tr>
<tr class="memdesc:a88269150d6fd6fd39685fe9e926d98e6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if odometry is provided by the sensors. <br /></td></tr>
<tr class="separator:a88269150d6fd6fd39685fe9e926d98e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad6750f6280bdcbb386a051ba9cc36857" id="r_ad6750f6280bdcbb386a051ba9cc36857"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#ad6750f6280bdcbb386a051ba9cc36857">camera</a> ()</td></tr>
<tr class="memdesc:ad6750f6280bdcbb386a051ba9cc36857"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the camera pointer. <br /></td></tr>
<tr class="separator:ad6750f6280bdcbb386a051ba9cc36857"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4e3814d203ded5735ebb7abba1451e" id="r_a0f4e3814d203ded5735ebb7abba1451e"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a0f4e3814d203ded5735ebb7abba1451e">odomSensor</a> ()</td></tr>
<tr class="memdesc:a0f4e3814d203ded5735ebb7abba1451e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the odometry sensor pointer. <br /></td></tr>
<tr class="separator:a0f4e3814d203ded5735ebb7abba1451e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa6e5a6a53d621cda6e0b7f2ff35d33f0" id="r_aa6e5a6a53d621cda6e0b7f2ff35d33f0"><td class="memItemLeft" align="right" valign="top"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classrtabmap_1_1SensorCaptureThread.html#aa6e5a6a53d621cda6e0b7f2ff35d33f0">lidar</a> ()</td></tr>
<tr class="memdesc:aa6e5a6a53d621cda6e0b7f2ff35d33f0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the lidar pointer. <br /></td></tr>
<tr class="separator:aa6e5a6a53d621cda6e0b7f2ff35d33f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classUThread"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUThread')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classUThread.html">UThread</a></td></tr>
<tr class="memitem:a05a92f95e2a8900f27b09ddf907b97be inherit pub_methods_classUThread" id="r_a05a92f95e2a8900f27b09ddf907b97be"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a05a92f95e2a8900f27b09ddf907b97be">UThread</a> (<a class="el" href="classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153">Priority</a> priority=kPNormal)</td></tr>
<tr class="separator:a05a92f95e2a8900f27b09ddf907b97be inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437580d224111e60cbe2626f0e4cb12e inherit pub_methods_classUThread" id="r_a437580d224111e60cbe2626f0e4cb12e"><td class="memItemLeft" align="right" valign="top">virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a437580d224111e60cbe2626f0e4cb12e">~UThread</a> ()</td></tr>
<tr class="separator:a437580d224111e60cbe2626f0e4cb12e inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a051e9adcf24f92b9c8e31acd06bad88c inherit pub_methods_classUThread" id="r_a051e9adcf24f92b9c8e31acd06bad88c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c">start</a> ()</td></tr>
<tr class="separator:a051e9adcf24f92b9c8e31acd06bad88c inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dfefcfd68b453da08ddba9836f35965 inherit pub_methods_classUThread" id="r_a8dfefcfd68b453da08ddba9836f35965"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a8dfefcfd68b453da08ddba9836f35965">kill</a> ()</td></tr>
<tr class="separator:a8dfefcfd68b453da08ddba9836f35965 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf33c0e4b656af76da100e7d4f69ed1d inherit pub_methods_classUThread" id="r_acf33c0e4b656af76da100e7d4f69ed1d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d">join</a> (bool killFirst=false)</td></tr>
<tr class="separator:acf33c0e4b656af76da100e7d4f69ed1d inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80418be3a80a01ddd05a863b58787b43 inherit pub_methods_classUThread" id="r_a80418be3a80a01ddd05a863b58787b43"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a80418be3a80a01ddd05a863b58787b43">setPriority</a> (<a class="el" href="classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153">Priority</a> priority)</td></tr>
<tr class="separator:a80418be3a80a01ddd05a863b58787b43 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabcf31acae6ca5b8503ec320acbc11f8 inherit pub_methods_classUThread" id="r_aabcf31acae6ca5b8503ec320acbc11f8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#aabcf31acae6ca5b8503ec320acbc11f8">setAffinity</a> (int cpu=0)</td></tr>
<tr class="separator:aabcf31acae6ca5b8503ec320acbc11f8 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac80eff7d48382fd230141ca286370d33 inherit pub_methods_classUThread" id="r_ac80eff7d48382fd230141ca286370d33"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#ac80eff7d48382fd230141ca286370d33">isCreating</a> () const</td></tr>
<tr class="separator:ac80eff7d48382fd230141ca286370d33 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a38e2b22f0616ed4128312baff9cfeba9 inherit pub_methods_classUThread" id="r_a38e2b22f0616ed4128312baff9cfeba9"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a38e2b22f0616ed4128312baff9cfeba9">isRunning</a> () const</td></tr>
<tr class="separator:a38e2b22f0616ed4128312baff9cfeba9 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c4554ad881c0532239a0930c2ebfe24 inherit pub_methods_classUThread" id="r_a2c4554ad881c0532239a0930c2ebfe24"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a2c4554ad881c0532239a0930c2ebfe24">isIdle</a> () const</td></tr>
<tr class="separator:a2c4554ad881c0532239a0930c2ebfe24 inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a0d0de0f78eab72512941ccd048477b inherit pub_methods_classUThread" id="r_a3a0d0de0f78eab72512941ccd048477b"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a3a0d0de0f78eab72512941ccd048477b">isKilled</a> () const</td></tr>
<tr class="separator:a3a0d0de0f78eab72512941ccd048477b inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f404f03046fa89dced06514f040b2af inherit pub_methods_classUThread" id="r_a4f404f03046fa89dced06514f040b2af"><td class="memItemLeft" align="right" valign="top">Handle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a4f404f03046fa89dced06514f040b2af">getThreadHandle</a> () const</td></tr>
<tr class="separator:a4f404f03046fa89dced06514f040b2af inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40e8ea82c06ed20bb6266a6a42a8f51f inherit pub_methods_classUThread" id="r_a40e8ea82c06ed20bb6266a6a42a8f51f"><td class="memItemLeft" align="right" valign="top">unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a40e8ea82c06ed20bb6266a6a42a8f51f">getThreadId</a> () const</td></tr>
<tr class="separator:a40e8ea82c06ed20bb6266a6a42a8f51f inherit pub_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classUThreadC_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classUThreadC_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classUThreadC_3_01void_01_4.html">UThreadC&lt; void &gt;</a></td></tr>
<tr class="memitem:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" id="r_a724a5919ea1f1e74b69a9073d532e400"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a724a5919ea1f1e74b69a9073d532e400">Create</a> (Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false) const</td></tr>
<tr class="separator:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" id="r_a5af5c76be4b8e6b746a77146a3d7021a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a5af5c76be4b8e6b746a77146a3d7021a">Create</a> (unsigned long &amp;ThreadId, Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false) const</td></tr>
<tr class="separator:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4" id="r_a724a5919ea1f1e74b69a9073d532e400"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a724a5919ea1f1e74b69a9073d532e400">Create</a> (Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false) const</td></tr>
<tr class="separator:a724a5919ea1f1e74b69a9073d532e400 inherit pub_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4" id="r_a5af5c76be4b8e6b746a77146a3d7021a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a5af5c76be4b8e6b746a77146a3d7021a">Create</a> (unsigned long &amp;ThreadId, Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false) const</td></tr>
<tr class="separator:a5af5c76be4b8e6b746a77146a3d7021a inherit pub_methods_classUThreadC_3_01void_01_4"><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_classUThread"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classUThread')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classUThread.html">UThread</a></td></tr>
<tr class="memitem:a731ef4dd5a8d15abcc06e7cfa53cd153 inherit pub_types_classUThread" id="r_a731ef4dd5a8d15abcc06e7cfa53cd153"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a731ef4dd5a8d15abcc06e7cfa53cd153">Priority</a> { <br />
&#160;&#160;<b>kPLow</b>
, <b>kPBelowNormal</b>
, <b>kPNormal</b>
, <b>kPAboveNormal</b>
, <br />
&#160;&#160;<b>kPRealTime</b>
<br />
}</td></tr>
<tr class="separator:a731ef4dd5a8d15abcc06e7cfa53cd153 inherit pub_types_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classUThreadC_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classUThreadC_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classUThreadC_3_01void_01_4.html">UThreadC&lt; void &gt;</a></td></tr>
<tr class="memitem:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" id="r_a0ffb19a834ba3271ed3c9f650f119664"><td class="memItemLeft" align="right" valign="top">typedef THREAD_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a0ffb19a834ba3271ed3c9f650f119664">Handle</a></td></tr>
<tr class="separator:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" id="r_a14b685cdf9b6529a5e31f0f021c4cfd9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a14b685cdf9b6529a5e31f0f021c4cfd9">Handler</a>) ()</td></tr>
<tr class="separator:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4" id="r_a0ffb19a834ba3271ed3c9f650f119664"><td class="memItemLeft" align="right" valign="top">typedef THREAD_HANDLE&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a0ffb19a834ba3271ed3c9f650f119664">Handle</a></td></tr>
<tr class="separator:a0ffb19a834ba3271ed3c9f650f119664 inherit pub_types_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4" id="r_a14b685cdf9b6529a5e31f0f021c4cfd9"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a14b685cdf9b6529a5e31f0f021c4cfd9">Handler</a>) ()</td></tr>
<tr class="separator:a14b685cdf9b6529a5e31f0f021c4cfd9 inherit pub_types_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classUThread"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classUThread')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classUThread.html">UThread</a></td></tr>
<tr class="memitem:a6fa5e2358a86c5185371fd14305021aa inherit pub_static_methods_classUThread" id="r_a6fa5e2358a86c5185371fd14305021aa"><td class="memItemLeft" align="right" valign="top">static unsigned long&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThread.html#a6fa5e2358a86c5185371fd14305021aa">currentThreadId</a> ()</td></tr>
<tr class="separator:a6fa5e2358a86c5185371fd14305021aa inherit pub_static_methods_classUThread"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_static_methods_classUThreadC_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pub_static_methods_classUThreadC_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Static Public Member Functions inherited from <a class="el" href="classUThreadC_3_01void_01_4.html">UThreadC&lt; void &gt;</a></td></tr>
<tr class="memitem:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a17eb99ec0990246c0c7161e6bec84c74"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a17eb99ec0990246c0c7161e6bec84c74">Create</a> (const Handler &amp;Function, Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false)</td></tr>
<tr class="separator:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1584a3a80d86181ff66784cf0f8c2392 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a1584a3a80d86181ff66784cf0f8c2392"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a1584a3a80d86181ff66784cf0f8c2392">Join</a> (Handle H)</td></tr>
<tr class="separator:a1584a3a80d86181ff66784cf0f8c2392 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec2af3352538bb8e45916c468e6960dc inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_aec2af3352538bb8e45916c468e6960dc"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#aec2af3352538bb8e45916c468e6960dc">Kill</a> (Handle H)</td></tr>
<tr class="separator:aec2af3352538bb8e45916c468e6960dc inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a591f5bfcea463cfaa2249bbcdd3ab522 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a591f5bfcea463cfaa2249bbcdd3ab522"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a591f5bfcea463cfaa2249bbcdd3ab522">Detach</a> (Handle H)</td></tr>
<tr class="separator:a591f5bfcea463cfaa2249bbcdd3ab522 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a17eb99ec0990246c0c7161e6bec84c74"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a17eb99ec0990246c0c7161e6bec84c74">Create</a> (const Handler &amp;Function, Handle *const &amp;H=0, const bool &amp;CreateDetached=false, const unsigned int &amp;StackSize=0, const bool &amp;CancelEnable=false, const bool &amp;CancelAsync=false)</td></tr>
<tr class="separator:a17eb99ec0990246c0c7161e6bec84c74 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d704989d9a19f552ac0387c143cad95 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a1d704989d9a19f552ac0387c143cad95"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a1d704989d9a19f552ac0387c143cad95">Join</a> (const Handle &amp;H)</td></tr>
<tr class="separator:a1d704989d9a19f552ac0387c143cad95 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a83aaa66db8ee6f07482130091690e3 inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a4a83aaa66db8ee6f07482130091690e3"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a4a83aaa66db8ee6f07482130091690e3">Kill</a> (const Handle &amp;H)</td></tr>
<tr class="separator:a4a83aaa66db8ee6f07482130091690e3 inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a094155ec7163e19480ed2181ef8032ed inherit pub_static_methods_classUThreadC_3_01void_01_4" id="r_a094155ec7163e19480ed2181ef8032ed"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a094155ec7163e19480ed2181ef8032ed">Detach</a> (const Handle &amp;H)</td></tr>
<tr class="separator:a094155ec7163e19480ed2181ef8032ed inherit pub_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classUEventsSender"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classUEventsSender')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classUEventsSender.html">UEventsSender</a></td></tr>
<tr class="memitem:ab03886c42164f2f9bf89fd3da641526f inherit pro_methods_classUEventsSender" id="r_ab03886c42164f2f9bf89fd3da641526f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUEventsSender.html#ab03886c42164f2f9bf89fd3da641526f">post</a> (<a class="el" href="classUEvent.html">UEvent</a> *event, bool async=true) const</td></tr>
<tr class="separator:ab03886c42164f2f9bf89fd3da641526f inherit pro_methods_classUEventsSender"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_static_methods_classUThreadC_3_01void_01_4"><td colspan="2" onclick="javascript:toggleInherit('pro_static_methods_classUThreadC_3_01void_01_4')"><img src="closed.png" alt="-"/>&#160;Static Protected Member Functions inherited from <a class="el" href="classUThreadC_3_01void_01_4.html">UThreadC&lt; void &gt;</a></td></tr>
<tr class="memitem:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_afc1715cfa1d5ae88f57ba2fe983bb9e5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#afc1715cfa1d5ae88f57ba2fe983bb9e5">Exit</a> ()</td></tr>
<tr class="separator:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_a5dc3a0223030adcc0c6e3ef829efc824"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a5dc3a0223030adcc0c6e3ef829efc824">TestCancel</a> ()</td></tr>
<tr class="separator:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33cd70cb0291ebd0a95016e89b4d5b6c inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_a33cd70cb0291ebd0a95016e89b4d5b6c"><td class="memItemLeft" align="right" valign="top">static Handle&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a33cd70cb0291ebd0a95016e89b4d5b6c">Self</a> ()</td></tr>
<tr class="separator:a33cd70cb0291ebd0a95016e89b4d5b6c inherit pro_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_afc1715cfa1d5ae88f57ba2fe983bb9e5"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#afc1715cfa1d5ae88f57ba2fe983bb9e5">Exit</a> ()</td></tr>
<tr class="separator:afc1715cfa1d5ae88f57ba2fe983bb9e5 inherit pro_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_a5dc3a0223030adcc0c6e3ef829efc824"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#a5dc3a0223030adcc0c6e3ef829efc824">TestCancel</a> ()</td></tr>
<tr class="separator:a5dc3a0223030adcc0c6e3ef829efc824 inherit pro_static_methods_classUThreadC_3_01void_01_4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afed28b5b5bb00d4addbb0cd7f2ce0ce2 inherit pro_static_methods_classUThreadC_3_01void_01_4" id="r_afed28b5b5bb00d4addbb0cd7f2ce0ce2"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classUThreadC_3_01void_01_4.html#afed28b5b5bb00d4addbb0cd7f2ce0ce2">Self</a> ()</td></tr>
<tr class="separator:afed28b5b5bb00d4addbb0cd7f2ce0ce2 inherit pro_static_methods_classUThreadC_3_01void_01_4"><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>Thread-based sensor data capture and event posting for RTAB-Map. </p>
<p><a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> is a multi-threaded class that continuously captures sensor data from cameras and/or lidars in a background thread. It processes the data, optionally applies filtering and transformations, and posts <a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a> events to registered handlers through RTAB-Map's event system.</p>
<p>The class supports various sensor configurations:</p><ul>
<li><b>Camera-only</b>: Single or multiple cameras for RGB-D or stereo imaging</li>
<li><b>Lidar-only</b>: Single lidar for 3D point cloud capture</li>
<li><b><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> + <a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a></b>: Combined visual and range sensing</li>
<li><b>With odometry</b>: Optional odometry sensor for pose estimation and deskewing</li>
</ul>
<p>Key features:</p><ul>
<li><b>Automatic data synchronization</b>: Synchronizes camera and lidar data by timestamp</li>
<li><b>Deskewing</b>: Corrects lidar scans using odometry poses</li>
<li><b>Image processing</b>: Supports mirroring, decimation, histogram equalization, stereo-to-depth conversion</li>
<li><b>Depth filtering</b>: Optional bilateral filtering for depth images</li>
<li><b><a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> filtering</b>: Optional <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data filtering and fusion</li>
<li><b>Feature detection</b>: Optional automatic feature detection on captured images</li>
<li><b>Frame rate control</b>: Configurable capture rate</li>
<li><b>Event-driven architecture</b>: Posts <a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a> events for downstream processing</li>
</ul>
<p>The class inherits from <a class="el" href="classUThread.html">UThread</a> (for threading) and <a class="el" href="classUEventsSender.html">UEventsSender</a> (for event posting).</p>
<dl class="section note"><dt>Note</dt><dd>Ownership of <a class="el" href="classrtabmap_1_1Camera.html">Camera</a>, <a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a>, and <a class="el" href="classrtabmap_1_1SensorCapture.html" title="Abstract base class for sensor data capture (cameras, lidars, etc.)">SensorCapture</a> pointers is transferred to this class. </dd>
<dd>
The thread must be started with <a class="el" href="classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c">start()</a> and stopped with <a class="el" href="classUThread.html#a8dfefcfd68b453da08ddba9836f35965">kill()</a> or <a class="el" href="classUThread.html#acf33c0e4b656af76da100e7d4f69ed1d">join()</a>. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd><b>Thread Safety</b>: All configuration parameters (setters) should be called <b>before</b> starting the thread with <a class="el" href="classUThread.html#a051e9adcf24f92b9c8e31acd06bad88c">start()</a>. Changing configuration after the thread is started is not thread-safe and may lead to race conditions or undefined behavior. If you need to change parameters at runtime, stop the thread first, modify the configuration, then restart it.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1SensorCapture.html" title="Abstract base class for sensor data capture (cameras, lidars, etc.)">SensorCapture</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a> </dd>
<dd>
<a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a> </dd>
<dd>
<a class="el" href="classUThread.html">UThread</a> </dd>
<dd>
<a class="el" href="classUEventsSender.html">UEventsSender</a> </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00097">97</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="acae15b44b2fb05da9421dc88ff0be75c" name="acae15b44b2fb05da9421dc88ff0be75c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acae15b44b2fb05da9421dc88ff0be75c">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[1/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *&#160;</td>
<td class="paramname"><em>camera</em>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for camera-only capture. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures images from a single camera. The camera can be RGB-D, stereo, or mono.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">camera</td><td>Pointer to the camera to capture from (ownership transferred) </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The camera pointer is owned by this class and will be deleted on destruction. </dd></dl>
</div>
</div>
<a id="a76ad33a55009b7a7f7ec51acccbe0492" name="a76ad33a55009b7a7f7ec51acccbe0492"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a76ad33a55009b7a7f7ec51acccbe0492">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[2/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *&#160;</td>
<td class="paramname"><em>camera</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *&#160;</td>
<td class="paramname"><em>odomSensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>extrinsics</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseTimeOffset</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>poseScaleFactor</em> = <code>1.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseWaitTime</em> = <code>0.1</code>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for camera with odometry sensor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures images from a camera and uses an odometry sensor for pose estimation. The odometry sensor can be the same as the camera or a different sensor.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">camera</td><td>Pointer to the camera to capture images from (ownership transferred) </td></tr>
<tr><td class="paramname">odomSensor</td><td>Pointer to the odometry sensor for pose estimation (can be the same as camera) </td></tr>
<tr><td class="paramname">extrinsics</td><td>Static transform from odometry sensor's left lens frame to camera's left lens frame (without optical rotation applied) </td></tr>
<tr><td class="paramname">poseTimeOffset</td><td>Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </td></tr>
<tr><td class="paramname">poseScaleFactor</td><td>Scale factor to apply to pose translation (default: 1.0, no scaling) </td></tr>
<tr><td class="paramname">poseWaitTime</td><td>Maximum time in seconds to wait for pose data (default: 0.1) </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If odomAsGt is set to true via <a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a5a6a9ad20c75150f86ef479fe74ae6f7" title="Sets whether odometry poses should be treated as ground truth.">setOdomAsGroundTruth()</a>, the odometry pose will be used as ground truth instead of odometry. </dd></dl>
</div>
</div>
<a id="a834d1e5c389e7ef8eb23bf1361916ae2" name="a834d1e5c389e7ef8eb23bf1361916ae2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a834d1e5c389e7ef8eb23bf1361916ae2">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[3/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *&#160;</td>
<td class="paramname"><em>lidar</em>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for lidar-only capture. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures 3D point clouds from a lidar.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lidar</td><td>Pointer to the lidar to capture scans from (ownership transferred) </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The lidar pointer is owned by this class and will be deleted on destruction. </dd></dl>
</div>
</div>
<a id="a9cf0e883ace51a2a656395327beb74e5" name="a9cf0e883ace51a2a656395327beb74e5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cf0e883ace51a2a656395327beb74e5">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[4/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *&#160;</td>
<td class="paramname"><em>lidar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *&#160;</td>
<td class="paramname"><em>camera</em>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for lidar with camera. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures both lidar scans and camera images. If the camera provides pose information, it can be used for deskewing lidar scans.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lidar</td><td>Pointer to the lidar to capture scans from (ownership transferred) </td></tr>
<tr><td class="paramname">camera</td><td>Pointer to the camera to capture images from (ownership transferred). If the camera provides pose, it can be used for deskewing. </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a590aee9497d8a3b6e14b68e1e17f9c6a" name="a590aee9497d8a3b6e14b68e1e17f9c6a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a590aee9497d8a3b6e14b68e1e17f9c6a">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[5/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *&#160;</td>
<td class="paramname"><em>lidar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *&#160;</td>
<td class="paramname"><em>odomSensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseTimeOffset</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>poseScaleFactor</em> = <code>1.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseWaitTime</em> = <code>0.1</code>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for lidar with odometry sensor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures lidar scans and uses an odometry sensor for pose estimation and deskewing. The odometry sensor can be the same as the lidar or a different sensor.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lidar</td><td>Pointer to the lidar to capture scans from (ownership transferred) </td></tr>
<tr><td class="paramname">odomSensor</td><td>Pointer to the odometry sensor for pose estimation and deskewing (can be the same as lidar) </td></tr>
<tr><td class="paramname">poseTimeOffset</td><td>Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </td></tr>
<tr><td class="paramname">poseScaleFactor</td><td>Scale factor to apply to pose translation (default: 1.0, no scaling) </td></tr>
<tr><td class="paramname">poseWaitTime</td><td>Maximum time in seconds to wait for pose data (default: 0.1) </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>Deskewing is enabled by default when an odometry sensor is provided. Use <a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a40f1016ea142c6117ffb080f64b4a854" title="Sets lidar scan processing parameters (deprecated)">setScanParameters()</a> to configure deskewing behavior. </dd>
<dd>
The lidar's local transform should be set as the extrinsics between odometry sensor's frame and lidar's frame. </dd></dl>
</div>
</div>
<a id="a2a64df180f19d0a2ea9a8d66ea58fc42" name="a2a64df180f19d0a2ea9a8d66ea58fc42"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a64df180f19d0a2ea9a8d66ea58fc42">&#9670;&#160;</a></span>SensorCaptureThread() <span class="overload">[6/6]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">rtabmap::SensorCaptureThread::SensorCaptureThread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> *&#160;</td>
<td class="paramname"><em>lidar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> *&#160;</td>
<td class="paramname"><em>camera</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> *&#160;</td>
<td class="paramname"><em>odomSensor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const <a class="el" href="classrtabmap_1_1Transform.html">Transform</a> &amp;&#160;</td>
<td class="paramname"><em>extrinsics</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseTimeOffset</em> = <code>0.0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>poseScaleFactor</em> = <code>1.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double&#160;</td>
<td class="paramname"><em>poseWaitTime</em> = <code>0.1</code>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Constructor for lidar with camera and odometry sensor. </p>
<p>Creates a <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> that captures both lidar scans and camera images, and uses an odometry sensor for pose estimation and deskewing. This is the most comprehensive configuration, supporting multi-modal sensing with pose correction.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">lidar</td><td>Pointer to the lidar to capture scans from (ownership transferred) </td></tr>
<tr><td class="paramname">camera</td><td>Pointer to the camera to capture images from (ownership transferred) </td></tr>
<tr><td class="paramname">odomSensor</td><td>Pointer to the odometry sensor for pose estimation and deskewing (can be the same as camera or lidar) </td></tr>
<tr><td class="paramname">extrinsics</td><td>Static transform from odometry frame to camera frame (without optical rotation applied) </td></tr>
<tr><td class="paramname">poseTimeOffset</td><td>Time offset in seconds to add to data timestamp when querying pose (default: 0.0) </td></tr>
<tr><td class="paramname">poseScaleFactor</td><td>Scale factor to apply to pose translation (default: 1.0, no scaling) </td></tr>
<tr><td class="paramname">poseWaitTime</td><td>Maximum time in seconds to wait for pose data (default: 0.1) </td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for configuration</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The camera and lidar data are synchronized by timestamp, with the camera frame being at least as recent as the lidar frame. </dd>
<dd>
The lidar's local transform should be set as the extrinsics between odometry sensor's frame and lidar's frame. </dd></dl>
</div>
</div>
<a id="af8133c1b2332568c4699282f59c141c9" name="af8133c1b2332568c4699282f59c141c9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8133c1b2332568c4699282f59c141c9">&#9670;&#160;</a></span>~SensorCaptureThread()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">virtual rtabmap::SensorCaptureThread::~SensorCaptureThread </td>
<td>(</td>
<td class="paramname"></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>Virtual destructor. </p>
<p>Stops the capture thread if running and deletes owned sensor pointers. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a1cfabc2a5451ffe913f5691b80de514d" name="a1cfabc2a5451ffe913f5691b80de514d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1cfabc2a5451ffe913f5691b80de514d">&#9670;&#160;</a></span>setMirroringEnabled()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setMirroringEnabled </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables image mirroring (horizontal flip) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to enable mirroring, false to disable </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00245">245</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a2c43f41518d914f2a3ae6959abcde989" name="a2c43f41518d914f2a3ae6959abcde989"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2c43f41518d914f2a3ae6959abcde989">&#9670;&#160;</a></span>setStereoExposureCompensation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setStereoExposureCompensation </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables stereo exposure compensation. </p>
<p>When enabled, adjusts exposure between left and right stereo cameras to improve matching quality.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to enable exposure compensation, false to disable </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00255">255</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a6308c79599bd90b77d243febff024a15" name="a6308c79599bd90b77d243febff024a15"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6308c79599bd90b77d243febff024a15">&#9670;&#160;</a></span>setColorOnly()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setColorOnly </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>colorOnly</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets whether to capture color images only (skip depth) </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">colorOnly</td><td>True to capture color only, false to capture both color and depth </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00261">261</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a74383f4e31ed642520511eb822ed1d89" name="a74383f4e31ed642520511eb822ed1d89"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a74383f4e31ed642520511eb822ed1d89">&#9670;&#160;</a></span>setImageDecimation()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setImageDecimation </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>decimation</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets image decimation factor. </p>
<p>Decimation reduces image resolution by skipping pixels. A decimation of N means every Nth pixel is kept (e.g., 2 = half resolution, 4 = quarter resolution).</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">decimation</td><td>Decimation factor (1 = no decimation, 2 = half resolution, etc.) </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00271">271</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a3e55c70032141f75802b2339c102c063" name="a3e55c70032141f75802b2339c102c063"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e55c70032141f75802b2339c102c063">&#9670;&#160;</a></span>setHistogramMethod()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setHistogramMethod </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>histogramMethod</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets histogram equalization method. </p>
<p>Controls the type of histogram equalization applied to captured images. Histogram equalization improves image contrast by redistributing pixel intensities.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">histogramMethod</td><td>Histogram equalization method:<ul>
<li>0 = None (disabled)</li>
<li>1 = Standard histogram equalization (cv::equalizeHist)</li>
<li>2 = CLAHE - Contrast Limited Adaptive Histogram Equalization (cv::createCLAHE)</li>
</ul>
</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>For color images, histogram equalization is applied only to the luminance channel (Y in YCrCb color space). </dd>
<dd>
For stereo images, histogram equalization is applied to both left and right images. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00287">287</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="ae0658121bc03f0eafd469ee114bc61f8" name="ae0658121bc03f0eafd469ee114bc61f8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae0658121bc03f0eafd469ee114bc61f8">&#9670;&#160;</a></span>setStereoToDepth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setStereoToDepth </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables or disables stereo-to-depth conversion. </p>
<p>When enabled, converts stereo images to depth images using dense stereo matching.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to enable stereo-to-depth conversion, false to disable </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00296">296</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a416f1596701d6b9dbd8512cd1c617788" name="a416f1596701d6b9dbd8512cd1c617788"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a416f1596701d6b9dbd8512cd1c617788">&#9670;&#160;</a></span>setFrameRate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setFrameRate </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>frameRate</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the target frame rate for capture. </p>
<p>Controls how often the capture loop runs. A frame rate of 0 means capture as fast as possible.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">frameRate</td><td>Target frame rate in Hz (0 = unlimited) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a2a40e01eb8e61aae54feeb1458efb88e" name="a2a40e01eb8e61aae54feeb1458efb88e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2a40e01eb8e61aae54feeb1458efb88e">&#9670;&#160;</a></span>setImageRate()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">RTABMAP_DEPRECATED void rtabmap::SensorCaptureThread::setImageRate </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>frameRate</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the target image capture rate (deprecated) </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000012">Deprecated:</a></b></dt><dd>Use <a class="el" href="classrtabmap_1_1SensorCaptureThread.html#a416f1596701d6b9dbd8512cd1c617788" title="Sets the target frame rate for capture.">setFrameRate()</a> instead </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00312">312</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="aa7f6dcffcd6646994c2a87d8b888edcc" name="aa7f6dcffcd6646994c2a87d8b888edcc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa7f6dcffcd6646994c2a87d8b888edcc">&#9670;&#160;</a></span>setDistortionModel()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setDistortionModel </td>
<td>(</td>
<td class="paramtype">const std::string &amp;&#160;</td>
<td class="paramname"><em>path</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets the depth distortion model file path. </p>
<p>Loads a discrete depth distortion model from the specified file path. This is used to correct systematic depth errors at longer ranges using the CLAMS (Calibration, Localization, And Mapping System) approach.</p>
<p>The distortion model is typically created using RTAB-Map's depth calibration tool, which uses visual odometry and 3D mapping to generate ground truth depth for calibration.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">path</td><td>Path to the distortion model file</td></tr>
</table>
</dd>
</dl>
<dl class="section see"><dt>See also</dt><dd><a href="https://github.com/introlab/rtabmap/wiki/Depth-Calibration">https://github.com/introlab/rtabmap/wiki/Depth-Calibration</a> for detailed instructions on how to create and use depth distortion models </dd></dl>
</div>
</div>
<a id="a5a6a9ad20c75150f86ef479fe74ae6f7" name="a5a6a9ad20c75150f86ef479fe74ae6f7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5a6a9ad20c75150f86ef479fe74ae6f7">&#9670;&#160;</a></span>setOdomAsGroundTruth()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setOdomAsGroundTruth </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>enabled</em></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets whether odometry poses should be treated as ground truth. </p>
<p>When enabled, odometry poses from the odometry sensor are stored as ground truth poses instead of odometry poses in the <a class="el" href="classrtabmap_1_1SensorData.html" title="Container class for all sensor data captured at a specific time.">SensorData</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">enabled</td><td>True to use odometry as ground truth, false to use as odometry </td></tr>
</table>
</dd>
</dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00340">340</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a429011ef7b39d30fc98413d727cccf4b" name="a429011ef7b39d30fc98413d727cccf4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a429011ef7b39d30fc98413d727cccf4b">&#9670;&#160;</a></span>enableBilateralFiltering()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::enableBilateralFiltering </td>
<td>(</td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>sigmaS</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>sigmaR</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables bilateral filtering for depth images. </p>
<p>Bilateral filtering reduces noise in depth images while preserving edges.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">sigmaS</td><td>Spatial standard deviation (pixels) </td></tr>
<tr><td class="paramname">sigmaR</td><td>Range standard deviation (depth units) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a57beeb2c34d4430e37da05ef8e400a9b" name="a57beeb2c34d4430e37da05ef8e400a9b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a57beeb2c34d4430e37da05ef8e400a9b">&#9670;&#160;</a></span>disableBilateralFiltering()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::disableBilateralFiltering </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Disables bilateral filtering. </p>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00355">355</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a97ef5e49b994fcd2a3c87d6f7ef244ec" name="a97ef5e49b994fcd2a3c87d6f7ef244ec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a97ef5e49b994fcd2a3c87d6f7ef244ec">&#9670;&#160;</a></span>enableIMUFiltering()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::enableIMUFiltering </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>filteringStrategy</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>baseFrameConversion</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data filtering. </p>
<p>Enables filtering and fusion of <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data from the sensor. The filtering strategy determines how <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data is processed to estimate orientation.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">filteringStrategy</td><td>Filtering strategy:<ul>
<li>0 = Madgwick filter (requires RTAB-Map built with RTABMAP_MADGWICK option)</li>
<li>1 = Complementary filter (default) </li>
</ul>
</td></tr>
<tr><td class="paramname">parameters</td><td>Optional parameters map for <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> filter configuration </td></tr>
<tr><td class="paramname">baseFrameConversion</td><td>If true, converts <a class="el" href="classrtabmap_1_1IMU.html" title="Inertial measurement sample (ROS sensor_msgs/Imu-like fields).">IMU</a> data to base frame</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>If Madgwick filter is requested but RTAB-Map is not built with the option enabled, the Complementary filter will be used instead.</dd></dl>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="classrtabmap_1_1IMUFilter.html" title="Fuses gyroscope and accelerometer samples into an orientation quaternion.">IMUFilter</a> </dd></dl>
</div>
</div>
<a id="aa0a6c975417a655029470aea2ea5d01a" name="aa0a6c975417a655029470aea2ea5d01a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa0a6c975417a655029470aea2ea5d01a">&#9670;&#160;</a></span>enableFeatureDetection()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::enableFeatureDetection </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> = <code><a class="el" href="namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55">ParametersMap</a>()</code></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Enables automatic feature detection on captured images. </p>
<p>When enabled, automatically detects and extracts visual features (keypoints, descriptors) from captured images.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">parameters</td><td>Optional parameters map for feature detector configuration. <a class="el" href="classrtabmap_1_1Parameters.html">Parameters</a> from the "Vis/" group (e.g., Vis/FeatureType, Vis/MaxFeatures) are automatically converted to "Kp/" parameters internally. If both Vis/ and Kp/ parameters are provided, Vis/ parameters take precedence.</td></tr>
</table>
</dd>
</dl>
<dl class="section note"><dt>Note</dt><dd>The function converts Vis/ parameters to Kp/ parameters before creating the <a class="el" href="classrtabmap_1_1Feature2D.html" title="Abstract 2D feature detector and descriptor extractor for visual SLAM.">Feature2D</a> detector. </dd></dl>
</div>
</div>
<a id="a40f1016ea142c6117ffb080f64b4a854" name="a40f1016ea142c6117ffb080f64b4a854"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a40f1016ea142c6117ffb080f64b4a854">&#9670;&#160;</a></span>setScanParameters() <span class="overload">[1/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">RTABMAP_DEPRECATED void rtabmap::SensorCaptureThread::setScanParameters </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fromDepth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>downsampleStep</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rangeMin</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rangeMax</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>voxelSize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>normalsK</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>normalsRadius</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>forceGroundNormalsUp</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deskewing</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets lidar scan processing parameters (deprecated) </p>
<dl class="deprecated"><dt><b><a class="el" href="deprecated.html#_deprecated000013">Deprecated:</a></b></dt><dd>Use the new version with groundNormalsUp parameter instead </dd></dl>
<p>Use the new version with groundNormalsUp parameter:</p><ul>
<li>groundNormalsUp=0.8 for forceGroundNormalsUp=True</li>
<li>groundNormalsUp=0.0 for forceGroundNormalsUp=False </li>
</ul>
</div>
</div>
<a id="a00a7a0e4f5277f6c6ed53bf832624c00" name="a00a7a0e4f5277f6c6ed53bf832624c00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a00a7a0e4f5277f6c6ed53bf832624c00">&#9670;&#160;</a></span>setScanParameters() <span class="overload">[2/2]</span></h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::setScanParameters </td>
<td>(</td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>fromDepth</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>downsampleStep</em> = <code>1</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rangeMin</em> = <code>0.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>rangeMax</em> = <code>0.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>voxelSize</em> = <code>0.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>normalsK</em> = <code>0</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>normalsRadius</em> = <code>0.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">float&#160;</td>
<td class="paramname"><em>groundNormalsUp</em> = <code>0.0f</code>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">bool&#160;</td>
<td class="paramname"><em>deskewing</em> = <code>false</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Sets lidar scan processing parameters. </p>
<p>Configures how lidar scans are processed, including conversion from depth images, filtering, normal estimation, and deskewing.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">fromDepth</td><td>If true, generate scans from depth images instead of raw lidar data </td></tr>
<tr><td class="paramname">downsampleStep</td><td>Downsampling step:<ul>
<li>If fromDepth is true: Image decimation step for depth images (1 = no decimation, 2 = every other pixel in both dimensions, etc.)</li>
<li>If fromDepth is false: Point skipping step for laser scan data (1 = no skipping, 2 = every other point, etc.) </li>
</ul>
</td></tr>
<tr><td class="paramname">rangeMin</td><td>Minimum range in meters (points closer are filtered out, 0 = no minimum) </td></tr>
<tr><td class="paramname">rangeMax</td><td>Maximum range in meters (points farther are filtered out, 0 = no maximum) </td></tr>
<tr><td class="paramname">voxelSize</td><td>Voxel size in meters for downsampling (0 = no voxelization) </td></tr>
<tr><td class="paramname">normalsK</td><td>Number of neighbors for K-nearest neighbors normal estimation (0 = no normals) </td></tr>
<tr><td class="paramname">normalsRadius</td><td>Radius in meters for radius-based normal estimation (0 = use K-nearest) </td></tr>
<tr><td class="paramname">groundNormalsUp</td><td>Threshold for forcing ground normals upward (0.0-1.0, 0.8 = strong, 0.0 = disabled) </td></tr>
<tr><td class="paramname">deskewing</td><td>If true, apply deskewing using odometry poses </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a43cb04de41b589b3f6069fff553a4dd7" name="a43cb04de41b589b3f6069fff553a4dd7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a43cb04de41b589b3f6069fff553a4dd7">&#9670;&#160;</a></span>postUpdate()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void rtabmap::SensorCaptureThread::postUpdate </td>
<td>(</td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1SensorData.html">SensorData</a> *&#160;</td>
<td class="paramname"><em>data</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="classrtabmap_1_1SensorCaptureInfo.html">SensorCaptureInfo</a> *&#160;</td>
<td class="paramname"><em>info</em> = <code>0</code>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Post-processing hook called before posting <a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a>. </p>
<p>This method is called after all processing is complete but before the <a class="el" href="classrtabmap_1_1SensorEvent.html" title="Event class for sensor data communication in RTAB-Map&#39;s event system.">SensorEvent</a> is posted. Derived classes can override this to perform additional processing or modifications to the data.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">data</td><td>Pointer to the processed sensor data (can be modified) </td></tr>
<tr><td class="paramname">info</td><td>Pointer to the sensor capture info (can be modified, may be null) </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a id="a435f89b6a3186462f6ee860afa88644c" name="a435f89b6a3186462f6ee860afa88644c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a435f89b6a3186462f6ee860afa88644c">&#9670;&#160;</a></span>isPaused()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::SensorCaptureThread::isPaused </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">
<p>Checks if the capture thread is paused. </p>
<dl class="section return"><dt>Returns</dt><dd>True if paused (not running), false if running </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00469">469</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="ab2654b31ebdf06b375045fadbc83731a" name="ab2654b31ebdf06b375045fadbc83731a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2654b31ebdf06b375045fadbc83731a">&#9670;&#160;</a></span>isCapturing()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::SensorCaptureThread::isCapturing </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">
<p>Checks if the capture thread is actively capturing. </p>
<dl class="section return"><dt>Returns</dt><dd>True if capturing (running), false if not running </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00475">475</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a88269150d6fd6fd39685fe9e926d98e6" name="a88269150d6fd6fd39685fe9e926d98e6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a88269150d6fd6fd39685fe9e926d98e6">&#9670;&#160;</a></span>odomProvided()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">bool rtabmap::SensorCaptureThread::odomProvided </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td> const</td>
</tr>
</table>
</div><div class="memdoc">
<p>Checks if odometry is provided by the sensors. </p>
<dl class="section return"><dt>Returns</dt><dd>True if an odometry sensor is configured, false otherwise </dd></dl>
</div>
</div>
<a id="ad6750f6280bdcbb386a051ba9cc36857" name="ad6750f6280bdcbb386a051ba9cc36857"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad6750f6280bdcbb386a051ba9cc36857">&#9670;&#160;</a></span>camera()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classrtabmap_1_1Camera.html">Camera</a> * rtabmap::SensorCaptureThread::camera </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the camera pointer. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the camera (null if not set). Valid until <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> is deleted. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00487">487</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="a0f4e3814d203ded5735ebb7abba1451e" name="a0f4e3814d203ded5735ebb7abba1451e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f4e3814d203ded5735ebb7abba1451e">&#9670;&#160;</a></span>odomSensor()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classrtabmap_1_1SensorCapture.html">SensorCapture</a> * rtabmap::SensorCaptureThread::odomSensor </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the odometry sensor pointer. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the odometry sensor (null if not set). Valid until <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> is deleted. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00493">493</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.h</a>.</p>
</div>
</div>
<a id="aa6e5a6a53d621cda6e0b7f2ff35d33f0" name="aa6e5a6a53d621cda6e0b7f2ff35d33f0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa6e5a6a53d621cda6e0b7f2ff35d33f0">&#9670;&#160;</a></span>lidar()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="classrtabmap_1_1Lidar.html">Lidar</a> * rtabmap::SensorCaptureThread::lidar </td>
<td>(</td>
<td class="paramname"></td><td>)</td>
<td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns the lidar pointer. </p>
<dl class="section return"><dt>Returns</dt><dd>Pointer to the lidar (null if not set). Valid until <a class="el" href="classrtabmap_1_1SensorCaptureThread.html" title="Thread-based sensor data capture and event posting for RTAB-Map.">SensorCaptureThread</a> is deleted. </dd></dl>
<p class="definition">Definition at line <a class="el" href="SensorCaptureThread_8h_source.html#l00499">499</a> of file <a class="el" href="SensorCaptureThread_8h_source.html">SensorCaptureThread.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="SensorCaptureThread_8h_source.html">SensorCaptureThread.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_1SensorCaptureThread.html">SensorCaptureThread</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>