<trclass="memitem:aa3367bba5b890341238d93e642f847a7"id="r_aa3367bba5b890341238d93e642f847a7"><tdclass="memItemLeft"align="right"valign="top"> </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classrtabmap_1_1Signature.html#aa3367bba5b890341238d93e642f847a7">Signature</a> (int <aclass="el"href="classrtabmap_1_1Signature.html#a31c6e7b7e720eca20fb5935e0ee1d9f9">id</a>, int <aclass="el"href="classrtabmap_1_1Signature.html#ac6a75872fb4cb64bd088794df6e897bb">mapId</a>=-1, int weight=0, double stamp=0.0, const std::string &label=std::string(), const <aclass="el"href="classrtabmap_1_1Transform.html">Transform</a>&pose=<aclass="el"href="classrtabmap_1_1Transform.html">Transform</a>(), const <aclass="el"href="classrtabmap_1_1Transform.html">Transform</a>&groundTruthPose=<aclass="el"href="classrtabmap_1_1Transform.html">Transform</a>(), const <aclass="el"href="classrtabmap_1_1SensorData.html">SensorData</a>&<aclass="el"href="classrtabmap_1_1Signature.html#a24c257c2ff3fe156910ac82c41de8738">sensorData</a>=<aclass="el"href="classrtabmap_1_1SensorData.html">SensorData</a>())</td></tr>
<trclass="memdesc:aa3367bba5b890341238d93e642f847a7"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Constructor with explicit parameters. <br/></td></tr>
<trclass="memdesc:af106b6a37909c236e22f5cac6150ce62"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Constructor from sensor data. <br/></td></tr>
<trclass="memdesc:abe3b712a3c74599007b1974f592d82bd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Compares this signature to another signature. <br/></td></tr>
<trclass="memdesc:a693874de0d6ede4fe5c5d43d6f4d8b55"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if this signature is considered "bad". <br/></td></tr>
<trclass="memdesc:a28cc9f0c8d553a24ef9e5227be1c99fe"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the weight/importance of this signature. <br/></td></tr>
<trclass="memdesc:a701b32c562d789929a18a19c08bac4ca"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the weight/importance of this signature. <br/></td></tr>
<trclass="memdesc:aa6dc3ad065ae2fd29afbbe69429f3a7b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets a label/name for this signature. <br/></td></tr>
<trclass="memdesc:a78a9ae9059257c60cf1d50ef415520cd"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the label/name of this signature. <br/></td></tr>
<trclass="memdesc:aa9c4ed8d3617b039181cf44a0e30eca2"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the timestamp of this signature. <br/></td></tr>
<trclass="memdesc:aa8513c4ecb77c38b95610834c66e893e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Adds multiple links from a list. <br/></td></tr>
<trclass="memdesc:af92465ad9cbfab36ffbc6d372781170c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Adds multiple links from a map. <br/></td></tr>
<trclass="memdesc:a3bb2e6a8de8e615e51385c4113630f93"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Adds a single link to this signature. <br/></td></tr>
<trclass="memdesc:ad71fa7c0466dbb5c5062953043c3fcb0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if this signature has a link to a target signature. <br/></td></tr>
<trclass="memitem:a10d3bce2c3e4ec2de31aa5fa0c4b5934"id="r_a10d3bce2c3e4ec2de31aa5fa0c4b5934"><tdclass="memItemLeft"align="right"valign="top">void </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classrtabmap_1_1Signature.html#a10d3bce2c3e4ec2de31aa5fa0c4b5934">changeLinkIds</a> (int idFrom, int idTo)</td></tr>
<trclass="memdesc:a10d3bce2c3e4ec2de31aa5fa0c4b5934"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Changes all link target IDs from one value to another. <br/></td></tr>
<trclass="memdesc:a8d3e01853af1365fce62dd460dea816f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes all links from this signature. <br/></td></tr>
<trclass="memdesc:abbd9806c2b20182217d2269c7398541e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes a specific link to a target signature. <br/></td></tr>
<trclass="memdesc:a328419f90f9dd8113dee4e38c9e30367"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes all virtual links from this signature. <br/></td></tr>
<trclass="memdesc:a71621ac6411f778342c23fbc4e695a12"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Adds a landmark observation to this signature. <br/></td></tr>
<trclass="memdesc:a2257cfc6c620d726484f1c6c2b11257a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns all landmark observations. <br/></td></tr>
<trclass="memdesc:aa482e98fb247d40368a9aaa838fe3a5a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes all landmark observations. <br/></td></tr>
<trclass="memdesc:a6fe5edded7922a34c3f52e71e8be458d"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes a specific landmark observation. <br/></td></tr>
<trclass="memdesc:a02c5d305492e3534e3799b8b7c78d912"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets whether this signature has been saved to the database. <br/></td></tr>
<trclass="memdesc:a245c8af68f7adec3813e3b062395769f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the modification flag for this signature. <br/></td></tr>
<trclass="memdesc:a1496e2f2ae46f2b6efcf7ece309ffd22"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns all links from this signature. <br/></td></tr>
<trclass="memdesc:a0d15326165e9d01f0b91b247f5da23ea"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if this signature has been saved to the database. <br/></td></tr>
<trclass="memdesc:ab63ee6d2a0e2cd456748a64d9990f969"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if this signature has been modified. <br/></td></tr>
<trclass="memdesc:a93dcbd3cffc84808fe5652bf0f542ca9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if the links have been modified. <br/></td></tr>
<trclass="memdesc:aac24301e6aff593fdcd679485b2c0e0e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Removes all visual words from this signature. <br/></td></tr>
<trclass="memitem:a0fbef54e89583c0ee919f938d57c8759"id="r_a0fbef54e89583c0ee919f938d57c8759"><tdclass="memItemLeft"align="right"valign="top">void </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classrtabmap_1_1Signature.html#a0fbef54e89583c0ee919f938d57c8759">changeWordsRef</a> (int oldWordId, int activeWordId)</td></tr>
<trclass="memdesc:a0fbef54e89583c0ee919f938d57c8759"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Changes visual word references from one word ID to another. <br/></td></tr>
<trclass="memdesc:a6fb8d04c4c2c8ee6f82d1eb65fd750a4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets all visual words for this signature. <br/></td></tr>
<trclass="memdesc:a343a565680d03c45cc29dff7392b275e"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Checks if this signature is enabled. <br/></td></tr>
<trclass="memdesc:a51a08cbabd87eb0fd5045ffdb4cb3c00"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets whether this signature is enabled. <br/></td></tr>
<trclass="memitem:a68eaa67c81d08e20d2b7a43b0659b1d4"id="r_a68eaa67c81d08e20d2b7a43b0659b1d4"><tdclass="memItemLeft"align="right"valign="top">const std::multimap< int, int >& </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classrtabmap_1_1Signature.html#a68eaa67c81d08e20d2b7a43b0659b1d4">getWords</a> () const</td></tr>
<trclass="memdesc:a68eaa67c81d08e20d2b7a43b0659b1d4"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the visual words map. <br/></td></tr>
<trclass="memdesc:a471f71821ceeec9a25e9e4e16673d14f"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the keypoints associated with visual words. <br/></td></tr>
<trclass="memdesc:ac2d1526d87df9ff5d4885b16c460ebcf"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the count of invalid visual words. <br/></td></tr>
<trclass="memitem:a01f6eac0e5836aa921d65108b75249f6"id="r_a01f6eac0e5836aa921d65108b75249f6"><tdclass="memItemLeft"align="right"valign="top">const std::map< int, int >& </td><tdclass="memItemRight"valign="bottom"><aclass="el"href="classrtabmap_1_1Signature.html#a01f6eac0e5836aa921d65108b75249f6">getWordsChanged</a> () const</td></tr>
<trclass="memdesc:a01f6eac0e5836aa921d65108b75249f6"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the word ID change mapping. <br/></td></tr>
<trclass="memdesc:a1ed4181ac5cc7b477482459d680c63b1"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the feature descriptors for visual words. <br/></td></tr>
<trclass="memdesc:a80565e1439be473d9c783d5c624b1a02"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the feature descriptors for visual words. <br/></td></tr>
<trclass="memdesc:aca4bf5db794637f0780f6eb2139a16f0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the pose of this signature. <br/></td></tr>
<trclass="memdesc:aa8be86850b1277ce7c5eb4a5998e35e9"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the ground truth pose for evaluation. <br/></td></tr>
<trclass="memdesc:a1e48a2cde44ad1ecc2daaf5e8245e86a"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Sets the velocity of this signature. <br/></td></tr>
<trclass="memdesc:ab902bfc7cdde2542ffe7e5d441f90a66"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the 3D points of visual words. <br/></td></tr>
<trclass="memdesc:a5166864f276c921963033e8852c13076"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the pose of this signature. <br/></td></tr>
<trclass="memdesc:a5d5f3aa41c0d9404654ebc5628a5189c"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the ground truth pose. <br/></td></tr>
<trclass="memdesc:ae97f22fcb6799a5312c1948cb9f42c99"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns the velocity of this signature. <br/></td></tr>
<trclass="memdesc:a24c257c2ff3fe156910ac82c41de8738"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns mutable access to the sensor data. <br/></td></tr>
<trclass="memdesc:a0e7b1874613a7438ec1b2d9aa2634da8"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Returns const access to the sensor data. <br/></td></tr>
<trclass="memdesc:a014fd12ee6cd47004e94ef4bb4753459"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Computes the memory usage of this signature. <br/></td></tr>
<divclass="textblock"><p>Represents a node in RTAB-Map's pose graph. </p>
<p>The <aclass="el"href="classrtabmap_1_1Signature.html"title="Represents a node in RTAB-Map's pose graph.">Signature</a> class is a fundamental building block of RTAB-Map's graph-based mapping system. Each signature represents a unique location or pose in the map and contains:</p>
<ul>
<li><b>Visual words</b>: Bag-of-words representation using visual features (keypoints, descriptors, 3D points) for place recognition</li>
<li><b>Links</b>: Connections to other signatures (neighbors, loop closures, landmarks)</li>
<li><b>Pose information</b>: Current pose, ground truth pose, velocity</li>
<li><b>Sensor data</b>: Images, depth, laser scans, etc. captured at this location</li>
<li><b>Place recognition</b>: Comparing signatures to detect loop closures</li>
<li><b>Graph construction</b>: Building the pose graph through links</li>
<li><b>Localization</b>: Matching current observations to stored signatures</li>
<li><b>Mapping</b>: Storing sensor data, visual features and local occupancy grid for each location</li>
</ul>
<p>The class tracks modification state to optimize database updates, and provides methods to manage visual words, links, landmarks, and pose information.</p>
<dlclass="section note"><dt>Note</dt><dd>Signatures are typically managed by the <aclass="el"href="classrtabmap_1_1Memory.html"title="Three-tiered memory management (STM, WM, LTM) for RTAB-Map.">Memory</a> class, which handles storage, retrieval, and graph operations.</dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1Link.html"title="Directed constraint between two nodes in RTAB-Map's pose graph.">Link</a></dd>
<dd>
<aclass="el"href="classrtabmap_1_1SensorData.html"title="Container class for all sensor data captured at a specific time.">SensorData</a></dd>
<dd>
<aclass="el"href="classrtabmap_1_1Memory.html"title="Three-tiered memory management (STM, WM, LTM) for RTAB-Map.">Memory</a></dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00083">83</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
</div><h2class="groupheader">Constructor & Destructor Documentation</h2>
<p>Creates a signature from sensor data. The signature ID is taken from the sensor data ID, and the ground truth pose is extracted from the sensor data if available.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">data</td><td>Sensor data to create signature from</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>The signature pose is initialized to identity transform. </dd></dl>
</div>
</div>
<h2class="groupheader">Member Function Documentation</h2>
<p>Compares this signature to another signature. </p>
<p>Computes a similarity score between this signature and another signature based on their visual words. The comparison uses bag-of-words matching to determine how similar the two locations are.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">signature</td><td>The signature to compare against </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>Similarity score between 0.0 and 1.0, where 1.0 means 100% similarity</dd></dl>
<dlclass="section note"><dt>Note</dt><dd>This method is used for loop closure detection and place recognition. </dd></dl>
<p>Checks if this signature is considered "bad". </p>
<p>A signature is considered bad if it has no valid visual words (all words are invalid or the signature has no words at all). Bad signatures cannot be used for place recognition.</p>
<dlclass="section return"><dt>Returns</dt><dd>True if the signature has no valid visual words, false otherwise </dd></dl>
<dlclass="section return"><dt>Returns</dt><dd>The unique signature ID (0 if invalid/uninitialized) </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00168">168</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>The map ID this signature belongs to (-1 if no map assigned) </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00174">174</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Sets the weight/importance of this signature. </p>
<p>The weight represents the importance or priority of this signature, typically set by Rehearsal mechanism (see Memory::rehearsal). Higher weights may be used to prioritize certain signatures during memory management or loop closure detection.</p>
<dlclass="section note"><dt>Note</dt><dd>Marks the signature as modified if the weight changes. A signature already flagged as modified stays modified. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00189">189</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns the weight/importance of this signature. </p>
<dlclass="section return"><dt>Returns</dt><dd>The weight value </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00195">195</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section note"><dt>Note</dt><dd>Marks the signature as modified if the label changes. A signature already flagged as modified stays modified. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00208">208</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>The label string (empty if not set) </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00214">214</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Timestamp in seconds (typically seconds since epoch) </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00220">220</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Adds all links from the provided list to this signature's link collection.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">links</td><td>List of links to add</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>Each link must have <code>from()</code> equal to this signature's ID. </dd>
<dd>
Automatically marks links as modified. </dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1Signature.html#a3bb2e6a8de8e615e51385c4113630f93"title="Adds a single link to this signature.">addLink()</a></dd></dl>
<p>Adds all links from the provided map to this signature's link collection.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">links</td><td>Map of target IDs to links</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>Each link must have <code>from()</code> equal to this signature's ID. </dd>
<dd>
The map's keys are the target IDs (<code>to()</code> values of the links). </dd>
<dd>
Automatically marks links as modified. </dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1Signature.html#a3bb2e6a8de8e615e51385c4113630f93"title="Adds a single link to this signature.">addLink()</a></dd></dl>
<p>Checks if this signature has a link to a target signature. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">idTo</td><td>Target signature ID (0 to check for any link of the specified type) </td></tr>
<tr><tdclass="paramname">type</td><td><aclass="el"href="classrtabmap_1_1Link.html"title="Directed constraint between two nodes in RTAB-Map's pose graph.">Link</a> type to check for (default: <aclass="el"href="classrtabmap_1_1Link.html#a925bb7ca93eb95a3a873b0a9e8d5e91ea8a720d632258ba1b468af0319ae8e7d4">Link::kUndef</a> to check any type) </td></tr>
</table>
</dd>
</dl>
<dlclass="section return"><dt>Returns</dt><dd>True if a matching link exists, false otherwise </dd></dl>
<p>Changes all link target IDs from one value to another. </p>
<p>Updates all links that point to <code>idFrom</code> to point to <code>idTo</code> instead. This is useful when merging or reorganizing the graph.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">idFrom</td><td>Original target ID </td></tr>
<p>Removes all virtual links from this signature. </p>
<p>Virtual links are links of type <aclass="el"href="classrtabmap_1_1Link.html#a925bb7ca93eb95a3a873b0a9e8d5e91eaf74a4b0552da7509b16f8c4b8baf85c7">Link::kVirtualClosure</a>.</p>
<dlclass="section note"><dt>Note</dt><dd>Automatically marks links as modified. </dd></dl>
<p>Adds a landmark observation to this signature. </p>
<p>Landmarks are persistent features in the environment that can be observed from multiple locations. This method adds a link representing the observation of a landmark from this signature's location.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">landmark</td><td><aclass="el"href="classrtabmap_1_1Link.html"title="Directed constraint between two nodes in RTAB-Map's pose graph.">Link</a> representing the landmark observation</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd><aclass="el"href="classrtabmap_1_1Landmark.html"title="Optimized pose of a visual landmark (e.g. ArUco/AprilTag) in the map.">Landmark</a> IDs are typically negative to distinguish them from regular nodes. </dd></dl>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the map of landmark IDs to landmark links </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00332">332</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Sets whether this signature has been saved to the database. </p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">saved</td><td>True if saved, false otherwise </td></tr>
</table>
</dd>
</dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00349">349</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Sets the modification flag for this signature. </p>
<p>Marks the signature as modified (or unmodified). When set to true, also marks links as modified.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">modified</td><td>True if modified, false otherwise </td></tr>
</table>
</dd>
</dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00359">359</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the multimap of target IDs to links </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00365">365</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Checks if this signature has been saved to the database. </p>
<dlclass="section return"><dt>Returns</dt><dd>True if saved, false otherwise </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00371">371</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Checks if this signature has been modified. </p>
<p>Returns true if either the signature data or links have been modified.</p>
<dlclass="section return"><dt>Returns</dt><dd>True if modified, false otherwise </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00380">380</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>True if links are modified, false otherwise </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00386">386</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Changes visual word references from one word ID to another. </p>
<p>Updates all occurrences of <code>oldWordId</code> to <code>activeWordId</code> in the visual words. This is used when words are merged or reorganized in the dictionary.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">oldWordId</td><td>The original word ID to replace </td></tr>
<tr><tdclass="paramname">activeWordId</td><td>The new word ID to use</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>Tracks word ID changes in <code>_wordsChanged</code> for reference. </dd></dl>
<p>Sets the complete visual word representation including word IDs, keypoints, 3D points, and descriptors. All arrays must have matching sizes.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">words</td><td>Multimap of word IDs to keypoint indices (allows duplicate words). The keypoint indices match the keypoints, points and descriptors. </td></tr>
<tr><tdclass="paramname">keypoints</td><td>Vector of 2D keypoints in image coordinates. The keypoints must be in the same order as the words. </td></tr>
<tr><tdclass="paramname">words3</td><td>Vector of 3D points in base_link frame (with localTransform applied). The points must be in the same order as the words. </td></tr>
<tr><tdclass="paramname">descriptors</td><td>Feature descriptors matrix (one row per word). The descriptors must be in the same order as the words.</td></tr>
</table>
</dd>
</dl>
<dlclass="section note"><dt>Note</dt><dd>The signature is disabled after setting words (must be explicitly enabled). </dd>
<dd>
Invalid words (ID <= 0) are counted in <code>_invalidWordsCount</code>. </dd>
<dd>
All arrays must have the same size (number of words). </dd></dl>
<p>Enabled signatures can be used for place recognition and loop closure detection. More explicitly, it means that the signature is registered to the <aclass="el"href="classrtabmap_1_1VWDictionary.html"title="Manages a dictionary of visual words for visual place recognition and loop closure detection.">VWDictionary</a> (see Memory::enableWordsRef).</p>
<dlclass="section return"><dt>Returns</dt><dd>True if enabled, false otherwise </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00436">436</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<tr><tdclass="paramname">enabled</td><td>True to enable, false to disable </td></tr>
</table>
</dd>
</dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00442">442</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns a multimap of word IDs to keypoint indices. The multimap allows duplicate word IDs (a word can appear multiple times in the signature).</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the words multimap </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00452">452</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns the keypoints associated with visual words. </p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the vector of 2D keypoints </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00458">458</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns the count of invalid visual words. </p>
<p>Invalid words are those with ID <= 0. These words cannot be used for place recognition. However, they are still used for transform estimation after loop closures are detected with the valid words.</p>
<dlclass="section return"><dt>Returns</dt><dd>Number of invalid words </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00469">469</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns a map of old word IDs to new word IDs, tracking changes made through <code><aclass="el"href="classrtabmap_1_1Signature.html#a0fbef54e89583c0ee919f938d57c8759"title="Changes visual word references from one word ID to another.">changeWordsRef()</a></code>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the word ID change map </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00479">479</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns the feature descriptors for visual words. </p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the descriptors matrix (one row per word) </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00485">485</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>The pose represents the position and orientation of this signature in the odometry coordinate frame. To get the pose in map coordinate frame, use the map correction transform computed by graph optimization and apply it to this pose.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">pose</td><td>The transform representing the pose in the odometry coordinate frame.</td></tr>
</table>
</dd>
</dl>
<divclass="fragment"><divclass="line"><spanclass="comment">// Get pose in map coordinate frame</span></div>
<divclass="line"><spanclass="comment">// poseInMapFrame is the pose in map coordinate frame</span></div>
<divclass="line"><spanclass="comment">// signature.getPose() returns the pose in odometry coordinate frame</span></div>
<divclass="ttc"id="aclassrtabmap_1_1Statistics_html"><divclass="ttname"><ahref="classrtabmap_1_1Statistics.html">rtabmap::Statistics</a></div><divclass="ttdoc">Collects and manages runtime statistics for RTAB-Map.</div><divclass="ttdef"><b>Definition</b><ahref="Statistics_8h_source.html#l00107">Statistics.h:108</a></div></div>
<divclass="ttc"id="aclassrtabmap_1_1Statistics_html_a775992631cd8d976a94ea6c1560dad0d"><divclass="ttname"><ahref="classrtabmap_1_1Statistics.html#a775992631cd8d976a94ea6c1560dad0d">rtabmap::Statistics::mapCorrection</a></div><divclass="ttdeci">const Transform & mapCorrection() const</div><divclass="ttdoc">Returns the map correction transform.</div><divclass="ttdef"><b>Definition</b><ahref="Statistics_8h_source.html#l00657">Statistics.h:657</a></div></div>
<divclass="ttc"id="aclassrtabmap_1_1Transform_html"><divclass="ttname"><ahref="classrtabmap_1_1Transform.html">rtabmap::Transform</a></div><divclass="ttdoc">Represents a 3D rigid body transformation (rotation + translation).</div><divclass="ttdef"><b>Definition</b><ahref="Transform_8h_source.html#l00052">Transform.h:53</a></div></div>
</div><!-- fragment --><dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1Statistics.html#a775992631cd8d976a94ea6c1560dad0d"title="Returns the map correction transform.">Statistics::mapCorrection()</a></dd>
<dd>
<aclass="el"href="classrtabmap_1_1Signature.html#a5166864f276c921963033e8852c13076"title="Returns the pose of this signature.">getPose()</a></dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00519">519</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Sets the ground truth pose for evaluation. </p>
<p>Ground truth poses are used for evaluating localization accuracy and comparing against the estimated pose.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">pose</td><td>The ground truth transform </td></tr>
</table>
</dd>
</dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00529">529</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Sets the 6DOF velocity (linear and angular) at the time this signature was captured.</p>
<dlclass="params"><dt>Parameters</dt><dd>
<tableclass="params">
<tr><tdclass="paramname">vx</td><td>Linear velocity in x direction (m/s) </td></tr>
<tr><tdclass="paramname">vy</td><td>Linear velocity in y direction (m/s) </td></tr>
<tr><tdclass="paramname">vz</td><td>Linear velocity in z direction (m/s) </td></tr>
<tr><tdclass="paramname">vroll</td><td>Angular velocity around x axis (rad/s) </td></tr>
<tr><tdclass="paramname">vpitch</td><td>Angular velocity around y axis (rad/s) </td></tr>
<tr><tdclass="paramname">vyaw</td><td>Angular velocity around z axis (rad/s) </td></tr>
</table>
</dd>
</dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00544">544</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns the 3D coordinates of visual words in the base_link frame (with localTransform applied).</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the vector of 3D points </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00562">562</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the pose transform in the odometry coordinate frame. </dd></dl>
<dlclass="section see"><dt>See also</dt><dd><aclass="el"href="classrtabmap_1_1Signature.html#aca4bf5db794637f0780f6eb2139a16f0"title="Sets the pose of this signature.">setPose()</a> for an example of how to get the pose in map coordinate frame. </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00569">569</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Gets the covariance matrix representing the uncertainty between the current pose and the previous pose (e.g, from the odometry link with the previous signature).</p>
<dlclass="section return"><dt>Returns</dt><dd>6x6 covariance matrix (3x3 for translation, 3x3 for rotation) </dd></dl>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the ground truth transform </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00585">585</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the velocity vector [vx, vy, vz, vroll, vpitch, vyaw] </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00591">591</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<p>Returns mutable access to the sensor data. </p>
<dlclass="section return"><dt>Returns</dt><dd>Reference to the sensor data </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00597">597</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<dlclass="section return"><dt>Returns</dt><dd>Const reference to the sensor data </dd></dl>
<pclass="definition">Definition at line <aclass="el"href="Signature_8h_source.html#l00603">603</a> of file <aclass="el"href="Signature_8h_source.html">Signature.h</a>.</p>
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.9.8 </li>