2026-08-06 22:56:24 +00:00
<!-- 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::OptimizerTORO 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" >
2026-09-20 06:51:14 +00:00
< div id = "projectname" > RTAB-Map< span id = "projectnumber" >   0.23.12</ span >
2026-08-06 22:56:24 +00:00
</ 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&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&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&dn=expat.txt MIT */
$ ( document ). ready ( function (){ initNavTree ( 'classrtabmap_1_1OptimizerTORO.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 > |
< a href = "#pub-static-methods" > Static Public Member Functions</ a > |
< a href = "classrtabmap_1_1OptimizerTORO-members.html" > List of all members</ a > </ div >
< div class = "headertitle" >< div class = "title" > rtabmap::OptimizerTORO Class Reference</ div ></ div >
</ div > <!--header-->
< div class = "contents" >
< div class = "dynheader" >
Inheritance diagram for rtabmap::OptimizerTORO:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1OptimizerTORO__inherit__graph.png" border = "0" usemap = "#artabmap_1_1OptimizerTORO_inherit__map" alt = "Inheritance graph" /></ div >
< map name = "artabmap_1_1OptimizerTORO_inherit__map" id = "artabmap_1_1OptimizerTORO_inherit__map" >
< area shape = "rect" title = " " alt = "" coords = "5,79,192,104" />
< area shape = "rect" href = "classrtabmap_1_1Optimizer.html" title = "Abstract base for pose-graph and bundle-adjustment optimizers." alt = "" coords = "24,5,173,31" />
< area shape = "poly" title = " " alt = "" coords = "101,44,101,79,96,79,96,44" />
</ map >
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
< div class = "dynheader" >
Collaboration diagram for rtabmap::OptimizerTORO:</ div >
< div class = "dyncontent" >
< div class = "center" >< img src = "classrtabmap_1_1OptimizerTORO__coll__graph.png" border = "0" usemap = "#artabmap_1_1OptimizerTORO_coll__map" alt = "Collaboration graph" /></ div >
< map name = "artabmap_1_1OptimizerTORO_coll__map" id = "artabmap_1_1OptimizerTORO_coll__map" >
< area shape = "rect" title = " " alt = "" coords = "5,79,192,104" />
< area shape = "rect" href = "classrtabmap_1_1Optimizer.html" title = "Abstract base for pose-graph and bundle-adjustment optimizers." alt = "" coords = "24,5,173,31" />
< area shape = "poly" title = " " alt = "" coords = "101,44,101,79,96,79,96,44" />
</ map >
< center >< span class = "legend" > [< a target = "top" href = "graph_legend.html" > legend</ a > ]</ span ></ center ></ div >
< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "pub-methods" name = "pub-methods" ></ a >
Public Member Functions</ h2 ></ td ></ tr >
< tr class = "memitem:a7a8bcaf3dc94f5f28ab4837fda8254ca" id = "r_a7a8bcaf3dc94f5f28ab4837fda8254ca" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OptimizerTORO.html#a7a8bcaf3dc94f5f28ab4837fda8254ca" > OptimizerTORO</ a > (int < a class = "el" href = "classrtabmap_1_1Optimizer.html#a178bb719b0e22863e29add12c85e14a5" > iterations</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a88a7018a56b4e6c7c0ceb8e11286f319" > Parameters::defaultOptimizerIterations</ a > (), bool slam2d=< a class = "el" href = "classrtabmap_1_1Parameters.html#aee1046f9615d2ed988c952cc47c9331e" > Parameters::defaultRegForce3DoF</ a > (), bool covarianceIgnored=< a class = "el" href = "classrtabmap_1_1Parameters.html#ad329ace1333ac8c94cd4043b58173f1b" > Parameters::defaultOptimizerVarianceIgnored</ a > (), double < a class = "el" href = "classrtabmap_1_1Optimizer.html#a3bca4e3df1048f8bbad9b3b9473924a2" > epsilon</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a8fb0df24ed2d24a013abc03828f43acc" > Parameters::defaultOptimizerEpsilon</ a > ())</ td ></ tr >
< tr class = "separator:a7a8bcaf3dc94f5f28ab4837fda8254ca" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3d4d822acdf4bb8a1f27cb1f73c55663" id = "r_a3d4d822acdf4bb8a1f27cb1f73c55663" >< td class = "memItemLeft" align = "right" valign = "top" >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OptimizerTORO.html#a3d4d822acdf4bb8a1f27cb1f73c55663" > OptimizerTORO</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters)</ td ></ tr >
< tr class = "separator:a3d4d822acdf4bb8a1f27cb1f73c55663" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a965efb877ac5edd3b6cda43983096a64" id = "r_a965efb877ac5edd3b6cda43983096a64" >< td class = "memItemLeft" align = "right" valign = "top" > virtual < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Type</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OptimizerTORO.html#a965efb877ac5edd3b6cda43983096a64" > type</ a > () const</ td ></ tr >
< tr class = "memdesc:a965efb877ac5edd3b6cda43983096a64" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns the concrete back-end identifier (one of < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Type</ a > ). < br /></ td ></ tr >
< tr class = "separator:a965efb877ac5edd3b6cda43983096a64" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a025b40902f0ea048bdbfee9ed4ebc0f3" id = "r_a025b40902f0ea048bdbfee9ed4ebc0f3" >< td class = "memItemLeft" align = "right" valign = "top" > virtual std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1OptimizerTORO.html#a025b40902f0ea048bdbfee9ed4ebc0f3" > optimize</ a > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & edgeConstraints, cv::Mat & outputCovariance, std::list< std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)</ td ></ tr >
< tr class = "memdesc:a025b40902f0ea048bdbfee9ed4ebc0f3" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Pose-graph optimization with marginal covariance of < code > rootId</ code > . < br /></ td ></ tr >
< tr class = "separator:a025b40902f0ea048bdbfee9ed4ebc0f3" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a8d9bbd66ace4ec31148059c84ae9b090" id = "r_a8d9bbd66ace4ec31148059c84ae9b090" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "a8d9bbd66ace4ec31148059c84ae9b090" name = "a8d9bbd66ace4ec31148059c84ae9b090" ></ a >
bool  </ td >< td class = "memItemRight" valign = "bottom" >< b > saveGraph</ b > (const std::string & fileName, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & edgeConstraints)</ td ></ tr >
< tr class = "separator:a8d9bbd66ace4ec31148059c84ae9b090" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_methods_classrtabmap_1_1Optimizer" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_methods_classrtabmap_1_1Optimizer')" >< img src = "closed.png" alt = "-" />   Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Optimizer.html" > rtabmap::Optimizer</ a ></ td ></ tr >
< tr class = "memitem:a4477c9a5b6651729944726465b5eba7f inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a4477c9a5b6651729944726465b5eba7f" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a4477c9a5b6651729944726465b5eba7f" > getConnectedGraph</ a > (int fromId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & posesIn, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & linksIn, std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & posesOut, std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & linksOut) const</ td ></ tr >
< tr class = "memdesc:a4477c9a5b6651729944726465b5eba7f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Extracts the connected component reachable from < code > fromId</ code > . < br /></ td ></ tr >
< tr class = "separator:a4477c9a5b6651729944726465b5eba7f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a0a942bd7902c8d2f9444b8eba6a648a3 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a0a942bd7902c8d2f9444b8eba6a648a3" >< td class = "memItemLeft" align = "right" valign = "top" > virtual void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a0a942bd7902c8d2f9444b8eba6a648a3" > parseParameters</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters)</ td ></ tr >
< tr class = "memdesc:a0a942bd7902c8d2f9444b8eba6a648a3 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Reads shared knobs from < code > parameters</ code > and applies them to this instance. < br /></ td ></ tr >
< tr class = "separator:a0a942bd7902c8d2f9444b8eba6a648a3 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a278f42e0d250085ac6fe9ed425627acf inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a278f42e0d250085ac6fe9ed425627acf" >< td class = "memItemLeft" align = "right" valign = "top" > std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a278f42e0d250085ac6fe9ed425627acf" > optimizeIncremental</ a > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & constraints, std::list< std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)</ td ></ tr >
< tr class = "memdesc:a278f42e0d250085ac6fe9ed425627acf inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Pose-graph optimization that grows the graph one node at a time. < br /></ td ></ tr >
< tr class = "separator:a278f42e0d250085ac6fe9ed425627acf inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a7e3aff943e77603493a358ff522fa2dc inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a7e3aff943e77603493a358ff522fa2dc" >< td class = "memItemLeft" align = "right" valign = "top" > std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a7e3aff943e77603493a358ff522fa2dc" > optimize</ a > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & constraints, std::list< std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > > *intermediateGraphes=0, double *finalError=0, int *iterationsDone=0)</ td ></ tr >
< tr class = "memdesc:a7e3aff943e77603493a358ff522fa2dc inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Pose-graph optimization (single shot). < br /></ td ></ tr >
< tr class = "separator:a7e3aff943e77603493a358ff522fa2dc inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2026-08-10 00:39:24 +00:00
< tr class = "memitem:a1122f017f10105f7e6c14039d41709e5 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a1122f017f10105f7e6c14039d41709e5" >< td class = "memItemLeft" align = "right" valign = "top" > virtual std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a1122f017f10105f7e6c14039d41709e5" > optimizeBA</ a > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & links, const std::map< int, std::vector< < a class = "el" href = "classrtabmap_1_1CameraModel.html" > CameraModel</ a > > > & models, std::map< int, cv::Point3f > & points3DMap, const std::map< int, std::map< int, < a class = "el" href = "classrtabmap_1_1FeatureBA.html" > FeatureBA</ a > > > & wordReferences, BAOutliers *outliers=0)</ td ></ tr >
< tr class = "memdesc:a1122f017f10105f7e6c14039d41709e5 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Bundle adjustment: jointly refine poses and 3D points (back-end-level entry point). < br /></ td ></ tr >
< tr class = "separator:a1122f017f10105f7e6c14039d41709e5 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2026-08-06 22:56:24 +00:00
< tr class = "memitem:a2f7cbdebed9787ffa6b0b30536dfa1a0 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a2f7cbdebed9787ffa6b0b30536dfa1a0" >< td class = "memItemLeft" align = "right" valign = "top" > std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a2f7cbdebed9787ffa6b0b30536dfa1a0" > optimizeBA</ a > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & links, const std::map< int, < a class = "el" href = "classrtabmap_1_1Signature.html" > Signature</ a > > & signatures, std::map< int, cv::Point3f > & points3DMap, std::map< int, std::map< int, < a class = "el" href = "classrtabmap_1_1FeatureBA.html" > FeatureBA</ a > > > & wordReferences, bool rematchFeatures=false, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & registrationParameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a2f7cbdebed9787ffa6b0b30536dfa1a0 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > BA wrapper that derives camera models and correspondences from signatures. < br /></ td ></ tr >
< tr class = "separator:a2f7cbdebed9787ffa6b0b30536dfa1a0 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aab99f045516162944ad68fdabacb53dc inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_aab99f045516162944ad68fdabacb53dc" >< td class = "memItemLeft" align = "right" valign = "top" >
std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > >  </ td >< td class = "memItemRight" valign = "bottom" >< b > optimizeBA</ b > (int rootId, const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & links, const std::map< int, < a class = "el" href = "classrtabmap_1_1Signature.html" > Signature</ a > > & signatures, bool rematchFeatures=false, const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & registrationParameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:aab99f045516162944ad68fdabacb53dc inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > BA convenience wrapper: like the overload above but ignores the refined 3D points and observation map. < br /></ td ></ tr >
< tr class = "separator:aab99f045516162944ad68fdabacb53dc inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2026-08-10 00:39:24 +00:00
< tr class = "memitem:aedaeb7cc371f3685f8595d9a151f6605 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_aedaeb7cc371f3685f8595d9a151f6605" >< td class = "memItemLeft" align = "right" valign = "top" >< a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a >   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#aedaeb7cc371f3685f8595d9a151f6605" > optimizeBA</ a > (const < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > & link, const < a class = "el" href = "classrtabmap_1_1CameraModel.html" > CameraModel</ a > & model, std::map< int, cv::Point3f > & points3DMap, const std::map< int, std::map< int, < a class = "el" href = "classrtabmap_1_1FeatureBA.html" > FeatureBA</ a > > > & wordReferences, BAOutliers *outliers=0)</ td ></ tr >
< tr class = "memdesc:aedaeb7cc371f3685f8595d9a151f6605 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Refine a single two-frame link via BA. < br /></ td ></ tr >
< tr class = "separator:aedaeb7cc371f3685f8595d9a151f6605 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
2026-08-06 22:56:24 +00:00
< tr class = "memitem:a93fb09dac068e64de000f692bcb8216f inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a93fb09dac068e64de000f692bcb8216f" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a93fb09dac068e64de000f692bcb8216f" > computeBACorrespondences</ a > (const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & links, const std::map< int, < a class = "el" href = "classrtabmap_1_1Signature.html" > Signature</ a > > & signatures, std::map< int, cv::Point3f > & points3DMap, std::map< int, std::map< int, < a class = "el" href = "classrtabmap_1_1FeatureBA.html" > FeatureBA</ a > > > & wordReferences, bool rematchFeatures=false, bool useLinkTransformAsGuess=false, < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > registrationParameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:a93fb09dac068e64de000f692bcb8216f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Build BA correspondences (3D points + per-frame observations) from signatures. < br /></ td ></ tr >
< tr class = "separator:a93fb09dac068e64de000f692bcb8216f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a178bb719b0e22863e29add12c85e14a5 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a178bb719b0e22863e29add12c85e14a5" >< td class = "memItemLeft" align = "right" valign = "top" > int  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a178bb719b0e22863e29add12c85e14a5" > iterations</ a > () const</ td ></ tr >
< tr class = "memdesc:a178bb719b0e22863e29add12c85e14a5 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Max solver iterations. < br /></ td ></ tr >
< tr class = "separator:a178bb719b0e22863e29add12c85e14a5 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a51485674608bbf910922ecee43cc13aa inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a51485674608bbf910922ecee43cc13aa" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a51485674608bbf910922ecee43cc13aa" > isSlam2d</ a > () const</ td ></ tr >
< tr class = "memdesc:a51485674608bbf910922ecee43cc13aa inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > True if optimizing in SE(2) instead of SE(3). < br /></ td ></ tr >
< tr class = "separator:a51485674608bbf910922ecee43cc13aa inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a8bb6372ce4c67fd9b8d54f692ac34238 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a8bb6372ce4c67fd9b8d54f692ac34238" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a8bb6372ce4c67fd9b8d54f692ac34238" > isCovarianceIgnored</ a > () const</ td ></ tr >
< tr class = "memdesc:a8bb6372ce4c67fd9b8d54f692ac34238 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > If true, all edges share an identity information matrix. < br /></ td ></ tr >
< tr class = "separator:a8bb6372ce4c67fd9b8d54f692ac34238 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3bca4e3df1048f8bbad9b3b9473924a2 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a3bca4e3df1048f8bbad9b3b9473924a2" >< td class = "memItemLeft" align = "right" valign = "top" > double  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a3bca4e3df1048f8bbad9b3b9473924a2" > epsilon</ a > () const</ td ></ tr >
< tr class = "memdesc:a3bca4e3df1048f8bbad9b3b9473924a2 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Convergence threshold on cost decrease. < br /></ td ></ tr >
< tr class = "separator:a3bca4e3df1048f8bbad9b3b9473924a2 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a29ba07e1e829ae616d82756977161c9f inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a29ba07e1e829ae616d82756977161c9f" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a29ba07e1e829ae616d82756977161c9f" > isRobust</ a > () const</ td ></ tr >
< tr class = "memdesc:a29ba07e1e829ae616d82756977161c9f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > If true, use a robust kernel / switchable factors against bad loop closures. < br /></ td ></ tr >
< tr class = "separator:a29ba07e1e829ae616d82756977161c9f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aeebd0d5575ab7e9f492b095c05ddb237 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_aeebd0d5575ab7e9f492b095c05ddb237" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#aeebd0d5575ab7e9f492b095c05ddb237" > priorsIgnored</ a > () const</ td ></ tr >
< tr class = "memdesc:aeebd0d5575ab7e9f492b095c05ddb237 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > If true, unary priors on poses are dropped. < br /></ td ></ tr >
< tr class = "separator:aeebd0d5575ab7e9f492b095c05ddb237 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a32f53d408ef0372c5c196ee89ff5ad79 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a32f53d408ef0372c5c196ee89ff5ad79" >< td class = "memItemLeft" align = "right" valign = "top" > bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a32f53d408ef0372c5c196ee89ff5ad79" > landmarksIgnored</ a > () const</ td ></ tr >
< tr class = "memdesc:a32f53d408ef0372c5c196ee89ff5ad79 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > If true, landmark/marker observations are dropped. < br /></ td ></ tr >
< tr class = "separator:a32f53d408ef0372c5c196ee89ff5ad79 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aceb68e0f692b81c4a978e46f804515d7 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_aceb68e0f692b81c4a978e46f804515d7" >< td class = "memItemLeft" align = "right" valign = "top" > float  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#aceb68e0f692b81c4a978e46f804515d7" > gravitySigma</ a > () const</ td ></ tr >
< tr class = "memdesc:aceb68e0f692b81c4a978e46f804515d7 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Std-dev (rad) of the gravity prior on roll/pitch; 0 disables it. < br /></ td ></ tr >
< tr class = "separator:aceb68e0f692b81c4a978e46f804515d7 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:abe01fb650ef1d6fbd21af93a6ffe5c8b inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_abe01fb650ef1d6fbd21af93a6ffe5c8b" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#abe01fb650ef1d6fbd21af93a6ffe5c8b" > setIterations</ a > (int < a class = "el" href = "classrtabmap_1_1Optimizer.html#a178bb719b0e22863e29add12c85e14a5" > iterations</ a > )</ td ></ tr >
< tr class = "separator:abe01fb650ef1d6fbd21af93a6ffe5c8b inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ae15ad77a795f8391648508f9071753dd inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_ae15ad77a795f8391648508f9071753dd" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#ae15ad77a795f8391648508f9071753dd" > setSlam2d</ a > (bool enabled)</ td ></ tr >
< tr class = "separator:ae15ad77a795f8391648508f9071753dd inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a5055007e4cc5af9028956e1da3047c4f inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a5055007e4cc5af9028956e1da3047c4f" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a5055007e4cc5af9028956e1da3047c4f" > setCovarianceIgnored</ a > (bool enabled)</ td ></ tr >
< tr class = "separator:a5055007e4cc5af9028956e1da3047c4f inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a3914e9e0310c37340998b92030dc9d68 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a3914e9e0310c37340998b92030dc9d68" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a3914e9e0310c37340998b92030dc9d68" > setEpsilon</ a > (double < a class = "el" href = "classrtabmap_1_1Optimizer.html#a3bca4e3df1048f8bbad9b3b9473924a2" > epsilon</ a > )</ td ></ tr >
< tr class = "separator:a3914e9e0310c37340998b92030dc9d68 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a1008348a699d769f52921ebbfbce171e inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a1008348a699d769f52921ebbfbce171e" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a1008348a699d769f52921ebbfbce171e" > setRobust</ a > (bool enabled)</ td ></ tr >
< tr class = "separator:a1008348a699d769f52921ebbfbce171e inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a568f1db66bef63e490d48b1db1720517 inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a568f1db66bef63e490d48b1db1720517" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a568f1db66bef63e490d48b1db1720517" > setPriorsIgnored</ a > (bool enabled)</ td ></ tr >
< tr class = "separator:a568f1db66bef63e490d48b1db1720517 inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a31403359b9ef2f72d9639d4d0c8bb1ed inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_a31403359b9ef2f72d9639d4d0c8bb1ed" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a31403359b9ef2f72d9639d4d0c8bb1ed" > setLandmarksIgnored</ a > (bool enabled)</ td ></ tr >
< tr class = "separator:a31403359b9ef2f72d9639d4d0c8bb1ed inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:ad61ce1ac9ca73cd04b833cf65c098b8c inherit pub_methods_classrtabmap_1_1Optimizer" id = "r_ad61ce1ac9ca73cd04b833cf65c098b8c" >< td class = "memItemLeft" align = "right" valign = "top" > void  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#ad61ce1ac9ca73cd04b833cf65c098b8c" > setGravitySigma</ a > (float value)</ td ></ tr >
< tr class = "separator:ad61ce1ac9ca73cd04b833cf65c098b8c inherit pub_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "pub-static-methods" name = "pub-static-methods" ></ a >
Static Public Member Functions</ h2 ></ td ></ tr >
< tr class = "memitem:a4c4418879d200cc6387dc30ae126262f" id = "r_a4c4418879d200cc6387dc30ae126262f" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "a4c4418879d200cc6387dc30ae126262f" name = "a4c4418879d200cc6387dc30ae126262f" ></ a >
static bool  </ td >< td class = "memItemRight" valign = "bottom" >< b > available</ b > ()</ td ></ tr >
< tr class = "separator:a4c4418879d200cc6387dc30ae126262f" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a6bb4a8ba3f202cb330414c040c3f99a5" id = "r_a6bb4a8ba3f202cb330414c040c3f99a5" >< td class = "memItemLeft" align = "right" valign = "top" >< a id = "a6bb4a8ba3f202cb330414c040c3f99a5" name = "a6bb4a8ba3f202cb330414c040c3f99a5" ></ a >
static bool  </ td >< td class = "memItemRight" valign = "bottom" >< b > loadGraph</ b > (const std::string & fileName, std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > & poses, std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > & edgeConstraints)</ td ></ tr >
< tr class = "separator:a6bb4a8ba3f202cb330414c040c3f99a5" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pub_static_methods_classrtabmap_1_1Optimizer" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_static_methods_classrtabmap_1_1Optimizer')" >< img src = "closed.png" alt = "-" />   Static Public Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Optimizer.html" > rtabmap::Optimizer</ a ></ td ></ tr >
< tr class = "memitem:afe0381a3b42926b7634027e522766eb1 inherit pub_static_methods_classrtabmap_1_1Optimizer" id = "r_afe0381a3b42926b7634027e522766eb1" >< td class = "memItemLeft" align = "right" valign = "top" > static bool  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#afe0381a3b42926b7634027e522766eb1" > isAvailable</ a > (< a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Optimizer::Type</ a > < a class = "el" href = "classrtabmap_1_1Optimizer.html#aa2be82e1f986b1beae103148be7cd520" > type</ a > )</ td ></ tr >
< tr class = "memdesc:afe0381a3b42926b7634027e522766eb1 inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Returns whether < code > type</ code > was compiled in (its third-party dependency was found). < br /></ td ></ tr >
< tr class = "separator:afe0381a3b42926b7634027e522766eb1 inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:a78b457bec2cdb7bdd320e2bfcca759df inherit pub_static_methods_classrtabmap_1_1Optimizer" id = "r_a78b457bec2cdb7bdd320e2bfcca759df" >< td class = "memItemLeft" align = "right" valign = "top" > static < a class = "el" href = "classrtabmap_1_1Optimizer.html" > Optimizer</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a78b457bec2cdb7bdd320e2bfcca759df" > create</ a > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters)</ td ></ tr >
< tr class = "memdesc:a78b457bec2cdb7bdd320e2bfcca759df inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Factory: build an optimizer from a < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > . < br /></ td ></ tr >
< tr class = "separator:a78b457bec2cdb7bdd320e2bfcca759df inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:aeff86117cf69fdae3c25e5bc327a142d inherit pub_static_methods_classrtabmap_1_1Optimizer" id = "r_aeff86117cf69fdae3c25e5bc327a142d" >< td class = "memItemLeft" align = "right" valign = "top" >
static < a class = "el" href = "classrtabmap_1_1Optimizer.html" > Optimizer</ a > *  </ td >< td class = "memItemRight" valign = "bottom" >< b > create</ b > (< a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Optimizer::Type</ a > < a class = "el" href = "classrtabmap_1_1Optimizer.html#aa2be82e1f986b1beae103148be7cd520" > type</ a > , const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters=< a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > ())</ td ></ tr >
< tr class = "memdesc:aeff86117cf69fdae3c25e5bc327a142d inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Factory: build an optimizer of a specific < code > type</ code > . Caller owns the result. < br /></ td ></ tr >
< tr class = "separator:aeff86117cf69fdae3c25e5bc327a142d inherit pub_static_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >< table class = "memberdecls" >
< tr class = "heading" >< td colspan = "2" >< h2 class = "groupheader" >< a id = "inherited" name = "inherited" ></ a >
Additional Inherited Members</ h2 ></ td ></ tr >
< tr class = "inherit_header pub_types_classrtabmap_1_1Optimizer" >< td colspan = "2" onclick = "javascript:toggleInherit('pub_types_classrtabmap_1_1Optimizer')" >< img src = "closed.png" alt = "-" />   Public Types inherited from < a class = "el" href = "classrtabmap_1_1Optimizer.html" > rtabmap::Optimizer</ a ></ td ></ tr >
< tr class = "memitem:a18ae8ac76346d1adc68ab176a5b02d16 inherit pub_types_classrtabmap_1_1Optimizer" id = "r_a18ae8ac76346d1adc68ab176a5b02d16" >< td class = "memItemLeft" align = "right" valign = "top" > enum   </ td >< td class = "memItemRight" valign = "bottom" >< a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Type</ a > { < br />
   < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16abae75975865bff7e12e82d2f5295e0db" > kTypeUndef</ a > = -1
, < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16a6065bdb6e49c0f5ffc98d5f2f6b0d5ab" > kTypeTORO</ a > = 0
, < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16aa4d070fe00ba5e81adbc958bad18d853" > kTypeG2O</ a > = 1
, < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16ab71c83617497f5da0607a47ab162630f" > kTypeGTSAM</ a > = 2
, < br />
   < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16a891b6c7cbbe5e149e583ac1fc14fc91d" > kTypeCeres</ a > = 3
, < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16a53545e83af9618cb4d39cf0420b3cd54" > kTypeCVSBA</ a > = 4
< br />
}</ td ></ tr >
< tr class = "memdesc:a18ae8ac76346d1adc68ab176a5b02d16" >< td class = "mdescLeft" >   </ td >< td class = "mdescRight" > Graph-optimizer back-end identifier. < a href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > More...</ a >< br /></ td ></ tr >
< tr class = "separator:a18ae8ac76346d1adc68ab176a5b02d16 inherit pub_types_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "inherit_header pro_methods_classrtabmap_1_1Optimizer" >< td colspan = "2" onclick = "javascript:toggleInherit('pro_methods_classrtabmap_1_1Optimizer')" >< img src = "closed.png" alt = "-" />   Protected Member Functions inherited from < a class = "el" href = "classrtabmap_1_1Optimizer.html" > rtabmap::Optimizer</ a ></ td ></ tr >
< tr class = "memitem:a8c9e731f0c81d267a4aae62941b5af18 inherit pro_methods_classrtabmap_1_1Optimizer" id = "r_a8c9e731f0c81d267a4aae62941b5af18" >< td class = "memItemLeft" align = "right" valign = "top" >
  </ td >< td class = "memItemRight" valign = "bottom" >< b > Optimizer</ b > (int < a class = "el" href = "classrtabmap_1_1Optimizer.html#a178bb719b0e22863e29add12c85e14a5" > iterations</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a88a7018a56b4e6c7c0ceb8e11286f319" > Parameters::defaultOptimizerIterations</ a > (), bool slam2d=< a class = "el" href = "classrtabmap_1_1Parameters.html#aee1046f9615d2ed988c952cc47c9331e" > Parameters::defaultRegForce3DoF</ a > (), bool covarianceIgnored=< a class = "el" href = "classrtabmap_1_1Parameters.html#ad329ace1333ac8c94cd4043b58173f1b" > Parameters::defaultOptimizerVarianceIgnored</ a > (), double < a class = "el" href = "classrtabmap_1_1Optimizer.html#a3bca4e3df1048f8bbad9b3b9473924a2" > epsilon</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a8fb0df24ed2d24a013abc03828f43acc" > Parameters::defaultOptimizerEpsilon</ a > (), bool robust=< a class = "el" href = "classrtabmap_1_1Parameters.html#a2a83a1c7b7cc3dfe1b03bd9c10a437fd" > Parameters::defaultOptimizerRobust</ a > (), bool < a class = "el" href = "classrtabmap_1_1Optimizer.html#aeebd0d5575ab7e9f492b095c05ddb237" > priorsIgnored</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a6394c7cc99dca72faf68799adc89ffd7" > Parameters::defaultOptimizerPriorsIgnored</ a > (), bool < a class = "el" href = "classrtabmap_1_1Optimizer.html#a32f53d408ef0372c5c196ee89ff5ad79" > landmarksIgnored</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a45cdc34f61574e7de40f2d4a822b1ca6" > Parameters::defaultOptimizerLandmarksIgnored</ a > (), float < a class = "el" href = "classrtabmap_1_1Optimizer.html#aceb68e0f692b81c4a978e46f804515d7" > gravitySigma</ a > =< a class = "el" href = "classrtabmap_1_1Parameters.html#a88fab03b485f103123fad036a536c71a" > Parameters::defaultOptimizerGravitySigma</ a > ())</ td ></ tr >
< tr class = "separator:a8c9e731f0c81d267a4aae62941b5af18 inherit pro_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
< tr class = "memitem:af6e45bcd0da53aeeabb6a2bf8bfd641a inherit pro_methods_classrtabmap_1_1Optimizer" id = "r_af6e45bcd0da53aeeabb6a2bf8bfd641a" >< td class = "memItemLeft" align = "right" valign = "top" >
  </ td >< td class = "memItemRight" valign = "bottom" >< b > Optimizer</ b > (const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > & parameters)</ td ></ tr >
< tr class = "separator:af6e45bcd0da53aeeabb6a2bf8bfd641a inherit pro_methods_classrtabmap_1_1Optimizer" >< td class = "memSeparator" colspan = "2" >   </ td ></ tr >
</ table >
< a name = "details" id = "details" ></ a >< h2 class = "groupheader" > Detailed Description</ h2 >
< div class = "textblock" >
< p class = "definition" > Definition at line < a class = "el" href = "OptimizerTORO_8h_source.html#l00035" > 35</ a > of file < a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.h</ a > .</ p >
</ div >< h2 class = "groupheader" > Constructor & Destructor Documentation</ h2 >
< a id = "a7a8bcaf3dc94f5f28ab4837fda8254ca" name = "a7a8bcaf3dc94f5f28ab4837fda8254ca" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a7a8bcaf3dc94f5f28ab4837fda8254ca" > ◆  </ a ></ span > OptimizerTORO() < span class = "overload" > [1/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::OptimizerTORO::OptimizerTORO </ td >
< td > (</ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > iterations</ em > = < code >< a class = "el" href = "classrtabmap_1_1Parameters.html#a88a7018a56b4e6c7c0ceb8e11286f319" > Parameters::defaultOptimizerIterations</ a > ()</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > slam2d</ em > = < code >< a class = "el" href = "classrtabmap_1_1Parameters.html#aee1046f9615d2ed988c952cc47c9331e" > Parameters::defaultRegForce3DoF</ a > ()</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > bool  </ td >
< td class = "paramname" >< em > covarianceIgnored</ em > = < code >< a class = "el" href = "classrtabmap_1_1Parameters.html#ad329ace1333ac8c94cd4043b58173f1b" > Parameters::defaultOptimizerVarianceIgnored</ a > ()</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double  </ td >
< td class = "paramname" >< em > epsilon</ em > = < code >< a class = "el" href = "classrtabmap_1_1Parameters.html#a8fb0df24ed2d24a013abc03828f43acc" > Parameters::defaultOptimizerEpsilon</ a > ()</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ 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 class = "definition" > Definition at line < a class = "el" href = "OptimizerTORO_8h_source.html#l00047" > 47</ a > of file < a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.h</ a > .</ p >
</ div >
</ div >
< a id = "a3d4d822acdf4bb8a1f27cb1f73c55663" name = "a3d4d822acdf4bb8a1f27cb1f73c55663" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a3d4d822acdf4bb8a1f27cb1f73c55663" > ◆  </ a ></ span > OptimizerTORO() < span class = "overload" > [2/2]</ span ></ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > rtabmap::OptimizerTORO::OptimizerTORO </ td >
< td > (</ td >
< td class = "paramtype" > const < a class = "el" href = "namespacertabmap.html#ad08b6f1796a27dd7316c99c385e2cc55" > ParametersMap</ a > &  </ td >
< td class = "paramname" >< em > parameters</ em ></ td >< td > )</ td >
< td ></ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "OptimizerTORO_8h_source.html#l00053" > 53</ a > of file < a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.h</ a > .</ p >
</ div >
</ div >
< a id = "a3ee1c72b09cc6eebd5689a36b88faac2" name = "a3ee1c72b09cc6eebd5689a36b88faac2" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a3ee1c72b09cc6eebd5689a36b88faac2" > ◆  </ a ></ span > ~OptimizerTORO()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual rtabmap::OptimizerTORO::~OptimizerTORO </ 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 class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p class = "definition" > Definition at line < a class = "el" href = "OptimizerTORO_8h_source.html#l00055" > 55</ a > of file < a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.h</ a > .</ p >
</ div >
</ div >
< h2 class = "groupheader" > Member Function Documentation</ h2 >
< a id = "a965efb877ac5edd3b6cda43983096a64" name = "a965efb877ac5edd3b6cda43983096a64" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a965efb877ac5edd3b6cda43983096a64" > ◆  </ a ></ span > type()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Type</ a > rtabmap::OptimizerTORO::type </ td >
< td > (</ td >
< td class = "paramname" ></ td >< td > )</ td >
< td > const</ td >
</ tr >
</ table >
</ td >
< td class = "mlabels-right" >
< span class = "mlabels" >< span class = "mlabel" > inline</ span >< span class = "mlabel" > virtual</ span ></ span > </ td >
</ tr >
</ table >
</ div >< div class = "memdoc" >
< p > Returns the concrete back-end identifier (one of < a class = "el" href = "classrtabmap_1_1Optimizer.html#a18ae8ac76346d1adc68ab176a5b02d16" > Type</ a > ). </ p >
< p > Implements < a class = "el" href = "classrtabmap_1_1Optimizer.html#aa2be82e1f986b1beae103148be7cd520" > rtabmap::Optimizer</ a > .</ p >
< p class = "definition" > Definition at line < a class = "el" href = "OptimizerTORO_8h_source.html#l00057" > 57</ a > of file < a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.h</ a > .</ p >
</ div >
</ div >
< a id = "a025b40902f0ea048bdbfee9ed4ebc0f3" name = "a025b40902f0ea048bdbfee9ed4ebc0f3" ></ a >
< h2 class = "memtitle" >< span class = "permalink" >< a href = "#a025b40902f0ea048bdbfee9ed4ebc0f3" > ◆  </ a ></ span > optimize()</ h2 >
< div class = "memitem" >
< div class = "memproto" >
< table class = "mlabels" >
< tr >
< td class = "mlabels-left" >
< table class = "memname" >
< tr >
< td class = "memname" > virtual std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > rtabmap::OptimizerTORO::optimize </ td >
< td > (</ td >
< td class = "paramtype" > int  </ td >
< td class = "paramname" >< em > rootId</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > &  </ td >
< td class = "paramname" >< em > poses</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > const std::multimap< int, < a class = "el" href = "classrtabmap_1_1Link.html" > Link</ a > > &  </ td >
< td class = "paramname" >< em > constraints</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > cv::Mat &  </ td >
< td class = "paramname" >< em > outputCovariance</ em > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > std::list< std::map< int, < a class = "el" href = "classrtabmap_1_1Transform.html" > Transform</ a > > > *  </ td >
< td class = "paramname" >< em > intermediateGraphes</ em > = < code > 0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > double *  </ td >
< td class = "paramname" >< em > finalError</ em > = < code > 0</ code > , </ td >
</ tr >
< tr >
< td class = "paramkey" ></ td >
< td ></ td >
< td class = "paramtype" > int *  </ td >
< td class = "paramname" >< em > iterationsDone</ em > = < code > 0</ code >   </ td >
</ tr >
< tr >
< td ></ td >
< td > )</ 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 > Pose-graph optimization with marginal covariance of < code > rootId</ code > . </ p >
< p > This is the primary back-end entry point — concrete subclasses override it. The base implementation just emits an error.</ p >
< dl class = "params" >< dt > Parameters</ dt >< dd >
< table class = "params" >
< tr >< td class = "paramname" > rootId</ td >< td > Pose to hold fixed during optimization. </ td ></ tr >
< tr >< td class = "paramname" > poses</ td >< td > Initial pose estimates. </ td ></ tr >
< tr >< td class = "paramname" > constraints</ td >< td > Relative-pose constraints between pose ids (and optionally to landmarks). </ td ></ tr >
< tr >< td class = "paramname" > outputCovariance</ td >< td > Output: 6x6 covariance of the last optimized pose w.r.t. < code > rootId</ code > (3x3 for 2D mode). Filled only if the back-end supports it. </ td ></ tr >
< tr >< td class = "paramname" > intermediateGraphes</ td >< td > Optional: appended at each iteration for debug/visualization. </ td ></ tr >
< tr >< td class = "paramname" > finalError</ td >< td > Optional: written with the solver's final cost. </ td ></ tr >
< tr >< td class = "paramname" > iterationsDone</ td >< td > Optional: written with the solver's actual iteration count. </ td ></ tr >
</ table >
</ dd >
</ dl >
< dl class = "section return" >< dt > Returns</ dt >< dd > Refined poses, or empty on failure. </ dd ></ dl >
< p > Reimplemented from < a class = "el" href = "classrtabmap_1_1Optimizer.html#af59c8340394268f9a1eb76fd5709f2c3" > rtabmap::Optimizer</ a > .</ p >
</ div >
</ div >
< hr /> The documentation for this class was generated from the following file:< ul >
< li > corelib/include/rtabmap/core/optimizer/< a class = "el" href = "OptimizerTORO_8h_source.html" > OptimizerTORO.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_1OptimizerTORO.html" > OptimizerTORO</ 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 >