small_gicp/doc_cpp/structsmall__gicp_1_1Robust...

367 lines
18 KiB
HTML

<!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">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>small_gicp: small_gicp::RobustFactor&lt; Kernel, Factor &gt; Struct Template 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="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" />
</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 style="height: 56px;">
<td id="projectalign" style="padding-left: 0.5em;">
<div id="projectname">small_gicp
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'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:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',true,false,'search.php','Search');
$(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- 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">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="namespacesmall__gicp.html">small_gicp</a></li><li class="navelem"><a class="el" href="structsmall__gicp_1_1RobustFactor.html">RobustFactor</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="structsmall__gicp_1_1RobustFactor-members.html">List of all members</a> </div>
<div class="headertitle">
<div class="title">small_gicp::RobustFactor&lt; Kernel, Factor &gt; Struct Template Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Robustify a factor with a robust kernel.
<a href="structsmall__gicp_1_1RobustFactor.html#details">More...</a></p>
<p><code>#include &lt;<a class="el" href="robust__kernel_8hpp_source.html">robust_kernel.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor_1_1Setting.html">Setting</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Robust factor setting. <a href="structsmall__gicp_1_1RobustFactor_1_1Setting.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aec0efc27610875bab44db5ff7a2438ce"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#aec0efc27610875bab44db5ff7a2438ce">RobustFactor</a> (const <a class="el" href="structsmall__gicp_1_1RobustFactor_1_1Setting.html">Setting</a> &amp;setting=<a class="el" href="structsmall__gicp_1_1RobustFactor_1_1Setting.html">Setting</a>())</td></tr>
<tr class="memdesc:aec0efc27610875bab44db5ff7a2438ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <a href="structsmall__gicp_1_1RobustFactor.html#aec0efc27610875bab44db5ff7a2438ce">More...</a><br /></td></tr>
<tr class="separator:aec0efc27610875bab44db5ff7a2438ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe796549693e216c231fc8ef9d4f4891"><td class="memTemplParams" colspan="2">template&lt;typename TargetPointCloud , typename SourcePointCloud , typename TargetTree , typename CorrespondenceRejector &gt; </td></tr>
<tr class="memitem:abe796549693e216c231fc8ef9d4f4891"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#abe796549693e216c231fc8ef9d4f4891">linearize</a> (const TargetPointCloud &amp;target, const SourcePointCloud &amp;source, const TargetTree &amp;target_tree, const Eigen::Isometry3d &amp;T, size_t source_index, const CorrespondenceRejector &amp;rejector, Eigen::Matrix&lt; double, 6, 6 &gt; *H, Eigen::Matrix&lt; double, 6, 1 &gt; *b, double *e)</td></tr>
<tr class="memdesc:abe796549693e216c231fc8ef9d4f4891"><td class="mdescLeft">&#160;</td><td class="mdescRight">Linearize the factor. <a href="structsmall__gicp_1_1RobustFactor.html#abe796549693e216c231fc8ef9d4f4891">More...</a><br /></td></tr>
<tr class="separator:abe796549693e216c231fc8ef9d4f4891"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad96a6c46b611c4eadbb287dfa532c79c"><td class="memTemplParams" colspan="2">template&lt;typename TargetPointCloud , typename SourcePointCloud &gt; </td></tr>
<tr class="memitem:ad96a6c46b611c4eadbb287dfa532c79c"><td class="memTemplItemLeft" align="right" valign="top">double&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#ad96a6c46b611c4eadbb287dfa532c79c">error</a> (const TargetPointCloud &amp;target, const SourcePointCloud &amp;source, const Eigen::Isometry3d &amp;T) const</td></tr>
<tr class="memdesc:ad96a6c46b611c4eadbb287dfa532c79c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Evaluate error. <a href="structsmall__gicp_1_1RobustFactor.html#ad96a6c46b611c4eadbb287dfa532c79c">More...</a><br /></td></tr>
<tr class="separator:ad96a6c46b611c4eadbb287dfa532c79c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3d768312452d0c6ad68ff0f55fa6802"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#aa3d768312452d0c6ad68ff0f55fa6802">inlier</a> () const</td></tr>
<tr class="memdesc:aa3d768312452d0c6ad68ff0f55fa6802"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check if the factor is inlier. <a href="structsmall__gicp_1_1RobustFactor.html#aa3d768312452d0c6ad68ff0f55fa6802">More...</a><br /></td></tr>
<tr class="separator:aa3d768312452d0c6ad68ff0f55fa6802"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:afd4b4e1f74205840d243bfc51742ac61"><td class="memItemLeft" align="right" valign="top">Kernel&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#afd4b4e1f74205840d243bfc51742ac61">robust_kernel</a></td></tr>
<tr class="memdesc:afd4b4e1f74205840d243bfc51742ac61"><td class="mdescLeft">&#160;</td><td class="mdescRight">Robust kernel. <a href="structsmall__gicp_1_1RobustFactor.html#afd4b4e1f74205840d243bfc51742ac61">More...</a><br /></td></tr>
<tr class="separator:afd4b4e1f74205840d243bfc51742ac61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae91f13cb7cb259f17b634c6571b45919"><td class="memItemLeft" align="right" valign="top">Factor&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structsmall__gicp_1_1RobustFactor.html#ae91f13cb7cb259f17b634c6571b45919">factor</a></td></tr>
<tr class="memdesc:ae91f13cb7cb259f17b634c6571b45919"><td class="mdescLeft">&#160;</td><td class="mdescRight">Factor. <a href="structsmall__gicp_1_1RobustFactor.html#ae91f13cb7cb259f17b634c6571b45919">More...</a><br /></td></tr>
<tr class="separator:ae91f13cb7cb259f17b634c6571b45919"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename Kernel, typename Factor&gt;<br />
struct small_gicp::RobustFactor&lt; Kernel, Factor &gt;</h3>
<p>Robustify a factor with a robust kernel. </p>
<dl class="tparams"><dt>Template Parameters</dt><dd>
<table class="tparams">
<tr><td class="paramname">Kernel</td><td>Robust kernel </td></tr>
<tr><td class="paramname">Factor</td><td>Factor </td></tr>
</table>
</dd>
</dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aec0efc27610875bab44db5ff7a2438ce"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aec0efc27610875bab44db5ff7a2438ce">&#9670;&nbsp;</a></span>RobustFactor()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::<a class="el" href="structsmall__gicp_1_1RobustFactor.html">RobustFactor</a> </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structsmall__gicp_1_1RobustFactor_1_1Setting.html">Setting</a> &amp;&#160;</td>
<td class="paramname"><em>setting</em> = <code><a class="el" href="structsmall__gicp_1_1RobustFactor_1_1Setting.html">Setting</a>()</code></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>Constructor. </p>
</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ad96a6c46b611c4eadbb287dfa532c79c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad96a6c46b611c4eadbb287dfa532c79c">&#9670;&nbsp;</a></span>error()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<div class="memtemplate">
template&lt;typename TargetPointCloud , typename SourcePointCloud &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">double <a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::error </td>
<td>(</td>
<td class="paramtype">const TargetPointCloud &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SourcePointCloud &amp;&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Eigen::Isometry3d &amp;&#160;</td>
<td class="paramname"><em>T</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td> const</td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Evaluate error. </p>
</div>
</div>
<a id="aa3d768312452d0c6ad68ff0f55fa6802"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa3d768312452d0c6ad68ff0f55fa6802">&#9670;&nbsp;</a></span>inlier()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::inlier </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>Check if the factor is inlier. </p>
</div>
</div>
<a id="abe796549693e216c231fc8ef9d4f4891"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abe796549693e216c231fc8ef9d4f4891">&#9670;&nbsp;</a></span>linearize()</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<div class="memtemplate">
template&lt;typename TargetPointCloud , typename SourcePointCloud , typename TargetTree , typename CorrespondenceRejector &gt; </div>
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">bool <a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::linearize </td>
<td>(</td>
<td class="paramtype">const TargetPointCloud &amp;&#160;</td>
<td class="paramname"><em>target</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const SourcePointCloud &amp;&#160;</td>
<td class="paramname"><em>source</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const TargetTree &amp;&#160;</td>
<td class="paramname"><em>target_tree</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const Eigen::Isometry3d &amp;&#160;</td>
<td class="paramname"><em>T</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">size_t&#160;</td>
<td class="paramname"><em>source_index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const CorrespondenceRejector &amp;&#160;</td>
<td class="paramname"><em>rejector</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Eigen::Matrix&lt; double, 6, 6 &gt; *&#160;</td>
<td class="paramname"><em>H</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">Eigen::Matrix&lt; double, 6, 1 &gt; *&#160;</td>
<td class="paramname"><em>b</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">double *&#160;</td>
<td class="paramname"><em>e</em>&#160;</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>Linearize the factor. </p>
</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="ae91f13cb7cb259f17b634c6571b45919"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae91f13cb7cb259f17b634c6571b45919">&#9670;&nbsp;</a></span>factor</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<table class="memname">
<tr>
<td class="memname">Factor <a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::factor</td>
</tr>
</table>
</div><div class="memdoc">
<p>Factor. </p>
</div>
</div>
<a id="afd4b4e1f74205840d243bfc51742ac61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afd4b4e1f74205840d243bfc51742ac61">&#9670;&nbsp;</a></span>robust_kernel</h2>
<div class="memitem">
<div class="memproto">
<div class="memtemplate">
template&lt;typename Kernel , typename Factor &gt; </div>
<table class="memname">
<tr>
<td class="memname">Kernel <a class="el" href="structsmall__gicp_1_1RobustFactor.html">small_gicp::RobustFactor</a>&lt; Kernel, Factor &gt;::robust_kernel</td>
</tr>
</table>
</div><div class="memdoc">
<p>Robust kernel. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li>/home/runner/work/small_gicp/small_gicp/include/small_gicp/factors/<a class="el" href="robust__kernel_8hpp_source.html">robust_kernel.hpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>