Sophie

Sophie

distrib > Fedora > 16 > i386 > by-pkgid > 4bc66056a634db26a1f4d0845dc41ca6 > files > 11942

mrpt-doc-0.9.5-0.1.20110925svn2670.fc16.i686.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>scan_matching.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<div align="left"><a href="http://www.mrpt.org/">Main MRPT website</a> &gt; <b>C++ reference</b> </div>
<div align="right">
<a href="index.html"><img border="0" src="mrpt_logo.png" alt="MRPT logo"></a>
</div>
<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Classes</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
          <div class="left">
            <form id="FSearchBox" action="search.php" method="get">
              <img id="MSearchSelect" src="search/mag.png" alt=""/>
              <input type="text" id="MSearchField" name="query" value="Search" size="20" accesskey="S" 
                     onfocus="searchBox.OnSearchFieldFocus(true)" 
                     onblur="searchBox.OnSearchFieldFocus(false)"/>
            </form>
          </div><div class="right"></div>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">scan_matching.h File Reference</div>  </div>
</div>
<div class="contents">
<div class="textblock"><code>#include &lt;<a class="el" href="math_8h_source.html">mrpt/math.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="poses_8h_source.html">mrpt/poses.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="_t_matching_pair_8h_source.html">mrpt/utils/TMatchingPair.h</a>&gt;</code><br/>
<code>#include &lt;<a class="el" href="scanmatching_2include_2mrpt_2scanmatching_2link__pragmas_8h_source.html">mrpt/scanmatching/link_pragmas.h</a>&gt;</code><br/>
</div><div class="textblock"><div class="dynheader">
Include dependency graph for scanmatching/scan_matching.h:</div>
<div class="dyncontent">
<div class="center"><img src="scanmatching_2scan__matching_8h__incl.png" border="0" usemap="#scan__matching_8h" alt=""/></div>
<map name="scan__matching_8h" id="scan__matching_8h">
<area shape="rect" id="node3" href="math_8h.html" title="mrpt/math.h" alt="" coords="2725,80,2816,107"/><area shape="rect" id="node133" href="poses_8h.html" title="mrpt/poses.h" alt="" coords="1528,155,1627,181"/><area shape="rect" id="node165" href="_t_matching_pair_8h.html" title="mrpt/utils/TMatchingPair.h" alt="" coords="2841,80,3015,107"/><area shape="rect" id="node167" href="scanmatching_2include_2mrpt_2scanmatching_2link__pragmas_8h.html" title="mrpt/scanmatching/link_pragmas.h" alt="" coords="3039,80,3264,107"/><area shape="rect" id="node5" href="distributions_8h.html" title="mrpt/math/distributions.h" alt="" coords="2447,677,2613,704"/><area shape="rect" id="node7" href="ops__matrices_8h.html" title="This file implements miscelaneous matrix and matrix/vector operations, plus internal functions in mrp..." alt="" coords="2322,752,2496,779"/><area shape="rect" id="node9" href="_c_matrix_8h.html" title="mrpt/math/CMatrix.h" alt="" coords="2077,827,2219,853"/><area shape="rect" id="node11" href="_c_matrix_fixed_numeric_8h.html" title="mrpt/math/CMatrixFixedNumeric.h" alt="" coords="2091,901,2313,928"/><area shape="rect" id="node13" href="_c_array_8h.html" title="mrpt/math/CArray.h" alt="" coords="1681,976,1817,1003"/><area shape="rect" id="node15" href="ops__containers_8h.html" title="This file implements several operations that operate element&#45;wise on individual or pairs of container..." alt="" coords="2185,1051,2369,1077"/><area shape="rect" id="node17" href="lightweight__geom__data_8h.html" title="mrpt/math/lightweight_geom_data.h" alt="" coords="292,1125,521,1152"/><area shape="rect" id="node19" href="_c_histogram_8h.html" title="mrpt/math/CHistogram.h" alt="" coords="2873,1125,3039,1152"/><area shape="rect" id="node21" href="_c_matrix_d_8h.html" title="mrpt/math/CMatrixD.h" alt="" coords="3096,827,3248,853"/><area shape="rect" id="node25" href="transform__gaussian_8h.html" title="mrpt/math/transform_gaussian.h" alt="" coords="2203,155,2412,181"/><area shape="rect" id="node29" href="jacobians_8h.html" title="mrpt/math/jacobians.h" alt="" coords="1138,229,1288,256"/><area shape="rect" id="node31" href="_c_quaternion_8h.html" title="mrpt/math/CQuaternion.h" alt="" coords="638,528,807,555"/><area shape="rect" id="node34" href="base_2include_2mrpt_2math_2utils_8h.html" title="mrpt/math/utils.h" alt="" coords="2689,677,2809,704"/><area shape="rect" id="node38" href="ops__vectors_8h.html" title="mrpt/math/ops_vectors.h" alt="" coords="2893,752,3059,779"/><area shape="rect" id="node62" href="fourier_8h.html" title="mrpt/math/fourier.h" alt="" coords="3087,155,3219,181"/><area shape="rect" id="node68" href="_c_levenberg_marquardt_8h.html" title="mrpt/math/CLevenbergMarquardt.h" alt="" coords="2884,603,3107,629"/><area shape="rect" id="node73" href="ransac_8h.html" title="mrpt/math/ransac.h" alt="" coords="3179,304,3313,331"/><area shape="rect" id="node76" href="ransac__applications_8h.html" title="mrpt/math/ransac_applications.h" alt="" coords="2497,229,2707,256"/><area shape="rect" id="node79" href="geometry_8h.html" title="mrpt/math/geometry.h" alt="" coords="2018,304,2168,331"/><area shape="rect" id="node93" href="_c_sparse_matrix_template_8h.html" title="mrpt/math/CSparseMatrixTemplate.h" alt="" coords="2497,379,2733,405"/><area shape="rect" id="node99" href="_c_matrix_b_8h.html" title="mrpt/math/CMatrixB.h" alt="" coords="3243,155,3393,181"/><area shape="rect" id="node101" href="_c_matrix_template_objects_8h.html" title="mrpt/math/CMatrixTemplateObjects.h" alt="" coords="3418,155,3659,181"/><area shape="rect" id="node105" href="_c_polygon_8h.html" title="mrpt/math/CPolygon.h" alt="" coords="5,901,157,928"/><area shape="rect" id="node109" href="_c_spline_interpolator1_d_8h.html" title="mrpt/math/CSplineInterpolator1D.h" alt="" coords="3684,155,3907,181"/><area shape="rect" id="node113" href="_c_sparse_matrix_8h.html" title="mrpt/math/CSparseMatrix.h" alt="" coords="2626,304,2808,331"/><area shape="rect" id="node117" href="_c_binary_relation_8h.html" title="mrpt/math/CBinaryRelation.h" alt="" coords="3933,155,4123,181"/><area shape="rect" id="node119" href="_c_monte_carlo_8h.html" title="mrpt/math/CMonteCarlo.h" alt="" coords="4148,155,4321,181"/><area shape="rect" id="node122" href="_k_d_tree_capable_8h.html" title="mrpt/math/KDTreeCapable.h" alt="" coords="109,976,299,1003"/><area shape="rect" id="node125" href="kmeans_8h.html" title="mrpt/math/kmeans.h" alt="" coords="3001,528,3143,555"/><area shape="rect" id="node128" href="slerp_8h.html" title="mrpt/math/slerp.h" alt="" coords="501,453,624,480"/><area shape="rect" id="node131" href="model__search_8h.html" title="mrpt/math/model_search.h" alt="" coords="4346,155,4523,181"/><area shape="rect" id="node42" href="_c_pose3_d_8h.html" title="mrpt/poses/CPose3D.h" alt="" coords="993,453,1151,480"/><area shape="rect" id="node54" href="_c_pose_p_d_f_gaussian_8h.html" title="mrpt/poses/CPosePDFGaussian.h" alt="" coords="1169,304,1392,331"/><area shape="rect" id="node44" href="_c_pose_8h.html" title="mrpt/poses/CPose.h" alt="" coords="1789,528,1931,555"/><area shape="rect" id="node46" href="_c_pose_or_point_8h.html" title="mrpt/poses/CPoseOrPoint.h" alt="" coords="1767,603,1953,629"/><area shape="rect" id="node56" href="_c_pose_p_d_f_8h.html" title="mrpt/poses/CPosePDF.h" alt="" coords="1461,379,1629,405"/><area shape="rect" id="node58" href="_c_pose2_d_8h.html" title="mrpt/poses/CPose2D.h" alt="" coords="1909,453,2067,480"/><area shape="rect" id="node81" href="_c_point2_d_8h.html" title="mrpt/poses/CPoint2D.h" alt="" coords="1757,379,1915,405"/><area shape="rect" id="node86" href="_c_point3_d_8h.html" title="mrpt/poses/CPoint3D.h" alt="" coords="1278,379,1436,405"/><area shape="rect" id="node83" href="_c_point_8h.html" title="mrpt/poses/CPoint.h" alt="" coords="1669,453,1811,480"/><area shape="rect" id="node143" href="_c_pose2_d_grid_template_8h.html" title="mrpt/poses/CPose2DGridTemplate.h" alt="" coords="756,304,992,331"/><area shape="rect" id="node146" href="_c_point_p_d_f_8h.html" title="mrpt/poses/CPointPDF.h" alt="" coords="1570,304,1739,331"/><area shape="rect" id="node150" href="_c_pose3_d_quat_8h.html" title="mrpt/poses/CPose3DQuat.h" alt="" coords="495,304,681,331"/><area shape="rect" id="node157" href="_c_pose_p_d_f_grid_8h.html" title="mrpt/poses/CPosePDFGrid.h" alt="" coords="921,229,1113,256"/><area shape="rect" id="node161" href="_c_point_p_d_f_gaussian_8h.html" title="mrpt/poses/CPointPDFGaussian.h" alt="" coords="1465,229,1688,256"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="scanmatching_2scan__matching_8h__dep__incl.png" border="0" usemap="#scan__matching_8hdep" alt=""/></div>
<map name="scan__matching_8hdep" id="scan__matching_8hdep">
<area shape="rect" id="node3" href="scanmatching_8h.html" title="scanmatching.h" alt="" coords="8,80,123,107"/><area shape="rect" id="node5" href="scan__matching_8h.html" title="scan_matching.h" alt="" coords="5,155,125,181"/></map>
</div>
</div>
<p><a href="scanmatching_2scan__matching_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt.html">mrpt</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>This is the global namespace for all Mobile Robot Programming Toolkit (MRPT) libraries. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1poses.html">mrpt::poses</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>Classes for 2D/3D geometry representation, both of single values and probability density distributions (PDFs) in many forms. </p>
<br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">namespace &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacemrpt_1_1scanmatching.html">mrpt::scanmatching</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight"><p>A set of scan matching-related static functions. </p>
<br/></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#gabb4485481a609553e61fe7bc262cf50b">mrpt::scanmatching::HornMethod</a> (const vector_double &amp;inPoints, vector_double &amp;outQuat, bool forceScaleToUnity=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This function implements the Horn method for computing the change in pose between two coordinate systems.  <a href="group__mrpt__scanmatching__grp.html#gabb4485481a609553e61fe7bc262cf50b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#gadf0d4ff0062847dfa27474a377368c45">mrpt::scanmatching::HornMethod</a> (const vector_double &amp;inPoints, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">mrpt::poses::CPose3DQuat</a> &amp;outQuat, bool forceScaleToUnity=false)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#ga95a1eefeb19509da16a45b30a65806a3">mrpt::scanmatching::leastSquareErrorRigidTransformation6D</a> (const <a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d_quat.html">CPose3DQuat</a> &amp;out_transformation, double &amp;out_scale, const bool forceScaleToUnity=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides the closed-form solution of absolute orientation using unit quaternions to a set of over-constrained correspondences for finding the 6D rigid transformation between two cloud of 3D points.  <a href="group__mrpt__scanmatching__grp.html#ga95a1eefeb19509da16a45b30a65806a3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#gae1c6f78a5efeb0071854b349e5190f01">mrpt::scanmatching::leastSquareErrorRigidTransformation6D</a> (const <a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;out_transformation, double &amp;out_scale, const bool forceScaleToUnity=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides the closed-form solution of absolute orientation using unit quaternions to a set of over-constrained correspondences for finding the 6D rigid transformation between two cloud of 3D points.  <a href="group__mrpt__scanmatching__grp.html#gae1c6f78a5efeb0071854b349e5190f01"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#ga96a45b6eb34d06a8d0fd9f38dcd696de">mrpt::scanmatching::leastSquareErrorRigidTransformation6DRANSAC</a> (const <a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, <a class="el" href="classmrpt_1_1poses_1_1_c_pose3_d.html">CPose3D</a> &amp;out_transformation, double &amp;out_scale, vector_int &amp;out_inliers_idx, const unsigned int ransac_minSetSize=5, const unsigned int ransac_nmaxSimulations=50, const double ransac_maxSetSizePct=0.7, const bool forceScaleToUnity=false)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides the closed-form solution of absolute orientation using unit quaternions to a set of over-constrained correspondences for finding the 6D rigid transformation between two cloud of 3D points using RANSAC.  <a href="group__mrpt__scanmatching__grp.html#ga96a45b6eb34d06a8d0fd9f38dcd696de"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#ga7a5ed1b5f7e14adbcd2ec35198327ae7">mrpt::scanmatching::leastSquareErrorRigidTransformation</a> (<a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, <a class="el" href="classmrpt_1_1poses_1_1_c_pose2_d.html">CPose2D</a> &amp;out_transformation, <a class="el" href="namespacemrpt_1_1math.html#a58d0ee60eee38e990848ccb8b83e8338">CMatrixDouble33</a> *out_estimateCovariance=NULL)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides the basic least-square-error solution to a set of over-constrained correspondences for finding the (x,y,phi) rigid transformation between two planes.  <a href="group__mrpt__scanmatching__grp.html#ga7a5ed1b5f7e14adbcd2ec35198327ae7"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#ga89ebdf76aa2d029c189ae2312db405a9">mrpt::scanmatching::leastSquareErrorRigidTransformation</a> (<a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, <a class="el" href="classmrpt_1_1poses_1_1_c_pose_p_d_f_gaussian.html">CPosePDFGaussian</a> &amp;out_transformation)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method provides the basic least-square-error solution to a set of over-constrained correspondences for finding the (x,y,phi) rigid transformation between two planes.  <a href="group__mrpt__scanmatching__grp.html#ga89ebdf76aa2d029c189ae2312db405a9"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void SCANMATCHING_IMPEXP&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__mrpt__scanmatching__grp.html#ga1714c0f5d66a47509926ffdbfcd261d6">mrpt::scanmatching::robustRigidTransformation</a> (<a class="el" href="classmrpt_1_1utils_1_1_t_matching_pair_list.html">TMatchingPairList</a> &amp;in_correspondences, poses::CPosePDFSOG &amp;out_transformation, float normalizationStd, unsigned int ransac_minSetSize=3, unsigned int ransac_maxSetSize=20, float ransac_mahalanobisDistanceThreshold=3.0f, unsigned int ransac_nSimulations=0, TMatchingPairList *out_largestSubSet=NULL, bool ransac_fuseByCorrsMatch=true, float ransac_fuseMaxDiffXY=0.01f, float ransac_fuseMaxDiffPhi=DEG2RAD(0.1f), bool ransac_algorithmForLandmarks=true, double probability_find_good_model=0.999, unsigned int ransac_min_nSimulations=1500)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">This method implements a RANSAC-based robust estimation of the rigid transformation between two planes, returning a probability distribution over all the posibilities as a Sum of Gaussians.  <a href="group__mrpt__scanmatching__grp.html#ga1714c0f5d66a47509926ffdbfcd261d6"></a><br/></td></tr>
</table>
</div>
<br><hr><br> <table border="0" width="100%"> <tr> <td> Page generated by <a href="http://www.doxygen.org" target="_blank">Doxygen 1.7.5</a> for MRPT 0.9.5 SVN: at Sun Sep 25 17:20:18 UTC 2011</td><td></td> <td width="100"> </td> <td width="150">  </td></tr> </table>  </body></html>