diff --git a/trunk/bin/tabletop_object_detection_test b/trunk/bin/tabletop_object_detection_test index 61abe2c15ad7c10b9ca1fb6b805b9fbdad94b161..00627579c0c736260d6b9436007d80ae350c9bf9 100755 Binary files a/trunk/bin/tabletop_object_detection_test and b/trunk/bin/tabletop_object_detection_test differ diff --git a/trunk/build/src/CMakeFiles/tabletop_object_detection.dir/tabletop_object_detection.o b/trunk/build/src/CMakeFiles/tabletop_object_detection.dir/tabletop_object_detection.o index 37df5595c84eedddb27fa48975379e3f82588c48..b0e301cce4e24c2a1f0b395d8cf2ff634c6207b3 100644 Binary files a/trunk/build/src/CMakeFiles/tabletop_object_detection.dir/tabletop_object_detection.o and b/trunk/build/src/CMakeFiles/tabletop_object_detection.dir/tabletop_object_detection.o differ diff --git a/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o b/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o index bed385096238134191583c92a2d38b75e88c2fe7..c97f39ff0e750dc6d5351b8a6d867792e4759f67 100644 Binary files a/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o and b/trunk/build/src/examples/CMakeFiles/tabletop_object_detection_test.dir/tabletop_object_detection_test.o differ diff --git a/trunk/doc/html/annotated.html b/trunk/doc/html/annotated.html index 1784feb0e1e1be29e5c104c4228b2460d78db20b..2387557109d60ae0c901435a595ef6d9ebdfc2f4 100644 --- a/trunk/doc/html/annotated.html +++ b/trunk/doc/html/annotated.html @@ -57,7 +57,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/classTableTop__Object__Detection.html b/trunk/doc/html/classTableTop__Object__Detection.html index e0752a58933c29eddd5a0be644e39832bd59d8bf..5d08f544e7b49c511ce92f30fb5797e702686b82 100644 --- a/trunk/doc/html/classTableTop__Object__Detection.html +++ b/trunk/doc/html/classTableTop__Object__Detection.html @@ -71,6 +71,10 @@ Public Member Functions</h2></td></tr> <tr class="memitem:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a52028dcd2c15d9609ca4f5c0419c3e14">init</a> (pcl::PointCloud< pcl::PointXYZRGBA > input_cloud)</td></tr> <tr class="memdesc:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="mdescLeft"> </td><td class="mdescRight">Class initializer, with default parameters. <a href="#a52028dcd2c15d9609ca4f5c0419c3e14">More...</a><br/></td></tr> <tr class="separator:a52028dcd2c15d9609ca4f5c0419c3e14"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:af6f6a38de376991aae5e6bf3ff6d4206"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af6f6a38de376991aae5e6bf3ff6d4206"></a> +void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">reset</a> ()</td></tr> +<tr class="memdesc:af6f6a38de376991aae5e6bf3ff6d4206"><td class="mdescLeft"> </td><td class="mdescRight">reset all the publis members reset all the public members. <br/></td></tr> +<tr class="separator:af6f6a38de376991aae5e6bf3ff6d4206"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a890c8e6be3cae5aa41b8b2ecbc3bf34a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a890c8e6be3cae5aa41b8b2ecbc3bf34a"></a> <a class="el" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a> ()</td></tr> <tr class="memdesc:a890c8e6be3cae5aa41b8b2ecbc3bf34a"><td class="mdescLeft"> </td><td class="mdescRight">get the default parameters of the algorithm <br/></td></tr> @@ -104,6 +108,11 @@ std::vector< pcl::PointCloud<br class="typebreak"/> void </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a> ()</td></tr> <tr class="memdesc:ad13b6dd411e0a557a4de7a9323da33bb"><td class="mdescLeft"> </td><td class="mdescRight">Print the parameters of the algorithm in the shell. <br/></td></tr> <tr class="separator:ad13b6dd411e0a557a4de7a9323da33bb"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:ac438979dc29d88aea96f30cf652f9294"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac438979dc29d88aea96f30cf652f9294"></a> +pcl::PointCloud<br class="typebreak"/> +< pcl::PointXYZRGBA >::Ptr </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">get_input_cloud</a> ()</td></tr> +<tr class="memdesc:ac438979dc29d88aea96f30cf652f9294"><td class="mdescLeft"> </td><td class="mdescRight">returns input cloud <br/></td></tr> +<tr class="separator:ac438979dc29d88aea96f30cf652f9294"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a48985d7b12316ccecbd85c7e09f1e6af"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a48985d7b12316ccecbd85c7e09f1e6af"></a> pcl::PointCloud< pcl::PointXYZL > </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">get_labeled_voxel_cloud</a> ()</td></tr> <tr class="memdesc:a48985d7b12316ccecbd85c7e09f1e6af"><td class="mdescLeft"> </td><td class="mdescRight">returns labeld voxel cloud <br/></td></tr> @@ -226,9 +235,9 @@ void </td><td class="memItemRight" valign="bottom"><a class="el" href="clas </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a> Protected Attributes</h2></td></tr> -<tr class="memitem:aac70ce378ddcd44223d858d802129cab"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac70ce378ddcd44223d858d802129cab"></a> -std::vector< <a class="el" href="structObject.html">Object</a> > </td><td class="memItemRight" valign="bottom"><b>filt_objs</b></td></tr> -<tr class="separator:aac70ce378ddcd44223d858d802129cab"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:afa5d21976e0bdf2a32108a1d85815f9b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afa5d21976e0bdf2a32108a1d85815f9b"></a> +std::vector< <a class="el" href="structObject.html">Object</a> > </td><td class="memItemRight" valign="bottom"><b>detected_objects</b></td></tr> +<tr class="separator:afa5d21976e0bdf2a32108a1d85815f9b"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:a56344b968f8153f5b648a97d37054421"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a56344b968f8153f5b648a97d37054421"></a> pcl::PointCloud<br class="typebreak"/> < pcl::PointXYZRGBA >::Ptr </td><td class="memItemRight" valign="bottom"><b>cloud</b></td></tr> @@ -281,6 +290,8 @@ pcl::PointCloud<br class="typebreak"/> <tr class="separator:ac42ea218190506b3d367406088fde651"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:aca1c3e7181470c613fe2044ca45adeba"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a></td></tr> <tr class="separator:aca1c3e7181470c613fe2044ca45adeba"><td class="memSeparator" colspan="2"> </td></tr> +<tr class="memitem:a2bc1fa0f283211f16eef9cfe8656ecc9"><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a></td></tr> +<tr class="separator:a2bc1fa0f283211f16eef9cfe8656ecc9"><td class="memSeparator" colspan="2"> </td></tr> </table><table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-static-attribs"></a> Static Protected Attributes</h2></td></tr> @@ -381,9 +392,9 @@ Static Protected Attributes</h2></td></tr> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00079">79</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00093">93</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00305">show_super_voxels()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00325">show_super_voxels()</a>.</p> <p><div class="dynheader"> Here is the caller graph for this function:</div> @@ -454,9 +465,9 @@ Here is the caller graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00108">108</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00122">122</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>.</p> <p><div class="dynheader"> Here is the caller graph for this function:</div> @@ -502,7 +513,7 @@ Here is the caller graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00013">13</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>References <a class="el" href="tabletop__object__detection_8h_source.html#l00166">initialized</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> @@ -535,9 +546,9 @@ Here is the call graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00021">21</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00022">22</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>References <a class="el" href="tabletop__object__detection_8h_source.html#l00166">initialized</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> @@ -588,9 +599,9 @@ Here is the call graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00305">305</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00325">325</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00079">addSupervoxelConnectionsToViewer()</a>.</p> +<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00093">addSupervoxelConnectionsToViewer()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> @@ -623,9 +634,9 @@ Here is the call graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00351">351</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00371">371</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> -<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00079">addSupervoxelConnectionsToViewer()</a>.</p> +<p>References <a class="el" href="tabletop__object__detection_8cpp_source.html#l00093">addSupervoxelConnectionsToViewer()</a>.</p> <p><div class="dynheader"> Here is the call graph for this function:</div> @@ -658,7 +669,7 @@ Here is the call graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00388">388</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00408">408</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> </div> </div> @@ -682,7 +693,7 @@ Here is the call graph for this function:</div> </dd> </dl> -<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00414">414</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> +<p>Definition at line <a class="el" href="tabletop__object__detection_8cpp_source.html#l00434">434</a> of file <a class="el" href="tabletop__object__detection_8cpp_source.html">tabletop_object_detection.cpp</a>.</p> </div> </div> @@ -708,7 +719,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00097">97</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -733,7 +744,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00098">98</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -758,7 +769,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00099">99</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -783,7 +794,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00100">100</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -808,7 +819,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00101">101</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -833,7 +844,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00102">102</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -858,7 +869,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00105">105</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -883,7 +894,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00106">106</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -908,7 +919,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00107">107</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -933,7 +944,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00108">108</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -958,7 +969,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00109">109</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -983,7 +994,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00112">112</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -1008,7 +1019,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00113">113</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -1033,7 +1044,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00114">114</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>.</p> </div> </div> @@ -1058,7 +1069,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00146">146</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1083,7 +1094,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00147">147</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1108,7 +1119,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00148">148</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1133,7 +1144,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00149">149</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1158,7 +1169,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00150">150</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1183,7 +1194,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00151">151</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1208,7 +1219,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00154">154</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1233,7 +1244,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00155">155</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1258,7 +1269,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00156">156</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1283,7 +1294,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00157">157</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1308,7 +1319,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00158">158</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1333,7 +1344,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00161">161</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1358,7 +1369,7 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00162">162</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> </div> </div> @@ -1383,7 +1394,32 @@ Here is the call graph for this function:</div> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00163">163</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00450">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00198">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00052">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00470">print_parameters()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00066">set_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">set_parameters()</a>.</p> + +</div> +</div> +<a class="anchor" id="a2bc1fa0f283211f16eef9cfe8656ecc9"></a> +<div class="memitem"> +<div class="memproto"> +<table class="mlabels"> + <tr> + <td class="mlabels-left"> + <table class="memname"> + <tr> + <td class="memname">bool TableTop_Object_Detection::initialized</td> + </tr> + </table> + </td> + <td class="mlabels-right"> +<span class="mlabels"><span class="mlabel">protected</span></span> </td> + </tr> +</table> +</div><div class="memdoc"> +<p>boolean variable to keep track if the class has been initialized </p> + +<p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00166">166</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> + +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00013">init()</a>, <a class="el" href="tabletop__object__detection_8cpp_source.html#l00212">segment()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00003">TableTop_Object_Detection()</a>.</p> </div> </div> @@ -1394,7 +1430,7 @@ Here is the call graph for this function:</div> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/classes.html b/trunk/doc/html/classes.html index b88874b24cc0d4e23dc37d5f6d2d86e773f3d3e2..ec105b40cfe199dbbe0a6b7d90b85e8450f4fee4 100644 --- a/trunk/doc/html/classes.html +++ b/trunk/doc/html/classes.html @@ -61,7 +61,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html b/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html index 002cec264cc9631144af7986e302bfb474ab3714..c66a4a070b4812c845f3361cbd98a404bfc751b5 100644 --- a/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html +++ b/trunk/doc/html/dir_68267d1309a1af8e8297ef4c3efbcdba.html @@ -60,7 +60,7 @@ Files</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html b/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html index 22d482dfa109c06cbd5575a3710a49236e781ff4..8ef8c72ad2835744dcdc986acab12389cdb95c7e 100644 --- a/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html +++ b/trunk/doc/html/dir_e931c1a3f0014e624d0645a271726ad2.html @@ -53,7 +53,7 @@ Files</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/examples.html b/trunk/doc/html/examples.html index 80ff22d1dec4823e63e69150d24ccb20a0bb8188..99243e92548333a83785fb4fb44d22eef1c466d7 100644 --- a/trunk/doc/html/examples.html +++ b/trunk/doc/html/examples.html @@ -47,7 +47,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/files.html b/trunk/doc/html/files.html index ed1ec6f03986f03dad8afe92204d8d1af0264279..c69e80d90401fc78d0c51bcb558b9c6bd7daceb9 100644 --- a/trunk/doc/html/files.html +++ b/trunk/doc/html/files.html @@ -57,7 +57,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/functions.html b/trunk/doc/html/functions.html index 017b039118a3aa7c09cdf351d682c6ce43a39f3d..1f7284ae57e57f3b5bbeb62e6dd8102c9cee2767 100644 --- a/trunk/doc/html/functions.html +++ b/trunk/doc/html/functions.html @@ -58,6 +58,7 @@ <li><a href="#index_m"><span>m</span></a></li> <li><a href="#index_n"><span>n</span></a></li> <li><a href="#index_p"><span>p</span></a></li> + <li><a href="#index_r"><span>r</span></a></li> <li><a href="#index_s"><span>s</span></a></li> <li><a href="#index_t"><span>t</span></a></li> <li><a href="#index_u"><span>u</span></a></li> @@ -118,6 +119,9 @@ <li>get_default_parameters() : <a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection</a> </li> +<li>get_input_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">TableTop_Object_Detection</a> +</li> <li>get_labeled_voxel_cloud() : <a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection</a> </li> @@ -143,6 +147,9 @@ <li>init() : <a class="el" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection</a> </li> +<li>initialized +: <a class="el" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">TableTop_Object_Detection</a> +</li> </ul> @@ -179,15 +186,20 @@ </ul> -<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> -<li>seed_resolution -: <a class="el" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection</a> +<h3><a class="anchor" id="index_r"></a>- r -</h3><ul> +<li>reset() +: <a class="el" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection</a> </li> +</ul> + + +<h3><a class="anchor" id="index_s"></a>- s -</h3><ul> <li>SEED_RESOLUTION : <a class="el" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">TableTop_Object_Detection</a> </li> <li>seed_resolution -: <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> </li> <li>segment() : <a class="el" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection</a> @@ -204,14 +216,12 @@ <li>show_super_voxels() : <a class="el" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection</a> </li> -<li>smoothness_threshold -: <a class="el" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection</a> -</li> <li>SMOOTHNESS_THRESHOLD : <a class="el" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">TableTop_Object_Detection</a> </li> <li>smoothness_threshold -: <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> </li> <li>SPATIAL_IMPORTANCE : <a class="el" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">TableTop_Object_Detection</a> @@ -227,12 +237,14 @@ <li>TableTop_Object_Detection() : <a class="el" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a> </li> +<li>th_points +: <a class="el" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection</a> +</li> <li>TH_POINTS : <a class="el" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TableTop_Object_Detection</a> </li> <li>th_points -: <a class="el" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection</a> -, <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> +: <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> </li> </ul> @@ -260,34 +272,32 @@ <h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>voxel_resolution +: <a class="el" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection</a> +</li> <li>VOXEL_RESOLUTION : <a class="el" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">TableTop_Object_Detection</a> </li> <li>voxel_resolution -: <a class="el" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection</a> -, <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> +: <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> </li> </ul> <h3><a class="anchor" id="index_z"></a>- z -</h3><ul> -<li>zmax -: <a class="el" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection</a> -</li> <li>ZMAX : <a class="el" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">TableTop_Object_Detection</a> </li> <li>zmax -: <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> -</li> -<li>zmin -: <a class="el" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection</a> +: <a class="el" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> </li> <li>ZMIN : <a class="el" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">TableTop_Object_Detection</a> </li> <li>zmin -: <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> </li> </ul> @@ -300,7 +310,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/functions_func.html b/trunk/doc/html/functions_func.html index e463eed1a6b41f3cb60932468bd19928fa233964..7356ccb9078211019ce59847076abe7c83bfa9a5 100644 --- a/trunk/doc/html/functions_func.html +++ b/trunk/doc/html/functions_func.html @@ -63,6 +63,9 @@ <li>get_default_parameters() : <a class="el" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection</a> </li> +<li>get_input_cloud() +: <a class="el" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">TableTop_Object_Detection</a> +</li> <li>get_labeled_voxel_cloud() : <a class="el" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection</a> </li> @@ -87,6 +90,9 @@ <li>print_parameters() : <a class="el" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection</a> </li> +<li>reset() +: <a class="el" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection</a> +</li> <li>segment() : <a class="el" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection</a> </li> @@ -112,7 +118,7 @@ </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/functions_vars.html b/trunk/doc/html/functions_vars.html index 3aff347736409e87fb65d6a09661e65ba37472bc..1427fd17a4cac1ea59445a688d12890031a1dd50 100644 --- a/trunk/doc/html/functions_vars.html +++ b/trunk/doc/html/functions_vars.html @@ -52,6 +52,7 @@ <ul class="tablist"> <li><a href="#index_c"><span>c</span></a></li> <li><a href="#index_d"><span>d</span></a></li> + <li><a href="#index_i"><span>i</span></a></li> <li><a href="#index_m"><span>m</span></a></li> <li><a href="#index_n"><span>n</span></a></li> <li><a href="#index_s"><span>s</span></a></li> @@ -98,6 +99,13 @@ </ul> +<h3><a class="anchor" id="index_i"></a>- i -</h3><ul> +<li>initialized +: <a class="el" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">TableTop_Object_Detection</a> +</li> +</ul> + + <h3><a class="anchor" id="index_m"></a>- m -</h3><ul> <li>min_segment_size : <a class="el" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">TableTop_Object_Detection</a> @@ -125,23 +133,19 @@ <h3><a class="anchor" id="index_s"></a>- s -</h3><ul> -<li>seed_resolution -: <a class="el" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection</a> -</li> <li>SEED_RESOLUTION : <a class="el" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">TableTop_Object_Detection</a> </li> <li>seed_resolution -: <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> -</li> -<li>smoothness_threshold -: <a class="el" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection</a> +: <a class="el" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters</a> </li> <li>SMOOTHNESS_THRESHOLD : <a class="el" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">TableTop_Object_Detection</a> </li> <li>smoothness_threshold -: <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters</a> </li> <li>SPATIAL_IMPORTANCE : <a class="el" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">TableTop_Object_Detection</a> @@ -154,14 +158,12 @@ <h3><a class="anchor" id="index_t"></a>- t -</h3><ul> -<li>th_points -: <a class="el" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection</a> -</li> <li>TH_POINTS : <a class="el" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TableTop_Object_Detection</a> </li> <li>th_points -: <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters</a> </li> </ul> @@ -189,40 +191,38 @@ <h3><a class="anchor" id="index_v"></a>- v -</h3><ul> +<li>voxel_resolution +: <a class="el" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection</a> +</li> <li>VOXEL_RESOLUTION : <a class="el" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">TableTop_Object_Detection</a> </li> <li>voxel_resolution -: <a class="el" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection</a> -, <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> +: <a class="el" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters</a> </li> </ul> <h3><a class="anchor" id="index_z"></a>- z -</h3><ul> -<li>zmax -: <a class="el" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection</a> -</li> <li>ZMAX : <a class="el" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">TableTop_Object_Detection</a> </li> <li>zmax -: <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> -</li> -<li>zmin -: <a class="el" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection</a> +: <a class="el" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters</a> </li> <li>ZMIN : <a class="el" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">TableTop_Object_Detection</a> </li> <li>zmin -: <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> +: <a class="el" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection</a> +, <a class="el" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters</a> </li> </ul> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/graph_legend.html b/trunk/doc/html/graph_legend.html index 60abe649e2e07b128c263ebe1f9ccda0e8f707f4..264ca01e4cdf543a9d8bbbc9f3937c8dbba9d4b9 100644 --- a/trunk/doc/html/graph_legend.html +++ b/trunk/doc/html/graph_legend.html @@ -107,7 +107,7 @@ A yellow dashed arrow denotes a relation between a template instance and the tem </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/index.html b/trunk/doc/html/index.html index 970b7595df90a7f52effdbc220ce07d52214945b..8c5adbc92da297c329d2c9a5b485078426ce9476 100644 --- a/trunk/doc/html/index.html +++ b/trunk/doc/html/index.html @@ -123,7 +123,7 @@ Disclaimer</h1> </div></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/structObject.html b/trunk/doc/html/structObject.html index 7dfb67af84ea62cfa637b8cf7fde0fbc2c4c0873..3ddb766466834bb9ccc0c75764853e2430b2c713 100644 --- a/trunk/doc/html/structObject.html +++ b/trunk/doc/html/structObject.html @@ -69,7 +69,7 @@ int </td><td class="memItemRight" valign="bottom"><b>label</b></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/structtableTop__object__detection__parameters.html b/trunk/doc/html/structtableTop__object__detection__parameters.html index 0c66b07fd74291a062868ef752d8d45ba288732e..71cff5e44afe3ff63c1d9494f45cee1877ef2d14 100644 --- a/trunk/doc/html/structtableTop__object__detection__parameters.html +++ b/trunk/doc/html/structtableTop__object__detection__parameters.html @@ -98,7 +98,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00048">48</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -115,7 +115,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00049">49</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -132,7 +132,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00050">50</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -149,7 +149,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00051">51</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -166,7 +166,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00052">52</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -183,7 +183,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00053">53</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -200,7 +200,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00056">56</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -217,7 +217,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00057">57</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -234,7 +234,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00058">58</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -251,7 +251,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00059">59</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -268,7 +268,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00060">60</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -285,7 +285,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00063">63</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -302,7 +302,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00064">64</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -319,7 +319,7 @@ Data Fields</h2></td></tr> <p>Definition at line <a class="el" href="tabletop__object__detection_8h_source.html#l00065">65</a> of file <a class="el" href="tabletop__object__detection_8h_source.html">tabletop_object_detection.h</a>.</p> -<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00170">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00028">TableTop_Object_Detection::set_parameters()</a>.</p> +<p>Referenced by <a class="el" href="tabletop__object__detection_8cpp_source.html#l00184">TableTop_Object_Detection::get_default_parameters()</a>, and <a class="el" href="tabletop__object__detection_8cpp_source.html#l00042">TableTop_Object_Detection::set_parameters()</a>.</p> </div> </div> @@ -329,7 +329,7 @@ Data Fields</h2></td></tr> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html b/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html index 460692787f99c225fa8ff8c7b5093953c3984b78..f6355ac23c52a309850c84d0174bf8f85c8151ea 100644 --- a/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html +++ b/trunk/doc/html/tableTop_object_segmentation_test_8cpp-example.html @@ -51,7 +51,7 @@ <div class="fragment"></div><!-- fragment --> </div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:55 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/tabletop__object__detection_8cpp_source.html b/trunk/doc/html/tabletop__object__detection_8cpp_source.html index caff9d093b2d65fbb28727caf5a51b29bffd12c7..8f5e3dc599f3fb00bf7f09fd50b04376b9894f98 100644 --- a/trunk/doc/html/tabletop__object__detection_8cpp_source.html +++ b/trunk/doc/html/tabletop__object__detection_8cpp_source.html @@ -53,606 +53,631 @@ <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> </div> <div class="line"><a name="l00003"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939"> 3</a></span> <a class="code" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a>()</div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> {</div> -<div class="line"><a name="l00005"></a><span class="lineno"> 5</span> </div> +<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a> = <span class="keyword">false</span>;</div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> }</div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> </div> <div class="line"><a name="l00008"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8"> 8</a></span> <a class="code" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a>()</div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> {</div> -<div class="line"><a name="l00010"></a><span class="lineno"> 10</span> </div> +<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>  </div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> }</div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> </div> <div class="line"><a name="l00013"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9"> 13</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud,</div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt)</div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> {</div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span>  this->cloud = input_cloud.makeShared();</div> -<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  this->filt_objs.resize(0);</div> +<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>  this->detected_objects.resize(0);</div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span>  <a class="code" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">set_parameters</a>(opt);</div> -<div class="line"><a name="l00019"></a><span class="lineno"> 19</span> } </div> -<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>  </div> -<div class="line"><a name="l00021"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a52028dcd2c15d9609ca4f5c0419c3e14"> 21</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud)</div> -<div class="line"><a name="l00022"></a><span class="lineno"> 22</span> {</div> -<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>  this->cloud = input_cloud.makeShared();</div> -<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  this->filt_objs.resize(0);</div> -<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">set_default_parameters</a>();</div> -<div class="line"><a name="l00026"></a><span class="lineno"> 26</span> } </div> -<div class="line"><a name="l00027"></a><span class="lineno"> 27</span> </div> -<div class="line"><a name="l00028"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee"> 28</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a>(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt)</div> -<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> {</div> -<div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div> -<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a>;</div> -<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a>;</div> -<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a>;</div> -<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a>;</div> -<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a>;</div> -<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a>;</div> -<div class="line"><a name="l00037"></a><span class="lineno"> 37</span> </div> -<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> -<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a>;</div> -<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a>;</div> -<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a>; </div> -<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a>;</div> -<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a>;</div> +<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a> = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00020"></a><span class="lineno"> 20</span> } </div> +<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>  </div> +<div class="line"><a name="l00022"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a52028dcd2c15d9609ca4f5c0419c3e14"> 22</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud)</div> +<div class="line"><a name="l00023"></a><span class="lineno"> 23</span> {</div> +<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>  this->cloud = input_cloud.makeShared();</div> +<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>  this->detected_objects.resize(0);</div> +<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>  <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">set_default_parameters</a>();</div> +<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a> = <span class="keyword">true</span>;</div> +<div class="line"><a name="l00028"></a><span class="lineno"> 28</span> } </div> +<div class="line"><a name="l00029"></a><span class="lineno"> 29</span> </div> +<div class="line"><a name="l00030"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206"> 30</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection::reset</a>()</div> +<div class="line"><a name="l00031"></a><span class="lineno"> 31</span> {</div> +<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>  this->cloud->points.resize(0);</div> +<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>  this->detected_objects.resize(0);</div> +<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>  this->lccp_labeled_cloud->points.resize(0);</div> +<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>  this->labeled_voxel_cloud->points.resize(0);</div> +<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>  this->sv_normal_cloud->points.resize(0);</div> +<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>  this->supervoxel_clusters.clear();</div> +<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>  this->supervoxel_adjacency.clear();</div> +<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>  <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">set_default_parameters</a>();</div> +<div class="line"><a name="l00040"></a><span class="lineno"> 40</span> }</div> +<div class="line"><a name="l00041"></a><span class="lineno"> 41</span> </div> +<div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee"> 42</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a>(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt)</div> +<div class="line"><a name="l00043"></a><span class="lineno"> 43</span> {</div> <div class="line"><a name="l00044"></a><span class="lineno"> 44</span> </div> -<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00047"></a><span class="lineno"> 47</span> </div> -<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a>;</div> -<div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div> -<div class="line"><a name="l00050"></a><span class="lineno"> 50</span> }</div> +<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a>;</div> +<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a>;</div> +<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a>;</div> +<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a>;</div> +<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a>;</div> +<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a>;</div> <div class="line"><a name="l00051"></a><span class="lineno"> 51</span> </div> -<div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e"> 52</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a>()</div> -<div class="line"><a name="l00053"></a><span class="lineno"> 53</span> {</div> -<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = this-><a class="code" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">DISABLE_TRANSFORM</a>;</div> -<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">VOXEL_RESOLUTION</a>;</div> -<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">SEED_RESOLUTION</a>;</div> -<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">COLOR_IMPORTANCE</a>;</div> -<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">SPATIAL_IMPORTANCE</a>;</div> -<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">NORMAL_IMPORTANCE</a>;</div> -<div class="line"><a name="l00060"></a><span class="lineno"> 60</span> </div> -<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> -<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">CONCAVITY_TOLERANCE_THRESHOLD</a>;</div> -<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">SMOOTHNESS_THRESHOLD</a>;</div> -<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">MIN_SEGMENT_SIZE</a>; </div> -<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">USE_EXTENDED_CONVEXITY</a>;</div> -<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">USE_SANITY_CRITERION</a>;</div> -<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> </div> -<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">ZMIN</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">ZMAX</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00070"></a><span class="lineno"> 70</span> </div> -<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TH_POINTS</a>;</div> -<div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> -<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a>;</div> +<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a>;</div> +<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a>; </div> +<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a>;</div> +<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a>;</div> +<div class="line"><a name="l00058"></a><span class="lineno"> 58</span> </div> +<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00061"></a><span class="lineno"> 61</span> </div> +<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a>;</div> +<div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div> +<div class="line"><a name="l00064"></a><span class="lineno"> 64</span> }</div> +<div class="line"><a name="l00065"></a><span class="lineno"> 65</span> </div> +<div class="line"><a name="l00066"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e"> 66</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a>()</div> +<div class="line"><a name="l00067"></a><span class="lineno"> 67</span> {</div> +<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = this-><a class="code" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">DISABLE_TRANSFORM</a>;</div> +<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">VOXEL_RESOLUTION</a>;</div> +<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">SEED_RESOLUTION</a>;</div> +<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">COLOR_IMPORTANCE</a>;</div> +<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">SPATIAL_IMPORTANCE</a>;</div> +<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">NORMAL_IMPORTANCE</a>;</div> <div class="line"><a name="l00074"></a><span class="lineno"> 74</span> </div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span> }</div> -<div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> -<div class="line"><a name="l00077"></a><span class="lineno"> 77</span> </div> -<div class="line"><a name="l00078"></a><span class="lineno"> 78</span> <span class="keywordtype">void</span></div> -<div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196"> 79</a></span> <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a> (pcl::PointXYZRGBA &supervoxel_center,</div> -<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  pcl::PointCloud<pcl::PointXYZRGBA>& adjacent_supervoxel_centers,</div> -<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  std::string supervoxel_name,</div> -<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> -<div class="line"><a name="l00083"></a><span class="lineno"> 83</span> {</div> -<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New ();</div> -<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New ();</div> -<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>  vtkSmartPointer<vtkPolyLine> polyLine = vtkSmartPointer<vtkPolyLine>::New ();</div> -<div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div> -<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  <span class="comment">//Iterate through all adjacent points, and add a center point to adjacent point pair</span></div> -<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  pcl::PointCloud<pcl::PointXYZRGBA>::iterator adjacent_itr = adjacent_supervoxel_centers.begin ();</div> -<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>  <span class="keywordflow">for</span> ( ; adjacent_itr != adjacent_supervoxel_centers.end (); ++adjacent_itr)</div> -<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>  {</div> -<div class="line"><a name="l00092"></a><span class="lineno"> 92</span>  points->InsertNextPoint (supervoxel_center.data);</div> -<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  points->InsertNextPoint (adjacent_itr->data);</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  }</div> -<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// Create a polydata to store everything in</span></div> -<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New ();</div> -<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>  <span class="comment">// Add the points to the dataset</span></div> -<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  polyData->SetPoints (points);</div> -<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  polyLine->GetPointIds ()->SetNumberOfIds(points->GetNumberOfPoints ());</div> -<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < points->GetNumberOfPoints (); i++)</div> -<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>  polyLine->GetPointIds ()->SetId (i,i);</div> -<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  cells->InsertNextCell (polyLine);</div> -<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  <span class="comment">// Add the lines to the dataset</span></div> -<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  polyData->SetLines (cells);</div> -<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  viewer->addModelFromPolyData (polyData,supervoxel_name);</div> -<div class="line"><a name="l00106"></a><span class="lineno"> 106</span> }</div> -<div class="line"><a name="l00107"></a><span class="lineno"> 107</span> </div> -<div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b"> 108</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a>(pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud, <span class="keywordtype">double</span> zmin, <span class="keywordtype">double</span> zmax, pcl::PointIndices::Ptr objectIndices, <span class="keywordtype">bool</span> filter_input_cloud)</div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span> {</div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  <span class="comment">// Objects for storing the point clouds.</span></div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr plane(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr convexHull(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> -<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  </div> -<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">// Get the plane model, if present.</span></div> -<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  pcl::ModelCoefficients::Ptr coefficients(<span class="keyword">new</span> pcl::ModelCoefficients);</div> -<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  pcl::SACSegmentation<pcl::PointXYZRGBA> segmentation;</div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  segmentation.setInputCloud(cloud);</div> -<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  segmentation.setModelType(pcl::SACMODEL_PLANE);</div> -<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  segmentation.setMethodType(pcl::SAC_RANSAC);</div> -<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  segmentation.setDistanceThreshold(0.01);</div> -<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  segmentation.setOptimizeCoefficients(<span class="keyword">true</span>);</div> -<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  pcl::PointIndices::Ptr planeIndices(<span class="keyword">new</span> pcl::PointIndices);</div> -<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  segmentation.segment(*planeIndices, *coefficients);</div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span> </div> -<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  <span class="keywordflow">if</span> (planeIndices->indices.size() == 0)</div> -<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  std::cout << <span class="stringliteral">"Could not find a plane in the scene."</span> << std::endl;</div> -<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">else</span></div> -<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  {</div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  <span class="comment">// Copy the points of the plane to a new cloud.</span></div> -<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  pcl::ExtractIndices<pcl::PointXYZRGBA> extract;</div> -<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  extract.setInputCloud(cloud);</div> -<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  extract.setIndices(planeIndices);</div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  extract.filter(*plane);</div> -<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  </div> -<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  <span class="comment">// Retrieve the convex hull.</span></div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  pcl::ConvexHull<pcl::PointXYZRGBA> hull;</div> -<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  hull.setInputCloud(plane);</div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="comment">// Make sure that the resulting hull is bidimensional.</span></div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  hull.setDimension(2); <span class="comment">//2dimension -> planar convex hull</span></div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  hull.reconstruct(*convexHull);</div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  </div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// Redundant check.</span></div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">if</span> (hull.getDimension() == 2)</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="comment">// Prism object.</span></div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  pcl::ExtractPolygonalPrismData<pcl::PointXYZRGBA> prism;</div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  prism.setInputCloud(cloud);</div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  prism.setInputPlanarHull(convexHull);</div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// First parameter: minimum Z value. Set to 0, segments objects lying on the plane (can be negative).</span></div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  <span class="comment">// Second parameter: maximum Z value[meters], set to 10cm. Tune it according to the height of the objects you expect.</span></div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  prism.setHeightLimits(zmin, zmax);</div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  </div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  <span class="comment">//std::cout << "size of objectIndices before segmentation: " << objectIndices.indices.size() << std::endl;</span></div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  <span class="comment">//pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices);</span></div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  prism.segment(*objectIndices);</div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">//std::cout << "size of objectIndices AFTER segmentation: " << objectIndices.indices.size() << std::endl;</span></div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  </div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  <span class="comment">// Get and show all points retrieved by the hull.</span></div> -<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  extract.setIndices(objectIndices);</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  </div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  <span class="keywordflow">if</span>(filter_input_cloud)</div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  extract.filter(*cloud);</div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  }</div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  <span class="keywordflow">else</span> std::cout << <span class="stringliteral">"The chosen hull is not planar."</span> << std::endl;</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  }</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> }</div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div> -<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a"> 170</a></span> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a>()</div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> {</div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt;</div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a> = this-><a class="code" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">DISABLE_TRANSFORM</a>;</div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">VOXEL_RESOLUTION</a>;</div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">SEED_RESOLUTION</a>;</div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">COLOR_IMPORTANCE</a>;</div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">SPATIAL_IMPORTANCE</a>;</div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">NORMAL_IMPORTANCE</a>;</div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">CONCAVITY_TOLERANCE_THRESHOLD</a>;</div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">SMOOTHNESS_THRESHOLD</a>;</div> -<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">MIN_SEGMENT_SIZE</a>; </div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">USE_EXTENDED_CONVEXITY</a>;</div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">USE_SANITY_CRITERION</a>;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">CONCAVITY_TOLERANCE_THRESHOLD</a>;</div> +<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">SMOOTHNESS_THRESHOLD</a>;</div> +<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">MIN_SEGMENT_SIZE</a>; </div> +<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">USE_EXTENDED_CONVEXITY</a>;</div> +<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">USE_SANITY_CRITERION</a>;</div> +<div class="line"><a name="l00081"></a><span class="lineno"> 81</span> </div> +<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">ZMIN</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">ZMAX</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00084"></a><span class="lineno"> 84</span> </div> +<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TH_POINTS</a>;</div> +<div class="line"><a name="l00086"></a><span class="lineno"> 86</span> </div> +<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00088"></a><span class="lineno"> 88</span> </div> +<div class="line"><a name="l00089"></a><span class="lineno"> 89</span> }</div> +<div class="line"><a name="l00090"></a><span class="lineno"> 90</span> </div> +<div class="line"><a name="l00091"></a><span class="lineno"> 91</span> </div> +<div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="keywordtype">void</span></div> +<div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196"> 93</a></span> <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a> (pcl::PointXYZRGBA &supervoxel_center,</div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  pcl::PointCloud<pcl::PointXYZRGBA>& adjacent_supervoxel_centers,</div> +<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  std::string supervoxel_name,</div> +<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00097"></a><span class="lineno"> 97</span> {</div> +<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>  vtkSmartPointer<vtkPoints> points = vtkSmartPointer<vtkPoints>::New ();</div> +<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>  vtkSmartPointer<vtkCellArray> cells = vtkSmartPointer<vtkCellArray>::New ();</div> +<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>  vtkSmartPointer<vtkPolyLine> polyLine = vtkSmartPointer<vtkPolyLine>::New ();</div> +<div class="line"><a name="l00101"></a><span class="lineno"> 101</span> </div> +<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>  <span class="comment">//Iterate through all adjacent points, and add a center point to adjacent point pair</span></div> +<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>  pcl::PointCloud<pcl::PointXYZRGBA>::iterator adjacent_itr = adjacent_supervoxel_centers.begin ();</div> +<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>  <span class="keywordflow">for</span> ( ; adjacent_itr != adjacent_supervoxel_centers.end (); ++adjacent_itr)</div> +<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  {</div> +<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  points->InsertNextPoint (supervoxel_center.data);</div> +<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  points->InsertNextPoint (adjacent_itr->data);</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  }</div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  <span class="comment">// Create a polydata to store everything in</span></div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  vtkSmartPointer<vtkPolyData> polyData = vtkSmartPointer<vtkPolyData>::New ();</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  <span class="comment">// Add the points to the dataset</span></div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  polyData->SetPoints (points);</div> +<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  polyLine->GetPointIds ()->SetNumberOfIds(points->GetNumberOfPoints ());</div> +<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="keywordflow">for</span>(<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> i = 0; i < points->GetNumberOfPoints (); i++)</div> +<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  polyLine->GetPointIds ()->SetId (i,i);</div> +<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>  cells->InsertNextCell (polyLine);</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  <span class="comment">// Add the lines to the dataset</span></div> +<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  polyData->SetLines (cells);</div> +<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  viewer->addModelFromPolyData (polyData,supervoxel_name);</div> +<div class="line"><a name="l00120"></a><span class="lineno"> 120</span> }</div> +<div class="line"><a name="l00121"></a><span class="lineno"> 121</span> </div> +<div class="line"><a name="l00122"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b"> 122</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a>(pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud, <span class="keywordtype">double</span> zmin, <span class="keywordtype">double</span> zmax, pcl::PointIndices::Ptr objectIndices, <span class="keywordtype">bool</span> filter_input_cloud)</div> +<div class="line"><a name="l00123"></a><span class="lineno"> 123</span> {</div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  <span class="comment">// Objects for storing the point clouds.</span></div> +<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr plane(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> +<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr convexHull(<span class="keyword">new</span> pcl::PointCloud<pcl::PointXYZRGBA>);</div> +<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  </div> +<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  <span class="comment">// Get the plane model, if present.</span></div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  pcl::ModelCoefficients::Ptr coefficients(<span class="keyword">new</span> pcl::ModelCoefficients);</div> +<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>  pcl::SACSegmentation<pcl::PointXYZRGBA> segmentation;</div> +<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  segmentation.setInputCloud(cloud);</div> +<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  segmentation.setModelType(pcl::SACMODEL_PLANE);</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  segmentation.setMethodType(pcl::SAC_RANSAC);</div> +<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  segmentation.setDistanceThreshold(0.01);</div> +<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  segmentation.setOptimizeCoefficients(<span class="keyword">true</span>);</div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  pcl::PointIndices::Ptr planeIndices(<span class="keyword">new</span> pcl::PointIndices);</div> +<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>  segmentation.segment(*planeIndices, *coefficients);</div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span> </div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  <span class="keywordflow">if</span> (planeIndices->indices.size() == 0)</div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  std::cout << <span class="stringliteral">"Could not find a plane in the scene."</span> << std::endl;</div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  {</div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="comment">// Copy the points of the plane to a new cloud.</span></div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  pcl::ExtractIndices<pcl::PointXYZRGBA> extract;</div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  extract.setInputCloud(cloud);</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  extract.setIndices(planeIndices);</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  extract.filter(*plane);</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  </div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  <span class="comment">// Retrieve the convex hull.</span></div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  pcl::ConvexHull<pcl::PointXYZRGBA> hull;</div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  hull.setInputCloud(plane);</div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  <span class="comment">// Make sure that the resulting hull is bidimensional.</span></div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  hull.setDimension(2); <span class="comment">//2dimension -> planar convex hull</span></div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  hull.reconstruct(*convexHull);</div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  <span class="comment">// Redundant check.</span></div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  <span class="keywordflow">if</span> (hull.getDimension() == 2)</div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  {</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  <span class="comment">// Prism object.</span></div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  pcl::ExtractPolygonalPrismData<pcl::PointXYZRGBA> prism;</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  prism.setInputCloud(cloud);</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  prism.setInputPlanarHull(convexHull);</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  <span class="comment">// First parameter: minimum Z value. Set to 0, segments objects lying on the plane (can be negative).</span></div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  <span class="comment">// Second parameter: maximum Z value[meters], set to 10cm. Tune it according to the height of the objects you expect.</span></div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  prism.setHeightLimits(zmin, zmax);</div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  </div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="comment">//std::cout << "size of objectIndices before segmentation: " << objectIndices.indices.size() << std::endl;</span></div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">//pcl::PointIndices::Ptr objectIndices(new pcl::PointIndices);</span></div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  prism.segment(*objectIndices);</div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">//std::cout << "size of objectIndices AFTER segmentation: " << objectIndices.indices.size() << std::endl;</span></div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// Get and show all points retrieved by the hull.</span></div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  extract.setIndices(objectIndices);</div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  </div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="keywordflow">if</span>(filter_input_cloud)</div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  extract.filter(*cloud);</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  }</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">else</span> std::cout << <span class="stringliteral">"The chosen hull is not planar."</span> << std::endl;</div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  }</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> }</div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div> +<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a"> 184</a></span> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a>()</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> {</div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span> </div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt;</div> <div class="line"><a name="l00188"></a><span class="lineno"> 188</span> </div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">ZMIN</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">ZMAX</a>;<span class="comment">//meters</span></div> -<div class="line"><a name="l00191"></a><span class="lineno"> 191</span> </div> -<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TH_POINTS</a>;</div> -<div class="line"><a name="l00193"></a><span class="lineno"> 193</span> </div> -<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  <span class="keywordflow">return</span> opt;</div> -<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> }</div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> -<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> -<div class="line"><a name="l00198"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a"> 198</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a>()</div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> {</div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  <span class="comment">//float t_ini = cv::getTickCount();</span></div> -<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> -<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  pcl::PointIndices::Ptr obj_idx (<span class="keyword">new</span> pcl::PointIndices());</div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <a class="code" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">detectObjectsOnTable</a>(this->cloud, this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> , obj_idx, <span class="keyword">true</span>);</div> -<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  <span class="comment">//float elapsed_time_plane = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">disable_transform</a> = this-><a class="code" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">DISABLE_TRANSFORM</a>;</div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">voxel_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#afeb688c9dd5d7aee6a088da541e55014">VOXEL_RESOLUTION</a>;</div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">seed_resolution</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">SEED_RESOLUTION</a>;</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">color_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">COLOR_IMPORTANCE</a>;</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">spatial_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">SPATIAL_IMPORTANCE</a>;</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">normal_importance</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">NORMAL_IMPORTANCE</a>;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="comment">// LCCPSegmentation Stuff</span></div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">concavity_tolerance_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">CONCAVITY_TOLERANCE_THRESHOLD</a>;</div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">smoothness_threshold</a> = this-><a class="code" href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">SMOOTHNESS_THRESHOLD</a>;</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">min_segment_size</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">MIN_SEGMENT_SIZE</a>; </div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">use_extended_convexity</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">USE_EXTENDED_CONVEXITY</a>;</div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">use_sanity_criterion</a> = this-><a class="code" href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">USE_SANITY_CRITERION</a>;</div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span> </div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">zmin</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">ZMIN</a>;<span class="comment">//meters</span></div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">zmax</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">ZMAX</a>;<span class="comment">//meters</span></div> <div class="line"><a name="l00205"></a><span class="lineno"> 205</span> </div> -<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  <span class="keywordflow">if</span>(this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> < 0.013)</div> -<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  pcl::console::print_warn(<span class="stringliteral">"[TableTop_Object_Detection] seed resolution very low, the segmentation could be fragmented."</span>);</div> -<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> -<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  pcl::SupervoxelClustering<pcl::PointXYZRGBA> super (this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>);</div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  opt.<a class="code" href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">th_points</a> = this-><a class="code" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TH_POINTS</a>;</div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <span class="keywordflow">return</span> opt;</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span> }</div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div> -<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  super.setInputCloud (this->cloud);</div> -<div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> -<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  <span class="comment">//super.setNormalCloud (input_normals);</span></div> -<div class="line"><a name="l00214"></a><span class="lineno"> 214</span> </div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  super.setColorImportance (this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a>);</div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  super.setSpatialImportance (this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a>);</div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  super.setNormalImportance (this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a>);</div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  </div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  super.extract (supervoxel_clusters);</div> -<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> -<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr voxel_centroid_cloud = super.getVoxelCentroidCloud ();</div> -<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  sv_normal_cloud = super.makeSupervoxelNormalCloud (supervoxel_clusters);</div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr full_labeled_cloud = super.getLabeledCloud ();</div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  </div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  super.getSupervoxelAdjacency (supervoxel_adjacency);</div> -<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  </div> -<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr > refined_supervoxel_clusters;</div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> +<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a"> 212</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a>()</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span> {</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  <span class="comment">//float t_ini = cv::getTickCount();</span></div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  <span class="keywordflow">if</span>(!this-><a class="code" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a>)</div> +<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  {</div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  pcl::console::print_error(<span class="stringliteral">"[TableTop_Object_Detection] No valid input cloud given to the algorithm. The class has not beed initialized."</span>);</div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  pcl::PointIndices::Ptr obj_idx (<span class="keyword">new</span> pcl::PointIndices());</div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <a class="code" href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">detectObjectsOnTable</a>(this->cloud, this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> , obj_idx, <span class="keyword">true</span>);</div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="comment">//float elapsed_time_plane = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span> </div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <span class="keywordflow">if</span>(this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> < 0.013)</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  pcl::console::print_warn(<span class="stringliteral">"[TableTop_Object_Detection] seed resolution very low, the segmentation could be fragmented."</span>);</div> <div class="line"><a name="l00228"></a><span class="lineno"> 228</span> </div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="comment">// NO REFINEMENT!!</span></div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  <span class="comment">//super.refineSupervoxels (3, refined_supervoxel_clusters);</span></div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> -<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  pcl::PointCloud<pcl::PointNormal>::Ptr refined_sv_normal_cloud = super.makeSupervoxelNormalCloud (refined_supervoxel_clusters);</div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_full_labeled_cloud = super.getLabeledCloud ();</div> -<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  </div> -<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  <span class="keyword">typedef</span> boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, uint32_t, float> VoxelAdjacencyList;</div> -<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  VoxelAdjacencyList supervoxel_adjacency_list;</div> -<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  super.getSupervoxelAdjacencyList (supervoxel_adjacency_list);</div> -<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  </div> -<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  <span class="comment">// Segmentation Stuff</span></div> -<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  </div> -<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  uint k_factor = 0;</div> -<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  <span class="keywordflow">if</span> (<a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a>)</div> -<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  k_factor = 1;</div> -<div class="line"><a name="l00245"></a><span class="lineno"> 245</span> </div> -<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  pcl::LCCPSegmentation<pcl::PointXYZRGBA> lccp;</div> -<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  lccp.setConcavityToleranceThreshold (this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a>);</div> -<div class="line"><a name="l00248"></a><span class="lineno"> 248</span>  lccp.setSanityCheck (this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a>);</div> -<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  lccp.setSmoothnessCheck (<span class="keyword">true</span>, this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a>);</div> -<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  lccp.setKFactor (k_factor);</div> -<div class="line"><a name="l00251"></a><span class="lineno"> 251</span>  lccp.setInputSupervoxels (this->supervoxel_clusters, this->supervoxel_adjacency);</div> -<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  lccp.setMinSegmentSize (this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a>);</div> -<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  lccp.segment ();</div> -<div class="line"><a name="l00254"></a><span class="lineno"> 254</span> </div> -<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr sv_labeled_cloud = super.getLabeledCloud ();</div> -<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  lccp_labeled_cloud = sv_labeled_cloud->makeShared ();</div> -<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  lccp.relabelCloud (*lccp_labeled_cloud);</div> -<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  <span class="comment">//std::cout << "size lccp_labeled_cloud: "<<lccp_labeled_cloud->points.size() << "\n";</span></div> -<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  <span class="comment">//---------------------------------------------------------------------------------------------</span></div> -<div class="line"><a name="l00260"></a><span class="lineno"> 260</span> </div> -<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="comment">//float elapsed_time_seg = (cv::getTickCount()-t_ini)/cv::getTickFrequency() - elapsed_time_plane;</span></div> -<div class="line"><a name="l00262"></a><span class="lineno"> 262</span> </div> -<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="comment">//------------------------------ SEGMENTATION POST PROCESSING ---------------------------------</span></div> -<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="comment">//construct for each segmented object the point cloud associated to that object</span></div> -<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < lccp_labeled_cloud->points.size(); ++i)</div> -<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  {</div> -<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  </div> -<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  uint32_t idx = lccp_labeled_cloud->points.at(i).label;</div> -<div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div> -<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="comment">//in this way we enlarges the vector everytime we encounter a greater label. So we don't need to pass all </span></div> -<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="comment">// labeeld point cloud to see what is the greater label, and then to resize the vector. </span></div> -<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordflow">if</span>(idx >= filt_objs.size()) <span class="comment">// keep in mind that there is also the label 0! </span></div> -<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  filt_objs.resize(idx+1);</div> -<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  </div> -<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  pcl::PointXYZRGBA tmp_point_rgb;</div> -<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  tmp_point_rgb = cloud->points.at(i);</div> -<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  filt_objs[idx].object_cloud.points.push_back(tmp_point_rgb);</div> -<div class="line"><a name="l00278"></a><span class="lineno"> 278</span> </div> -<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  filt_objs[idx].label = (int)idx;</div> -<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  } </div> -<div class="line"><a name="l00281"></a><span class="lineno"> 281</span> </div> -<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="comment">//remove segments with too few points</span></div> -<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="comment">// it will removes te ones with few points or the ones with no points (these are created because of the labels of lccp)</span></div> -<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordtype">int</span> size = filt_objs.size();</div> -<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">int</span> i = 0;</div> -<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordflow">while</span> (i < size)</div> -<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  {</div> -<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordflow">if</span>(filt_objs[i].object_cloud.size() < this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a>)</div> -<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  {</div> -<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  filt_objs.erase(filt_objs.begin() + i);</div> -<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  size = filt_objs.size();</div> -<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  }</div> -<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordflow">else</span></div> -<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  i++;</div> -<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  }</div> -<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> </div> -<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="comment">//float elapsed_time = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> -<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  </div> -<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="comment">//std::cout << "elapsed_time (segmentation and postprocessing): " << elapsed_time << "\nelapsed_time of LCCP segmentation: " << elapsed_time_seg << std::endl;</span></div> -<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="comment">//std::cout << "elapsed_time plane estimation: " << elapsed_time_plane << std::endl;</span></div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  pcl::SupervoxelClustering<pcl::PointXYZRGBA> super (this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>);</div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  super.setInputCloud (this->cloud);</div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span>  <span class="comment">//super.setNormalCloud (input_normals);</span></div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div> +<div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  super.setColorImportance (this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a>);</div> +<div class="line"><a name="l00236"></a><span class="lineno"> 236</span>  super.setSpatialImportance (this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a>);</div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  super.setNormalImportance (this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a>);</div> +<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  </div> +<div class="line"><a name="l00239"></a><span class="lineno"> 239</span>  super.extract (supervoxel_clusters);</div> +<div class="line"><a name="l00240"></a><span class="lineno"> 240</span>  labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> +<div class="line"><a name="l00241"></a><span class="lineno"> 241</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr voxel_centroid_cloud = super.getVoxelCentroidCloud ();</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  sv_normal_cloud = super.makeSupervoxelNormalCloud (supervoxel_clusters);</div> +<div class="line"><a name="l00243"></a><span class="lineno"> 243</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr full_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00244"></a><span class="lineno"> 244</span>  </div> +<div class="line"><a name="l00245"></a><span class="lineno"> 245</span>  super.getSupervoxelAdjacency (supervoxel_adjacency);</div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  </div> +<div class="line"><a name="l00247"></a><span class="lineno"> 247</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr > refined_supervoxel_clusters;</div> +<div class="line"><a name="l00248"></a><span class="lineno"> 248</span> </div> +<div class="line"><a name="l00249"></a><span class="lineno"> 249</span>  <span class="comment">// NO REFINEMENT!!</span></div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="comment">//super.refineSupervoxels (3, refined_supervoxel_clusters);</span></div> +<div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div> +<div class="line"><a name="l00252"></a><span class="lineno"> 252</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_labeled_voxel_cloud = super.getLabeledVoxelCloud ();</div> +<div class="line"><a name="l00253"></a><span class="lineno"> 253</span>  pcl::PointCloud<pcl::PointNormal>::Ptr refined_sv_normal_cloud = super.makeSupervoxelNormalCloud (refined_supervoxel_clusters);</div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr refined_full_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  </div> +<div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <span class="keyword">typedef</span> boost::adjacency_list<boost::setS, boost::setS, boost::undirectedS, uint32_t, float> VoxelAdjacencyList;</div> +<div class="line"><a name="l00257"></a><span class="lineno"> 257</span>  VoxelAdjacencyList supervoxel_adjacency_list;</div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  super.getSupervoxelAdjacencyList (supervoxel_adjacency_list);</div> +<div class="line"><a name="l00259"></a><span class="lineno"> 259</span>  </div> +<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="comment">// Segmentation Stuff</span></div> +<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  </div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  uint k_factor = 0;</div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordflow">if</span> (<a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a>)</div> +<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  k_factor = 1;</div> +<div class="line"><a name="l00265"></a><span class="lineno"> 265</span> </div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  pcl::LCCPSegmentation<pcl::PointXYZRGBA> lccp;</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  lccp.setConcavityToleranceThreshold (this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a>);</div> +<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  lccp.setSanityCheck (this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a>);</div> +<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  lccp.setSmoothnessCheck (<span class="keyword">true</span>, this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>, this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a>);</div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  lccp.setKFactor (k_factor);</div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  lccp.setInputSupervoxels (this->supervoxel_clusters, this->supervoxel_adjacency);</div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  lccp.setMinSegmentSize (this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a>);</div> +<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  lccp.segment ();</div> +<div class="line"><a name="l00274"></a><span class="lineno"> 274</span> </div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr sv_labeled_cloud = super.getLabeledCloud ();</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  lccp_labeled_cloud = sv_labeled_cloud->makeShared ();</div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  lccp.relabelCloud (*lccp_labeled_cloud);</div> +<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="comment">//std::cout << "size lccp_labeled_cloud: "<<lccp_labeled_cloud->points.size() << "\n";</span></div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="comment">//---------------------------------------------------------------------------------------------</span></div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span> </div> +<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="comment">//float elapsed_time_seg = (cv::getTickCount()-t_ini)/cv::getTickFrequency() - elapsed_time_plane;</span></div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="comment">//------------------------------ SEGMENTATION POST PROCESSING ---------------------------------</span></div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="comment">//construct for each segmented object the point cloud associated to that object</span></div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < lccp_labeled_cloud->points.size(); ++i)</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  {</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  </div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  uint32_t idx = lccp_labeled_cloud->points.at(i).label;</div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="comment">//in this way we enlarges the vector everytime we encounter a greater label. So we don't need to pass all </span></div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="comment">// labeeld point cloud to see what is the greater label, and then to resize the vector. </span></div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordflow">if</span>(idx >= detected_objects.size()) <span class="comment">// keep in mind that there is also the label 0! </span></div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  detected_objects.resize(idx+1);</div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  </div> +<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  pcl::PointXYZRGBA tmp_point_rgb;</div> +<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  tmp_point_rgb = cloud->points.at(i);</div> +<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  detected_objects[idx].object_cloud.points.push_back(tmp_point_rgb);</div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span> </div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  detected_objects[idx].label = (int)idx;</div> +<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  } </div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div> -<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordflow">return</span>;</div> -<div class="line"><a name="l00303"></a><span class="lineno"> 303</span> }</div> -<div class="line"><a name="l00304"></a><span class="lineno"> 304</span> </div> -<div class="line"><a name="l00305"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e"> 305</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,</div> -<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordtype">bool</span> show_adjacency_map,</div> -<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  <span class="keywordtype">bool</span> show_super_voxel_normals)</div> -<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> {</div> -<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  <span class="keywordflow">if</span>(this->filt_objs.size() > 0)</div> -<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  {</div> -<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>);</div> -<div class="line"><a name="l00312"></a><span class="lineno"> 312</span> </div> -<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="comment">//pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGBA> rgb_cloud_obj(cloud);</span></div> -<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  <span class="comment">//viewer->addPointCloud<pcl::PointXYZRGBA> (cloud, rgb_cloud_obj, "maincloud");</span></div> -<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  <span class="keywordflow">if</span>(show_super_voxel_normals)</div> -<div class="line"><a name="l00316"></a><span class="lineno"> 316</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> -<div class="line"><a name="l00317"></a><span class="lineno"> 317</span> </div> -<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  <span class="keywordflow">if</span>(show_adjacency_map)</div> -<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  {</div> -<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> -<div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> -<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  {</div> -<div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  <span class="comment">//First get the label</span></div> -<div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  uint32_t supervoxel_label = label_itr->first;</div> -<div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> -<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  </div> -<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> -<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> </div> -<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> -<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> -<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> -<div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> -<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  {</div> -<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> -<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> -<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  }</div> -<div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  <span class="comment">//Now we make a name for this polygon</span></div> -<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  std::stringstream ss;</div> -<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> -<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> -<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">addSupervoxelConnectionsToViewer</a> (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> -<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  <span class="comment">//Move iterator forward to next label</span></div> -<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> -<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  }</div> -<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  } </div> -<div class="line"><a name="l00346"></a><span class="lineno"> 346</span> </div> -<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  }</div> -<div class="line"><a name="l00348"></a><span class="lineno"> 348</span>  <span class="keywordflow">return</span>;</div> -<div class="line"><a name="l00349"></a><span class="lineno"> 349</span> }</div> -<div class="line"><a name="l00350"></a><span class="lineno"> 350</span> </div> -<div class="line"><a name="l00351"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a892f9cc8b0ab76b1fcac802c4a55cb55"> 351</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> -<div class="line"><a name="l00352"></a><span class="lineno"> 352</span> {</div> -<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  <span class="keywordflow">if</span>(this->filt_objs.size() > 0)</div> -<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  {</div> -<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>); </div> -<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> -<div class="line"><a name="l00357"></a><span class="lineno"> 357</span> </div> -<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> -<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> -<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  {</div> -<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <span class="comment">//First get the label</span></div> -<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  uint32_t supervoxel_label = label_itr->first;</div> -<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> -<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  </div> -<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="comment">//remove segments with too few points</span></div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="comment">// it will removes te ones with few points or the ones with no points (these are created because of the labels of lccp)</span></div> +<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordtype">int</span> size = detected_objects.size();</div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  <span class="keywordtype">int</span> i = 0;</div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  <span class="keywordflow">while</span> (i < size)</div> +<div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  {</div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  <span class="keywordflow">if</span>(detected_objects[i].object_cloud.size() < this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a>)</div> +<div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  {</div> +<div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  detected_objects.erase(detected_objects.begin() + i);</div> +<div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  size = detected_objects.size();</div> +<div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  }</div> +<div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  i++;</div> +<div class="line"><a name="l00315"></a><span class="lineno"> 315</span>  }</div> +<div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div> +<div class="line"><a name="l00317"></a><span class="lineno"> 317</span>  <span class="comment">//float elapsed_time = (cv::getTickCount()-t_ini)/cv::getTickFrequency();</span></div> +<div class="line"><a name="l00318"></a><span class="lineno"> 318</span>  </div> +<div class="line"><a name="l00319"></a><span class="lineno"> 319</span>  <span class="comment">//std::cout << "elapsed_time (segmentation and postprocessing): " << elapsed_time << "\nelapsed_time of LCCP segmentation: " << elapsed_time_seg << std::endl;</span></div> +<div class="line"><a name="l00320"></a><span class="lineno"> 320</span>  <span class="comment">//std::cout << "elapsed_time plane estimation: " << elapsed_time_plane << std::endl;</span></div> +<div class="line"><a name="l00321"></a><span class="lineno"> 321</span> </div> +<div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00323"></a><span class="lineno"> 323</span> }</div> +<div class="line"><a name="l00324"></a><span class="lineno"> 324</span> </div> +<div class="line"><a name="l00325"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e"> 325</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,</div> +<div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  <span class="keywordtype">bool</span> show_adjacency_map,</div> +<div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  <span class="keywordtype">bool</span> show_super_voxel_normals)</div> +<div class="line"><a name="l00328"></a><span class="lineno"> 328</span> {</div> +<div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  <span class="keywordflow">if</span>(this->detected_objects.size() > 0)</div> +<div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  {</div> +<div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>);</div> +<div class="line"><a name="l00332"></a><span class="lineno"> 332</span> </div> +<div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  <span class="comment">//pcl::visualization::PointCloudColorHandlerRGBField<pcl::PointXYZRGBA> rgb_cloud_obj(cloud);</span></div> +<div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  <span class="comment">//viewer->addPointCloud<pcl::PointXYZRGBA> (cloud, rgb_cloud_obj, "maincloud");</span></div> +<div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  <span class="keywordflow">if</span>(show_super_voxel_normals)</div> +<div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00337"></a><span class="lineno"> 337</span> </div> +<div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  <span class="keywordflow">if</span>(show_adjacency_map)</div> +<div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  {</div> +<div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> +<div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  {</div> +<div class="line"><a name="l00343"></a><span class="lineno"> 343</span>  <span class="comment">//First get the label</span></div> +<div class="line"><a name="l00344"></a><span class="lineno"> 344</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00345"></a><span class="lineno"> 345</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> +<div class="line"><a name="l00346"></a><span class="lineno"> 346</span>  </div> +<div class="line"><a name="l00347"></a><span class="lineno"> 347</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> +<div class="line"><a name="l00348"></a><span class="lineno"> 348</span> </div> +<div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> +<div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> +<div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> +<div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> +<div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  {</div> +<div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> +<div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> +<div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  }</div> +<div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  <span class="comment">//Now we make a name for this polygon</span></div> +<div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  std::stringstream ss;</div> +<div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> +<div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">addSupervoxelConnectionsToViewer</a> (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> +<div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  <span class="comment">//Move iterator forward to next label</span></div> +<div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  }</div> +<div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  } </div> <div class="line"><a name="l00366"></a><span class="lineno"> 366</span> </div> -<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> -<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> -<div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> -<div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> -<div class="line"><a name="l00371"></a><span class="lineno"> 371</span>  {</div> -<div class="line"><a name="l00372"></a><span class="lineno"> 372</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> -<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> -<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  }</div> -<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  <span class="comment">//Now we make a name for this polygon</span></div> -<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  std::stringstream ss;</div> -<div class="line"><a name="l00377"></a><span class="lineno"> 377</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> -<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> -<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">addSupervoxelConnectionsToViewer</a> (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> -<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  <span class="comment">//Move iterator forward to next label</span></div> -<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> -<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  } </div> -<div class="line"><a name="l00383"></a><span class="lineno"> 383</span> </div> -<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  }</div> -<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  <span class="keywordflow">return</span>;</div> -<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> }</div> -<div class="line"><a name="l00387"></a><span class="lineno"> 387</span> </div> -<div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9"> 388</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> -<div class="line"><a name="l00389"></a><span class="lineno"> 389</span> {</div> -<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  pcl::PointCloud<pcl::PointXYZL> objects_cloud;</div> -<div class="line"><a name="l00391"></a><span class="lineno"> 391</span> </div> -<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->filt_objs.size(); ++i)</div> -<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  {</div> -<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  pcl::PointCloud<pcl::PointXYZL> tmp_cloud;</div> -<div class="line"><a name="l00395"></a><span class="lineno"> 395</span> </div> -<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p = 0; p < this->filt_objs[i].object_cloud.size(); ++p)</div> -<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  {</div> -<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  pcl::PointXYZL tmp_point;</div> -<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  tmp_point.x = this->filt_objs[i].object_cloud[p].x;</div> -<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  tmp_point.y = this->filt_objs[i].object_cloud[p].y;</div> -<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  tmp_point.z = this->filt_objs[i].object_cloud[p].z;</div> -<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  tmp_point.label = this->filt_objs[i].label;</div> -<div class="line"><a name="l00403"></a><span class="lineno"> 403</span>  tmp_cloud.points.push_back(tmp_point);</div> -<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  }</div> -<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  </div> -<div class="line"><a name="l00406"></a><span class="lineno"> 406</span>  objects_cloud += tmp_cloud;</div> -<div class="line"><a name="l00407"></a><span class="lineno"> 407</span>  }</div> -<div class="line"><a name="l00408"></a><span class="lineno"> 408</span> </div> -<div class="line"><a name="l00409"></a><span class="lineno"> 409</span>  viewer->addPointCloud(objects_cloud.makeShared(), <span class="stringliteral">"segmented_object_cloud"</span>);</div> -<div class="line"><a name="l00410"></a><span class="lineno"> 410</span> </div> -<div class="line"><a name="l00411"></a><span class="lineno"> 411</span>  <span class="keywordflow">return</span>;</div> -<div class="line"><a name="l00412"></a><span class="lineno"> 412</span> }</div> -<div class="line"><a name="l00413"></a><span class="lineno"> 413</span> </div> -<div class="line"><a name="l00414"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444"> 414</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> -<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> {</div> -<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_cloud"</span>);</div> -<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_normals"</span>);</div> -<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  viewer->removePointCloud(<span class="stringliteral">"segmented_object_cloud"</span>);</div> -<div class="line"><a name="l00419"></a><span class="lineno"> 419</span> </div> -<div class="line"><a name="l00420"></a><span class="lineno"> 420</span> </div> -<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> -<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> -<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  {</div> -<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  uint32_t supervoxel_label = label_itr->first;</div> -<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  std::stringstream ss;</div> -<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> -<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  viewer->removeShape (ss.str());</div> -<div class="line"><a name="l00428"></a><span class="lineno"> 428</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> -<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  } </div> -<div class="line"><a name="l00430"></a><span class="lineno"> 430</span>  <span class="keywordflow">return</span>;</div> -<div class="line"><a name="l00431"></a><span class="lineno"> 431</span> }</div> -<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> </div> -<div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d"> 433</a></span> std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a>()</div> -<div class="line"><a name="l00434"></a><span class="lineno"> 434</span> {</div> -<div class="line"><a name="l00435"></a><span class="lineno"> 435</span>  <span class="keywordflow">return</span> this->filt_objs;</div> -<div class="line"><a name="l00436"></a><span class="lineno"> 436</span> }</div> -<div class="line"><a name="l00437"></a><span class="lineno"> 437</span> </div> -<div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd"> 438</a></span> std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a>()</div> -<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> {</div> -<div class="line"><a name="l00440"></a><span class="lineno"> 440</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > obj_vec;</div> -<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  </div> -<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->filt_objs.size(); ++i)</div> +<div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  }</div> +<div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00369"></a><span class="lineno"> 369</span> }</div> +<div class="line"><a name="l00370"></a><span class="lineno"> 370</span> </div> +<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a892f9cc8b0ab76b1fcac802c4a55cb55"> 371</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00372"></a><span class="lineno"> 372</span> {</div> +<div class="line"><a name="l00373"></a><span class="lineno"> 373</span>  <span class="keywordflow">if</span>(this->detected_objects.size() > 0)</div> +<div class="line"><a name="l00374"></a><span class="lineno"> 374</span>  {</div> +<div class="line"><a name="l00375"></a><span class="lineno"> 375</span>  viewer->addPointCloud (this->labeled_voxel_cloud, <span class="stringliteral">"supervoxel_cloud"</span>); </div> +<div class="line"><a name="l00376"></a><span class="lineno"> 376</span>  viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, <span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00377"></a><span class="lineno"> 377</span> </div> +<div class="line"><a name="l00378"></a><span class="lineno"> 378</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00379"></a><span class="lineno"> 379</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> +<div class="line"><a name="l00380"></a><span class="lineno"> 380</span>  {</div> +<div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <span class="comment">//First get the label</span></div> +<div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <span class="comment">//Now get the supervoxel corresponding to the label</span></div> +<div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  </div> +<div class="line"><a name="l00385"></a><span class="lineno"> 385</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr supervoxel = this->supervoxel_clusters.at (supervoxel_label);</div> +<div class="line"><a name="l00386"></a><span class="lineno"> 386</span> </div> +<div class="line"><a name="l00387"></a><span class="lineno"> 387</span>  <span class="comment">//Now we need to iterate through the adjacent supervoxels and make a point cloud of them</span></div> +<div class="line"><a name="l00388"></a><span class="lineno"> 388</span>  pcl::PointCloud<pcl::PointXYZRGBA> adjacent_supervoxel_centers;</div> +<div class="line"><a name="l00389"></a><span class="lineno"> 389</span>  std::multimap<uint32_t,uint32_t>::iterator adjacent_itr = this->supervoxel_adjacency.equal_range (supervoxel_label).first;</div> +<div class="line"><a name="l00390"></a><span class="lineno"> 390</span>  <span class="keywordflow">for</span> ( ; adjacent_itr!=this->supervoxel_adjacency.equal_range (supervoxel_label).second; ++adjacent_itr)</div> +<div class="line"><a name="l00391"></a><span class="lineno"> 391</span>  {</div> +<div class="line"><a name="l00392"></a><span class="lineno"> 392</span>  pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr neighbor_supervoxel = this->supervoxel_clusters.at (adjacent_itr->second);</div> +<div class="line"><a name="l00393"></a><span class="lineno"> 393</span>  adjacent_supervoxel_centers.push_back (neighbor_supervoxel->centroid_);</div> +<div class="line"><a name="l00394"></a><span class="lineno"> 394</span>  }</div> +<div class="line"><a name="l00395"></a><span class="lineno"> 395</span>  <span class="comment">//Now we make a name for this polygon</span></div> +<div class="line"><a name="l00396"></a><span class="lineno"> 396</span>  std::stringstream ss;</div> +<div class="line"><a name="l00397"></a><span class="lineno"> 397</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00398"></a><span class="lineno"> 398</span>  <span class="comment">//This function is shown below, but is beyond the scope of this tutorial - basically it just generates a "star" polygon mesh from the points given</span></div> +<div class="line"><a name="l00399"></a><span class="lineno"> 399</span>  <a class="code" href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">addSupervoxelConnectionsToViewer</a> (supervoxel->centroid_, adjacent_supervoxel_centers, ss.str (), viewer);</div> +<div class="line"><a name="l00400"></a><span class="lineno"> 400</span>  <span class="comment">//Move iterator forward to next label</span></div> +<div class="line"><a name="l00401"></a><span class="lineno"> 401</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00402"></a><span class="lineno"> 402</span>  } </div> +<div class="line"><a name="l00403"></a><span class="lineno"> 403</span> </div> +<div class="line"><a name="l00404"></a><span class="lineno"> 404</span>  }</div> +<div class="line"><a name="l00405"></a><span class="lineno"> 405</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00406"></a><span class="lineno"> 406</span> }</div> +<div class="line"><a name="l00407"></a><span class="lineno"> 407</span> </div> +<div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9"> 408</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00409"></a><span class="lineno"> 409</span> {</div> +<div class="line"><a name="l00410"></a><span class="lineno"> 410</span>  pcl::PointCloud<pcl::PointXYZL> objects_cloud;</div> +<div class="line"><a name="l00411"></a><span class="lineno"> 411</span> </div> +<div class="line"><a name="l00412"></a><span class="lineno"> 412</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->detected_objects.size(); ++i)</div> +<div class="line"><a name="l00413"></a><span class="lineno"> 413</span>  {</div> +<div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  pcl::PointCloud<pcl::PointXYZL> tmp_cloud;</div> +<div class="line"><a name="l00415"></a><span class="lineno"> 415</span> </div> +<div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> p = 0; p < this->detected_objects[i].object_cloud.size(); ++p)</div> +<div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  {</div> +<div class="line"><a name="l00418"></a><span class="lineno"> 418</span>  pcl::PointXYZL tmp_point;</div> +<div class="line"><a name="l00419"></a><span class="lineno"> 419</span>  tmp_point.x = this->detected_objects[i].object_cloud[p].x;</div> +<div class="line"><a name="l00420"></a><span class="lineno"> 420</span>  tmp_point.y = this->detected_objects[i].object_cloud[p].y;</div> +<div class="line"><a name="l00421"></a><span class="lineno"> 421</span>  tmp_point.z = this->detected_objects[i].object_cloud[p].z;</div> +<div class="line"><a name="l00422"></a><span class="lineno"> 422</span>  tmp_point.label = this->detected_objects[i].label;</div> +<div class="line"><a name="l00423"></a><span class="lineno"> 423</span>  tmp_cloud.points.push_back(tmp_point);</div> +<div class="line"><a name="l00424"></a><span class="lineno"> 424</span>  }</div> +<div class="line"><a name="l00425"></a><span class="lineno"> 425</span>  </div> +<div class="line"><a name="l00426"></a><span class="lineno"> 426</span>  objects_cloud += tmp_cloud;</div> +<div class="line"><a name="l00427"></a><span class="lineno"> 427</span>  }</div> +<div class="line"><a name="l00428"></a><span class="lineno"> 428</span> </div> +<div class="line"><a name="l00429"></a><span class="lineno"> 429</span>  viewer->addPointCloud(objects_cloud.makeShared(), <span class="stringliteral">"segmented_object_cloud"</span>);</div> +<div class="line"><a name="l00430"></a><span class="lineno"> 430</span> </div> +<div class="line"><a name="l00431"></a><span class="lineno"> 431</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00432"></a><span class="lineno"> 432</span> }</div> +<div class="line"><a name="l00433"></a><span class="lineno"> 433</span> </div> +<div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444"> 434</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer)</div> +<div class="line"><a name="l00435"></a><span class="lineno"> 435</span> {</div> +<div class="line"><a name="l00436"></a><span class="lineno"> 436</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_cloud"</span>);</div> +<div class="line"><a name="l00437"></a><span class="lineno"> 437</span>  viewer->removePointCloud(<span class="stringliteral">"supervoxel_normals"</span>);</div> +<div class="line"><a name="l00438"></a><span class="lineno"> 438</span>  viewer->removePointCloud(<span class="stringliteral">"segmented_object_cloud"</span>);</div> +<div class="line"><a name="l00439"></a><span class="lineno"> 439</span> </div> +<div class="line"><a name="l00440"></a><span class="lineno"> 440</span> </div> +<div class="line"><a name="l00441"></a><span class="lineno"> 441</span>  std::multimap<uint32_t,uint32_t>::iterator label_itr = (this->supervoxel_adjacency).begin ();</div> +<div class="line"><a name="l00442"></a><span class="lineno"> 442</span>  <span class="keywordflow">for</span> ( ; label_itr != (this->supervoxel_adjacency).end(); )</div> <div class="line"><a name="l00443"></a><span class="lineno"> 443</span>  {</div> -<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  obj_vec.push_back(filt_objs[i].object_cloud);</div> -<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  }</div> -<div class="line"><a name="l00446"></a><span class="lineno"> 446</span> </div> -<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  <span class="keywordflow">return</span> obj_vec;</div> -<div class="line"><a name="l00448"></a><span class="lineno"> 448</span> }</div> -<div class="line"><a name="l00449"></a><span class="lineno"> 449</span> </div> -<div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb"> 450</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a>()</div> -<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> {</div> -<div class="line"><a name="l00452"></a><span class="lineno"> 452</span>  std::cout << <span class="stringliteral">"\nTableTop_Object_Detection parameters: \n"</span></div> -<div class="line"><a name="l00453"></a><span class="lineno"> 453</span>  << <span class="stringliteral">"----------------- Supervoxel parameters ---------\n"</span></div> -<div class="line"><a name="l00454"></a><span class="lineno"> 454</span>  << <span class="stringliteral">"disable_transform: "</span> << (bool)this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> << std::endl</div> -<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  << <span class="stringliteral">"voxel_resolution: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> << std::endl </div> -<div class="line"><a name="l00456"></a><span class="lineno"> 456</span>  << <span class="stringliteral">"seed_resolution: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> << std::endl </div> -<div class="line"><a name="l00457"></a><span class="lineno"> 457</span>  << <span class="stringliteral">"color_importance: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> << std::endl</div> -<div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  << <span class="stringliteral">"spatial_importance: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> << std::endl </div> -<div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  << <span class="stringliteral">"normal_importance: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> << std::endl </div> -<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  << <span class="stringliteral">"----------------- LCCP parameters ---------------\n"</span></div> -<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  << <span class="stringliteral">"concavity_tolerance_threshold: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> << std::endl </div> -<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  << <span class="stringliteral">"smoothness_threshold: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> << std::endl </div> -<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  << <span class="stringliteral">"min_segment_size: "</span> << (int)this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> << std::endl </div> -<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  << <span class="stringliteral">"use_extended_convexity: "</span> << (<span class="keywordtype">bool</span>)this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> << std::endl </div> -<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  << <span class="stringliteral">"use_sanity_criterion: "</span> << (bool)this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> << std::endl </div> -<div class="line"><a name="l00466"></a><span class="lineno"> 466</span>  << <span class="stringliteral">"----------------- Others parameters -------------\n"</span></div> -<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  << <span class="stringliteral">"zmin: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> << std::endl </div> -<div class="line"><a name="l00468"></a><span class="lineno"> 468</span>  << <span class="stringliteral">"zmax: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> << std::endl </div> -<div class="line"><a name="l00469"></a><span class="lineno"> 469</span>  << <span class="stringliteral">"th_points: "</span> << (<span class="keywordtype">int</span>)this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> << std::endl << std::endl; </div> -<div class="line"><a name="l00470"></a><span class="lineno"> 470</span>  <span class="keywordflow">return</span>; </div> -<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> }</div> -<div class="line"><a name="l00472"></a><span class="lineno"> 472</span> </div> -<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af"> 473</a></span> pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a>()</div> -<div class="line"><a name="l00474"></a><span class="lineno"> 474</span> {</div> -<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  <span class="keywordflow">return</span> *(this->labeled_voxel_cloud);</div> -<div class="line"><a name="l00476"></a><span class="lineno"> 476</span> }</div> -<div class="line"><a name="l00477"></a><span class="lineno"> 477</span> </div> -<div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d"> 478</a></span> std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a>()</div> -<div class="line"><a name="l00479"></a><span class="lineno"> 479</span> {</div> -<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  <span class="keywordflow">return</span> this->supervoxel_adjacency;</div> -<div class="line"><a name="l00481"></a><span class="lineno"> 481</span> }</div> -<div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div> -<div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11"> 483</a></span> std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a>()</div> -<div class="line"><a name="l00484"></a><span class="lineno"> 484</span> {</div> -<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  <span class="keywordflow">return</span> this->supervoxel_clusters;</div> -<div class="line"><a name="l00486"></a><span class="lineno"> 486</span> }</div> -<div class="line"><a name="l00487"></a><span class="lineno"> 487</span> </div> -<div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c"> 488</a></span> pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a>()</div> -<div class="line"><a name="l00489"></a><span class="lineno"> 489</span> {</div> -<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">return</span> *(this->sv_normal_cloud);</div> +<div class="line"><a name="l00444"></a><span class="lineno"> 444</span>  uint32_t supervoxel_label = label_itr->first;</div> +<div class="line"><a name="l00445"></a><span class="lineno"> 445</span>  std::stringstream ss;</div> +<div class="line"><a name="l00446"></a><span class="lineno"> 446</span>  ss << <span class="stringliteral">"supervoxel_"</span> << supervoxel_label;</div> +<div class="line"><a name="l00447"></a><span class="lineno"> 447</span>  viewer->removeShape (ss.str());</div> +<div class="line"><a name="l00448"></a><span class="lineno"> 448</span>  label_itr = (this->supervoxel_adjacency).upper_bound (supervoxel_label);</div> +<div class="line"><a name="l00449"></a><span class="lineno"> 449</span>  } </div> +<div class="line"><a name="l00450"></a><span class="lineno"> 450</span>  <span class="keywordflow">return</span>;</div> +<div class="line"><a name="l00451"></a><span class="lineno"> 451</span> }</div> +<div class="line"><a name="l00452"></a><span class="lineno"> 452</span> </div> +<div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d"> 453</a></span> std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a>()</div> +<div class="line"><a name="l00454"></a><span class="lineno"> 454</span> {</div> +<div class="line"><a name="l00455"></a><span class="lineno"> 455</span>  <span class="keywordflow">return</span> this->detected_objects;</div> +<div class="line"><a name="l00456"></a><span class="lineno"> 456</span> }</div> +<div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div> +<div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd"> 458</a></span> std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a>()</div> +<div class="line"><a name="l00459"></a><span class="lineno"> 459</span> {</div> +<div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > obj_vec;</div> +<div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  </div> +<div class="line"><a name="l00462"></a><span class="lineno"> 462</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < this->detected_objects.size(); ++i)</div> +<div class="line"><a name="l00463"></a><span class="lineno"> 463</span>  {</div> +<div class="line"><a name="l00464"></a><span class="lineno"> 464</span>  obj_vec.push_back(detected_objects[i].object_cloud);</div> +<div class="line"><a name="l00465"></a><span class="lineno"> 465</span>  }</div> +<div class="line"><a name="l00466"></a><span class="lineno"> 466</span> </div> +<div class="line"><a name="l00467"></a><span class="lineno"> 467</span>  <span class="keywordflow">return</span> obj_vec;</div> +<div class="line"><a name="l00468"></a><span class="lineno"> 468</span> }</div> +<div class="line"><a name="l00469"></a><span class="lineno"> 469</span> </div> +<div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb"> 470</a></span> <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a>()</div> +<div class="line"><a name="l00471"></a><span class="lineno"> 471</span> {</div> +<div class="line"><a name="l00472"></a><span class="lineno"> 472</span>  std::cout << <span class="stringliteral">"\nTableTop_Object_Detection parameters: \n"</span></div> +<div class="line"><a name="l00473"></a><span class="lineno"> 473</span>  << <span class="stringliteral">"----------------- Supervoxel parameters ---------\n"</span></div> +<div class="line"><a name="l00474"></a><span class="lineno"> 474</span>  << <span class="stringliteral">"disable_transform: "</span> << (bool)this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> << std::endl</div> +<div class="line"><a name="l00475"></a><span class="lineno"> 475</span>  << <span class="stringliteral">"voxel_resolution: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> << std::endl </div> +<div class="line"><a name="l00476"></a><span class="lineno"> 476</span>  << <span class="stringliteral">"seed_resolution: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> << std::endl </div> +<div class="line"><a name="l00477"></a><span class="lineno"> 477</span>  << <span class="stringliteral">"color_importance: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> << std::endl</div> +<div class="line"><a name="l00478"></a><span class="lineno"> 478</span>  << <span class="stringliteral">"spatial_importance: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> << std::endl </div> +<div class="line"><a name="l00479"></a><span class="lineno"> 479</span>  << <span class="stringliteral">"normal_importance: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> << std::endl </div> +<div class="line"><a name="l00480"></a><span class="lineno"> 480</span>  << <span class="stringliteral">"----------------- LCCP parameters ---------------\n"</span></div> +<div class="line"><a name="l00481"></a><span class="lineno"> 481</span>  << <span class="stringliteral">"concavity_tolerance_threshold: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> << std::endl </div> +<div class="line"><a name="l00482"></a><span class="lineno"> 482</span>  << <span class="stringliteral">"smoothness_threshold: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> << std::endl </div> +<div class="line"><a name="l00483"></a><span class="lineno"> 483</span>  << <span class="stringliteral">"min_segment_size: "</span> << (int)this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> << std::endl </div> +<div class="line"><a name="l00484"></a><span class="lineno"> 484</span>  << <span class="stringliteral">"use_extended_convexity: "</span> << (<span class="keywordtype">bool</span>)this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> << std::endl </div> +<div class="line"><a name="l00485"></a><span class="lineno"> 485</span>  << <span class="stringliteral">"use_sanity_criterion: "</span> << (bool)this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> << std::endl </div> +<div class="line"><a name="l00486"></a><span class="lineno"> 486</span>  << <span class="stringliteral">"----------------- Others parameters -------------\n"</span></div> +<div class="line"><a name="l00487"></a><span class="lineno"> 487</span>  << <span class="stringliteral">"zmin: "</span> << (<span class="keywordtype">double</span>)this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> << std::endl </div> +<div class="line"><a name="l00488"></a><span class="lineno"> 488</span>  << <span class="stringliteral">"zmax: "</span> << (double)this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> << std::endl </div> +<div class="line"><a name="l00489"></a><span class="lineno"> 489</span>  << <span class="stringliteral">"th_points: "</span> << (<span class="keywordtype">int</span>)this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> << std::endl << std::endl; </div> +<div class="line"><a name="l00490"></a><span class="lineno"> 490</span>  <span class="keywordflow">return</span>; </div> <div class="line"><a name="l00491"></a><span class="lineno"> 491</span> }</div> <div class="line"><a name="l00492"></a><span class="lineno"> 492</span> </div> -<div class="line"><a name="l00493"></a><span class="lineno"> 493</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in)</div> +<div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294"> 493</a></span> pcl::PointCloud<pcl::PointXYZRGBA>::Ptr <a class="code" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">TableTop_Object_Detection::get_input_cloud</a>()</div> <div class="line"><a name="l00494"></a><span class="lineno"> 494</span> {</div> -<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = disable_transform_in;</div> +<div class="line"><a name="l00495"></a><span class="lineno"> 495</span>  <span class="keywordflow">return</span> this->cloud;</div> <div class="line"><a name="l00496"></a><span class="lineno"> 496</span> }</div> -<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in)</div> -<div class="line"><a name="l00498"></a><span class="lineno"> 498</span> {</div> -<div class="line"><a name="l00499"></a><span class="lineno"> 499</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = voxel_resolution_in;</div> -<div class="line"><a name="l00500"></a><span class="lineno"> 500</span> }</div> -<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in)</div> -<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> {</div> -<div class="line"><a name="l00503"></a><span class="lineno"> 503</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = seed_resolution_in;</div> -<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> }</div> -<div class="line"><a name="l00505"></a><span class="lineno"> 505</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_color_importance(<span class="keywordtype">double</span> color_importance_in)</div> -<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> {</div> -<div class="line"><a name="l00507"></a><span class="lineno"> 507</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = color_importance_in;</div> -<div class="line"><a name="l00508"></a><span class="lineno"> 508</span> }</div> -<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in)</div> -<div class="line"><a name="l00510"></a><span class="lineno"> 510</span> {</div> -<div class="line"><a name="l00511"></a><span class="lineno"> 511</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = spatial_importance_in;</div> -<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> }</div> -<div class="line"><a name="l00513"></a><span class="lineno"> 513</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_normal_importance(<span class="keywordtype">double</span> normal_importance_in)</div> +<div class="line"><a name="l00497"></a><span class="lineno"> 497</span> </div> +<div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af"> 498</a></span> pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a>()</div> +<div class="line"><a name="l00499"></a><span class="lineno"> 499</span> {</div> +<div class="line"><a name="l00500"></a><span class="lineno"> 500</span>  <span class="keywordflow">return</span> *(this->labeled_voxel_cloud);</div> +<div class="line"><a name="l00501"></a><span class="lineno"> 501</span> }</div> +<div class="line"><a name="l00502"></a><span class="lineno"> 502</span> </div> +<div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d"> 503</a></span> std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a>()</div> +<div class="line"><a name="l00504"></a><span class="lineno"> 504</span> {</div> +<div class="line"><a name="l00505"></a><span class="lineno"> 505</span>  <span class="keywordflow">return</span> this->supervoxel_adjacency;</div> +<div class="line"><a name="l00506"></a><span class="lineno"> 506</span> }</div> +<div class="line"><a name="l00507"></a><span class="lineno"> 507</span> </div> +<div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11"> 508</a></span> std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a>()</div> +<div class="line"><a name="l00509"></a><span class="lineno"> 509</span> {</div> +<div class="line"><a name="l00510"></a><span class="lineno"> 510</span>  <span class="keywordflow">return</span> this->supervoxel_clusters;</div> +<div class="line"><a name="l00511"></a><span class="lineno"> 511</span> }</div> +<div class="line"><a name="l00512"></a><span class="lineno"> 512</span> </div> +<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c"> 513</a></span> pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a>()</div> <div class="line"><a name="l00514"></a><span class="lineno"> 514</span> {</div> -<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = normal_importance_in;</div> +<div class="line"><a name="l00515"></a><span class="lineno"> 515</span>  <span class="keywordflow">return</span> *(this->sv_normal_cloud);</div> <div class="line"><a name="l00516"></a><span class="lineno"> 516</span> }</div> -<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in)</div> -<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> {</div> -<div class="line"><a name="l00519"></a><span class="lineno"> 519</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = concavity_tolerance_threshold_in;</div> -<div class="line"><a name="l00520"></a><span class="lineno"> 520</span> }</div> -<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in)</div> -<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> {</div> -<div class="line"><a name="l00523"></a><span class="lineno"> 523</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = smoothness_threshold_in;</div> -<div class="line"><a name="l00524"></a><span class="lineno"> 524</span> }</div> -<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in)</div> -<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> {</div> -<div class="line"><a name="l00527"></a><span class="lineno"> 527</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = min_segment_size_in;</div> -<div class="line"><a name="l00528"></a><span class="lineno"> 528</span> }</div> -<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in)</div> -<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> {</div> -<div class="line"><a name="l00531"></a><span class="lineno"> 531</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = use_extended_convexity_in;</div> -<div class="line"><a name="l00532"></a><span class="lineno"> 532</span> }</div> -<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in)</div> -<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> {</div> -<div class="line"><a name="l00535"></a><span class="lineno"> 535</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = use_sanity_criterion_in;</div> -<div class="line"><a name="l00536"></a><span class="lineno"> 536</span> }</div> -<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmin(<span class="keywordtype">double</span> zmin_in)</div> -<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> {</div> -<div class="line"><a name="l00539"></a><span class="lineno"> 539</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = zmin_in;</div> -<div class="line"><a name="l00540"></a><span class="lineno"> 540</span> }</div> -<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmax(<span class="keywordtype">double</span> zmax_in)</div> -<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> {</div> -<div class="line"><a name="l00543"></a><span class="lineno"> 543</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = zmax_in;</div> -<div class="line"><a name="l00544"></a><span class="lineno"> 544</span> }</div> -<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_th_points(<span class="keywordtype">int</span> th_points_in)</div> -<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> {</div> -<div class="line"><a name="l00547"></a><span class="lineno"> 547</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = th_points_in;</div> -<div class="line"><a name="l00548"></a><span class="lineno"> 548</span> }</div> -<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_disable_transform()</div> -<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> {</div> -<div class="line"><a name="l00551"></a><span class="lineno"> 551</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a>;</div> -<div class="line"><a name="l00552"></a><span class="lineno"> 552</span> }</div> -<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_voxel_resolution()</div> -<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> {</div> -<div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>;</div> -<div class="line"><a name="l00556"></a><span class="lineno"> 556</span> }</div> -<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_seed_resolution()</div> -<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> {</div> -<div class="line"><a name="l00559"></a><span class="lineno"> 559</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>;</div> -<div class="line"><a name="l00560"></a><span class="lineno"> 560</span> }</div> -<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_color_importance()</div> -<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> {</div> -<div class="line"><a name="l00563"></a><span class="lineno"> 563</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a>;</div> -<div class="line"><a name="l00564"></a><span class="lineno"> 564</span> }</div> -<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_spatial_importance()</div> -<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> {</div> -<div class="line"><a name="l00567"></a><span class="lineno"> 567</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a>;</div> -<div class="line"><a name="l00568"></a><span class="lineno"> 568</span> }</div> -<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_normal_importance()</div> -<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> {</div> -<div class="line"><a name="l00571"></a><span class="lineno"> 571</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a>;</div> -<div class="line"><a name="l00572"></a><span class="lineno"> 572</span> }</div> -<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_concavity_tolerance_threshold()</div> -<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> {</div> -<div class="line"><a name="l00575"></a><span class="lineno"> 575</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a>;</div> -<div class="line"><a name="l00576"></a><span class="lineno"> 576</span> }</div> -<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="keywordtype">double</span> TableTop_Object_Detection::TableTop_Object_Detection::TableTop_Object_Detection::get_smoothness_threshold()</div> -<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> {</div> -<div class="line"><a name="l00579"></a><span class="lineno"> 579</span>  <span class="keywordflow">return</span> this->smoothness_threshold;</div> -<div class="line"><a name="l00580"></a><span class="lineno"> 580</span> }</div> -<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="keywordtype">int</span> TableTop_Object_Detection::TableTop_Object_Detection::get_min_segment_size()</div> -<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> {</div> -<div class="line"><a name="l00583"></a><span class="lineno"> 583</span>  <span class="keywordflow">return</span> this->min_segment_size;</div> -<div class="line"><a name="l00584"></a><span class="lineno"> 584</span> }</div> -<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_extended_convexity()</div> -<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> {</div> -<div class="line"><a name="l00587"></a><span class="lineno"> 587</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a>;</div> -<div class="line"><a name="l00588"></a><span class="lineno"> 588</span> }</div> -<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_sanity_criterion()</div> -<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> {</div> -<div class="line"><a name="l00591"></a><span class="lineno"> 591</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a>;</div> -<div class="line"><a name="l00592"></a><span class="lineno"> 592</span> }</div> -<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmin()</div> -<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> {</div> -<div class="line"><a name="l00595"></a><span class="lineno"> 595</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a>;</div> -<div class="line"><a name="l00596"></a><span class="lineno"> 596</span> }</div> -<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmax()</div> -<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> {</div> -<div class="line"><a name="l00599"></a><span class="lineno"> 599</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a>;</div> -<div class="line"><a name="l00600"></a><span class="lineno"> 600</span> }</div> -<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="keywordtype">int</span> TableTop_Object_Detection::get_th_points()</div> -<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> {</div> -<div class="line"><a name="l00603"></a><span class="lineno"> 603</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a>;</div> -<div class="line"><a name="l00604"></a><span class="lineno"> 604</span> }</div> +<div class="line"><a name="l00517"></a><span class="lineno"> 517</span> </div> +<div class="line"><a name="l00518"></a><span class="lineno"> 518</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in)</div> +<div class="line"><a name="l00519"></a><span class="lineno"> 519</span> {</div> +<div class="line"><a name="l00520"></a><span class="lineno"> 520</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a> = disable_transform_in;</div> +<div class="line"><a name="l00521"></a><span class="lineno"> 521</span> }</div> +<div class="line"><a name="l00522"></a><span class="lineno"> 522</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in)</div> +<div class="line"><a name="l00523"></a><span class="lineno"> 523</span> {</div> +<div class="line"><a name="l00524"></a><span class="lineno"> 524</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a> = voxel_resolution_in;</div> +<div class="line"><a name="l00525"></a><span class="lineno"> 525</span> }</div> +<div class="line"><a name="l00526"></a><span class="lineno"> 526</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in)</div> +<div class="line"><a name="l00527"></a><span class="lineno"> 527</span> {</div> +<div class="line"><a name="l00528"></a><span class="lineno"> 528</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a> = seed_resolution_in;</div> +<div class="line"><a name="l00529"></a><span class="lineno"> 529</span> }</div> +<div class="line"><a name="l00530"></a><span class="lineno"> 530</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_color_importance(<span class="keywordtype">double</span> color_importance_in)</div> +<div class="line"><a name="l00531"></a><span class="lineno"> 531</span> {</div> +<div class="line"><a name="l00532"></a><span class="lineno"> 532</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a> = color_importance_in;</div> +<div class="line"><a name="l00533"></a><span class="lineno"> 533</span> }</div> +<div class="line"><a name="l00534"></a><span class="lineno"> 534</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in)</div> +<div class="line"><a name="l00535"></a><span class="lineno"> 535</span> {</div> +<div class="line"><a name="l00536"></a><span class="lineno"> 536</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a> = spatial_importance_in;</div> +<div class="line"><a name="l00537"></a><span class="lineno"> 537</span> }</div> +<div class="line"><a name="l00538"></a><span class="lineno"> 538</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_normal_importance(<span class="keywordtype">double</span> normal_importance_in)</div> +<div class="line"><a name="l00539"></a><span class="lineno"> 539</span> {</div> +<div class="line"><a name="l00540"></a><span class="lineno"> 540</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a> = normal_importance_in;</div> +<div class="line"><a name="l00541"></a><span class="lineno"> 541</span> }</div> +<div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in)</div> +<div class="line"><a name="l00543"></a><span class="lineno"> 543</span> {</div> +<div class="line"><a name="l00544"></a><span class="lineno"> 544</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a> = concavity_tolerance_threshold_in;</div> +<div class="line"><a name="l00545"></a><span class="lineno"> 545</span> }</div> +<div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in)</div> +<div class="line"><a name="l00547"></a><span class="lineno"> 547</span> {</div> +<div class="line"><a name="l00548"></a><span class="lineno"> 548</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">smoothness_threshold</a> = smoothness_threshold_in;</div> +<div class="line"><a name="l00549"></a><span class="lineno"> 549</span> }</div> +<div class="line"><a name="l00550"></a><span class="lineno"> 550</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in)</div> +<div class="line"><a name="l00551"></a><span class="lineno"> 551</span> {</div> +<div class="line"><a name="l00552"></a><span class="lineno"> 552</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">min_segment_size</a> = min_segment_size_in;</div> +<div class="line"><a name="l00553"></a><span class="lineno"> 553</span> }</div> +<div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in)</div> +<div class="line"><a name="l00555"></a><span class="lineno"> 555</span> {</div> +<div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a> = use_extended_convexity_in;</div> +<div class="line"><a name="l00557"></a><span class="lineno"> 557</span> }</div> +<div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in)</div> +<div class="line"><a name="l00559"></a><span class="lineno"> 559</span> {</div> +<div class="line"><a name="l00560"></a><span class="lineno"> 560</span>  this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a> = use_sanity_criterion_in;</div> +<div class="line"><a name="l00561"></a><span class="lineno"> 561</span> }</div> +<div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmin(<span class="keywordtype">double</span> zmin_in)</div> +<div class="line"><a name="l00563"></a><span class="lineno"> 563</span> {</div> +<div class="line"><a name="l00564"></a><span class="lineno"> 564</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a> = zmin_in;</div> +<div class="line"><a name="l00565"></a><span class="lineno"> 565</span> }</div> +<div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_zmax(<span class="keywordtype">double</span> zmax_in)</div> +<div class="line"><a name="l00567"></a><span class="lineno"> 567</span> {</div> +<div class="line"><a name="l00568"></a><span class="lineno"> 568</span>  this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a> = zmax_in;</div> +<div class="line"><a name="l00569"></a><span class="lineno"> 569</span> }</div> +<div class="line"><a name="l00570"></a><span class="lineno"> 570</span> <span class="keywordtype">void</span> TableTop_Object_Detection::set_th_points(<span class="keywordtype">int</span> th_points_in)</div> +<div class="line"><a name="l00571"></a><span class="lineno"> 571</span> {</div> +<div class="line"><a name="l00572"></a><span class="lineno"> 572</span>  this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a> = th_points_in;</div> +<div class="line"><a name="l00573"></a><span class="lineno"> 573</span> }</div> +<div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_disable_transform()</div> +<div class="line"><a name="l00575"></a><span class="lineno"> 575</span> {</div> +<div class="line"><a name="l00576"></a><span class="lineno"> 576</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">disable_transform</a>;</div> +<div class="line"><a name="l00577"></a><span class="lineno"> 577</span> }</div> +<div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_voxel_resolution()</div> +<div class="line"><a name="l00579"></a><span class="lineno"> 579</span> {</div> +<div class="line"><a name="l00580"></a><span class="lineno"> 580</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">voxel_resolution</a>;</div> +<div class="line"><a name="l00581"></a><span class="lineno"> 581</span> }</div> +<div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_seed_resolution()</div> +<div class="line"><a name="l00583"></a><span class="lineno"> 583</span> {</div> +<div class="line"><a name="l00584"></a><span class="lineno"> 584</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">seed_resolution</a>;</div> +<div class="line"><a name="l00585"></a><span class="lineno"> 585</span> }</div> +<div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_color_importance()</div> +<div class="line"><a name="l00587"></a><span class="lineno"> 587</span> {</div> +<div class="line"><a name="l00588"></a><span class="lineno"> 588</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">color_importance</a>;</div> +<div class="line"><a name="l00589"></a><span class="lineno"> 589</span> }</div> +<div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_spatial_importance()</div> +<div class="line"><a name="l00591"></a><span class="lineno"> 591</span> {</div> +<div class="line"><a name="l00592"></a><span class="lineno"> 592</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">spatial_importance</a>;</div> +<div class="line"><a name="l00593"></a><span class="lineno"> 593</span> }</div> +<div class="line"><a name="l00594"></a><span class="lineno"> 594</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_normal_importance()</div> +<div class="line"><a name="l00595"></a><span class="lineno"> 595</span> {</div> +<div class="line"><a name="l00596"></a><span class="lineno"> 596</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">normal_importance</a>;</div> +<div class="line"><a name="l00597"></a><span class="lineno"> 597</span> }</div> +<div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_concavity_tolerance_threshold()</div> +<div class="line"><a name="l00599"></a><span class="lineno"> 599</span> {</div> +<div class="line"><a name="l00600"></a><span class="lineno"> 600</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">concavity_tolerance_threshold</a>;</div> +<div class="line"><a name="l00601"></a><span class="lineno"> 601</span> }</div> +<div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="keywordtype">double</span> TableTop_Object_Detection::TableTop_Object_Detection::TableTop_Object_Detection::get_smoothness_threshold()</div> +<div class="line"><a name="l00603"></a><span class="lineno"> 603</span> {</div> +<div class="line"><a name="l00604"></a><span class="lineno"> 604</span>  <span class="keywordflow">return</span> this->smoothness_threshold;</div> +<div class="line"><a name="l00605"></a><span class="lineno"> 605</span> }</div> +<div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="keywordtype">int</span> TableTop_Object_Detection::TableTop_Object_Detection::get_min_segment_size()</div> +<div class="line"><a name="l00607"></a><span class="lineno"> 607</span> {</div> +<div class="line"><a name="l00608"></a><span class="lineno"> 608</span>  <span class="keywordflow">return</span> this->min_segment_size;</div> +<div class="line"><a name="l00609"></a><span class="lineno"> 609</span> }</div> +<div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_extended_convexity()</div> +<div class="line"><a name="l00611"></a><span class="lineno"> 611</span> {</div> +<div class="line"><a name="l00612"></a><span class="lineno"> 612</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">use_extended_convexity</a>;</div> +<div class="line"><a name="l00613"></a><span class="lineno"> 613</span> }</div> +<div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="keywordtype">bool</span> TableTop_Object_Detection::get_use_sanity_criterion()</div> +<div class="line"><a name="l00615"></a><span class="lineno"> 615</span> {</div> +<div class="line"><a name="l00616"></a><span class="lineno"> 616</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">use_sanity_criterion</a>;</div> +<div class="line"><a name="l00617"></a><span class="lineno"> 617</span> }</div> +<div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmin()</div> +<div class="line"><a name="l00619"></a><span class="lineno"> 619</span> {</div> +<div class="line"><a name="l00620"></a><span class="lineno"> 620</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a>;</div> +<div class="line"><a name="l00621"></a><span class="lineno"> 621</span> }</div> +<div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="keywordtype">double</span> TableTop_Object_Detection::get_zmax()</div> +<div class="line"><a name="l00623"></a><span class="lineno"> 623</span> {</div> +<div class="line"><a name="l00624"></a><span class="lineno"> 624</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a>;</div> +<div class="line"><a name="l00625"></a><span class="lineno"> 625</span> }</div> +<div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="keywordtype">int</span> TableTop_Object_Detection::get_th_points()</div> +<div class="line"><a name="l00627"></a><span class="lineno"> 627</span> {</div> +<div class="line"><a name="l00628"></a><span class="lineno"> 628</span>  <span class="keywordflow">return</span> this-><a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a>;</div> +<div class="line"><a name="l00629"></a><span class="lineno"> 629</span> }</div> <div class="ttc" id="classTableTop__Object__Detection_html_a32d56ea41d136ab3f9f1b9e7a03918da"><div class="ttname"><a href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">TableTop_Object_Detection::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00156">tabletop_object_detection.h:156</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> @@ -660,32 +685,35 @@ <div class="ttc" id="classTableTop__Object__Detection_html_a1c96d6a75564938ee860dadf947d43c0"><div class="ttname"><a href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">TableTop_Object_Detection::ZMIN</a></div><div class="ttdeci">static const double ZMIN</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00112">tabletop_object_detection.h:112</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00056">tabletop_object_detection.h:56</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab7801dcdcbfe422f476cf51d14fedc28"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">TableTop_Object_Detection::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00151">tabletop_object_detection.h:151</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00414">tabletop_object_detection.cpp:414</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00434">tabletop_object_detection.cpp:434</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a75fb88d53b6d2d70fb6f24e0360dcef8"><div class="ttname"><a href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a></div><div class="ttdeci">~TableTop_Object_Detection()</div><div class="ttdoc">class destructor </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00008">tabletop_object_detection.cpp:8</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a836b570f07e3a26eb411dc270db326c4"><div class="ttname"><a href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00155">tabletop_object_detection.h:155</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab9bbf3c9ac5b0564d3dc45d5a3350fe3"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00161">tabletop_object_detection.h:161</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aae7c3acdedfe90a1a78d4ba019d53939"><div class="ttname"><a href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a></div><div class="ttdeci">TableTop_Object_Detection()</div><div class="ttdoc">Class costructor. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00003">tabletop_object_detection.cpp:3</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ab87502c15cc8fe893b98a6c9eac873ee"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a></div><div class="ttdeci">void set_parameters(tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Set all the parameters of the algorithm accordingly to the one given to input. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00028">tabletop_object_detection.cpp:28</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00473">tabletop_object_detection.cpp:473</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00478">tabletop_object_detection.cpp:478</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ac438979dc29d88aea96f30cf652f9294"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">TableTop_Object_Detection::get_input_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZRGBA >::Ptr get_input_cloud()</div><div class="ttdoc">returns input cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00493">tabletop_object_detection.cpp:493</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ab87502c15cc8fe893b98a6c9eac873ee"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a></div><div class="ttdeci">void set_parameters(tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Set all the parameters of the algorithm accordingly to the one given to input. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00042">tabletop_object_detection.cpp:42</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00498">tabletop_object_detection.cpp:498</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00503">tabletop_object_detection.cpp:503</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00057">tabletop_object_detection.h:57</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00388">tabletop_object_detection.cpp:388</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00305">tabletop_object_detection.cpp:305</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00408">tabletop_object_detection.cpp:408</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2bc1fa0f283211f16eef9cfe8656ecc9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">TableTop_Object_Detection::initialized</a></div><div class="ttdeci">bool initialized</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00166">tabletop_object_detection.h:166</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00325">tabletop_object_detection.cpp:325</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a52dc08af2d8170e8606c0d3470e153c3"><div class="ttname"><a href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">TableTop_Object_Detection::COLOR_IMPORTANCE</a></div><div class="ttdeci">static const double COLOR_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00100">tabletop_object_detection.h:100</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00450">tabletop_object_detection.cpp:450</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00470">tabletop_object_detection.cpp:470</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ad70662d12a756512e3257f450e219452"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00148">tabletop_object_detection.h:148</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a8670aeda90393e0a70d7bd2da572a3ac"><div class="ttname"><a href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">TableTop_Object_Detection::MIN_SEGMENT_SIZE</a></div><div class="ttdeci">static const int MIN_SEGMENT_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00107">tabletop_object_detection.h:107</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a30f53150234d3a804c50679ddf6836e3"><div class="ttname"><a href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">TableTop_Object_Detection::NORMAL_IMPORTANCE</a></div><div class="ttdeci">static const double NORMAL_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00102">tabletop_object_detection.h:102</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00488">tabletop_object_detection.cpp:488</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00513">tabletop_object_detection.cpp:513</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a69899eb7a9504e03e75286f437e8da71"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00064">tabletop_object_detection.h:64</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00433">tabletop_object_detection.cpp:433</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00453">tabletop_object_detection.cpp:453</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab4f09a192dca3e49be9b2404739bc1fb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">TableTop_Object_Detection::DISABLE_TRANSFORM</a></div><div class="ttdeci">static const bool DISABLE_TRANSFORM</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00097">tabletop_object_detection.h:97</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a33db99548dd0671a2dfb7dad87099443"><div class="ttname"><a href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">TableTop_Object_Detection::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00146">tabletop_object_detection.h:146</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_af15d61d5586d069969a1860ae222abbe"><div class="ttname"><a href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">TableTop_Object_Detection::SPATIAL_IMPORTANCE</a></div><div class="ttdeci">static const double SPATIAL_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00101">tabletop_object_detection.h:101</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ab18176bb83e188ae71322dd192703a2e"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a></div><div class="ttdeci">void set_default_parameters()</div><div class="ttdoc">Set default parameters to the algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00052">tabletop_object_detection.cpp:52</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_af6f6a38de376991aae5e6bf3ff6d4206"><div class="ttname"><a href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">reset all the publis members reset all the public members. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00030">tabletop_object_detection.cpp:30</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ab18176bb83e188ae71322dd192703a2e"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a></div><div class="ttdeci">void set_default_parameters()</div><div class="ttdoc">Set default parameters to the algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00066">tabletop_object_detection.cpp:66</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00049">tabletop_object_detection.h:49</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a556a200a38147471416607937e039848"><div class="ttname"><a href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">TableTop_Object_Detection::USE_EXTENDED_CONVEXITY</a></div><div class="ttdeci">static const bool USE_EXTENDED_CONVEXITY</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00108">tabletop_object_detection.h:108</a></div></div> @@ -693,32 +721,32 @@ <div class="ttc" id="classTableTop__Object__Detection_html_a25bcdb951230b3354eb57718d133f964"><div class="ttname"><a href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">TableTop_Object_Detection::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00154">tabletop_object_detection.h:154</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ac42ea218190506b3d367406088fde651"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00162">tabletop_object_detection.h:162</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a64c15db6e48996b6de7b98ffc9571c4f"><div class="ttname"><a href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">TableTop_Object_Detection::CONCAVITY_TOLERANCE_THRESHOLD</a></div><div class="ttdeci">static const double CONCAVITY_TOLERANCE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00105">tabletop_object_detection.h:105</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a26381efc3b23b5b2496d08d5db6ed196"><div class="ttname"><a href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a></div><div class="ttdeci">void addSupervoxelConnectionsToViewer(pcl::PointXYZRGBA &supervoxel_center, pcl::PointCloud< pcl::PointXYZRGBA > &adjacent_supervoxel_centers, std::string supervoxel_name, boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">shows supervoxel connections to viewer thorugh poly data shapes </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00079">tabletop_object_detection.cpp:79</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a26381efc3b23b5b2496d08d5db6ed196"><div class="ttname"><a href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a></div><div class="ttdeci">void addSupervoxelConnectionsToViewer(pcl::PointXYZRGBA &supervoxel_center, pcl::PointCloud< pcl::PointXYZRGBA > &adjacent_supervoxel_centers, std::string supervoxel_name, boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">shows supervoxel connections to viewer thorugh poly data shapes </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00093">tabletop_object_detection.cpp:93</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_af00bb688ce3a84cb3bd4edc8fe364d4b"><div class="ttname"><a href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a></div><div class="ttdeci">void detectObjectsOnTable(pcl::PointCloud< pcl::PointXYZRGBA >::Ptr cloud, double zmin, double zmax, pcl::PointIndices::Ptr objectIndices, bool filter_input_cloud)</div><div class="ttdoc">detects objects that stands on a table </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00108">tabletop_object_detection.cpp:108</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_af00bb688ce3a84cb3bd4edc8fe364d4b"><div class="ttname"><a href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a></div><div class="ttdeci">void detectObjectsOnTable(pcl::PointCloud< pcl::PointXYZRGBA >::Ptr cloud, double zmin, double zmax, pcl::PointIndices::Ptr objectIndices, bool filter_input_cloud)</div><div class="ttdoc">detects objects that stands on a table </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00122">tabletop_object_detection.cpp:122</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aca1c3e7181470c613fe2044ca45adeba"><div class="ttname"><a href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00163">tabletop_object_detection.h:163</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a504caa6abf5b6f9fefcbeb557ff7d2e2"><div class="ttname"><a href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">TableTop_Object_Detection::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00158">tabletop_object_detection.h:158</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ac9e955940749a92932c6f07ea57962c4"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">TableTop_Object_Detection::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00149">tabletop_object_detection.h:149</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00048">tabletop_object_detection.h:48</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00483">tabletop_object_detection.cpp:483</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00212">tabletop_object_detection.cpp:212</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00508">tabletop_object_detection.cpp:508</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a97f75cf23b9d5afb48b34054f751830c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">TableTop_Object_Detection::ZMAX</a></div><div class="ttdeci">static const double ZMAX</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00113">tabletop_object_detection.h:113</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a4111f255b57f25cffdc7aa27d73226e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TableTop_Object_Detection::TH_POINTS</a></div><div class="ttdeci">static const int TH_POINTS</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00114">tabletop_object_detection.h:114</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_abe8cbb3004c51aa6ff2260369715c693"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">TableTop_Object_Detection::SMOOTHNESS_THRESHOLD</a></div><div class="ttdeci">static const double SMOOTHNESS_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00106">tabletop_object_detection.h:106</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a9f3dae7482320cff5b5e5f587aa4b2c9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">TableTop_Object_Detection::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00150">tabletop_object_detection.h:150</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00184">tabletop_object_detection.cpp:184</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a1809213d6392f77863d5130a14790954"><div class="ttname"><a href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00147">tabletop_object_detection.h:147</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aebb9e5790be333944c620a88d01f4660"><div class="ttname"><a href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">TableTop_Object_Detection::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00157">tabletop_object_detection.h:157</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00438">tabletop_object_detection.cpp:438</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00458">tabletop_object_detection.cpp:458</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00063">tabletop_object_detection.h:63</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_af919465ec8fa6ab2a26bcee382854db0"><div class="ttname"><a href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">TableTop_Object_Detection::USE_SANITY_CRITERION</a></div><div class="ttdeci">static const bool USE_SANITY_CRITERION</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00109">tabletop_object_detection.h:109</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a832ef2fe70977d729007e61e6ccb770a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">TableTop_Object_Detection::SEED_RESOLUTION</a></div><div class="ttdeci">static const double SEED_RESOLUTION</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00099">tabletop_object_detection.h:99</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/tabletop__object__detection_8h_source.html b/trunk/doc/html/tabletop__object__detection_8h_source.html index 3b354a77c35bfea26530afd4fbeb62b78324a42f..56e209aafe7c540c9dd83a10348ae79d629ce296 100644 --- a/trunk/doc/html/tabletop__object__detection_8h_source.html +++ b/trunk/doc/html/tabletop__object__detection_8h_source.html @@ -111,7 +111,7 @@ <div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html"> 91</a></span> <span class="keyword">class </span><a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div> <div class="line"><a name="l00092"></a><span class="lineno"> 92</span> {</div> <div class="line"><a name="l00093"></a><span class="lineno"> 93</span>  <span class="keyword">protected</span>:</div> -<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>  </div> +<div class="line"><a name="l00094"></a><span class="lineno"> 94</span> </div> <div class="line"><a name="l00095"></a><span class="lineno"> 95</span>  <span class="comment">// -------- Default Parameters --------</span></div> <div class="line"><a name="l00096"></a><span class="lineno"> 96</span>  <span class="comment">// supervoxels parameters </span></div> <div class="line"><a name="l00097"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb"> 97</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">bool</span> <a class="code" href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">DISABLE_TRANSFORM</a> = <span class="keyword">false</span>; </div> @@ -132,7 +132,7 @@ <div class="line"><a name="l00114"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9"> 114</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TH_POINTS</a> = 400; </div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span>  <span class="comment">//-------------------</span></div> <div class="line"><a name="l00116"></a><span class="lineno"> 116</span> </div> -<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  std::vector<Object> filt_objs;</div> +<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>  std::vector<Object> detected_objects;</div> <div class="line"><a name="l00118"></a><span class="lineno"> 118</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud;</div> <div class="line"><a name="l00119"></a><span class="lineno"> 119</span>  pcl::PointCloud<pcl::PointXYZL>::Ptr lccp_labeled_cloud;</div> <div class="line"><a name="l00120"></a><span class="lineno"> 120</span>  std::multimap<uint32_t, uint32_t> supervoxel_adjacency;</div> @@ -164,85 +164,90 @@ <div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3"> 161</a></span>  <span class="keywordtype">double</span> <a class="code" href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">zmin</a>; </div> <div class="line"><a name="l00162"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651"> 162</a></span>  <span class="keywordtype">double</span> <a class="code" href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">zmax</a>; </div> <div class="line"><a name="l00163"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba"> 163</a></span>  <span class="keywordtype">int</span> <a class="code" href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">th_points</a>; </div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">set_default_parameters</a>();</div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span> </div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">set_parameters</a>(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt);</div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span> </div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="keyword">public</span>: </div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span> </div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  <a class="code" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a>();</div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span> </div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <a class="code" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">~TableTop_Object_Detection</a>();</div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span> </div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud,</div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt);</div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span> </div> -<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud);</div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span> </div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>(); </div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span> </div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> +<div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9"> 166</a></span>  <span class="keywordtype">bool</span> <a class="code" href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">initialized</a>; </div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">set_default_parameters</a>();</div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span> </div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">set_parameters</a>(<a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> & opt);</div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span> </div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keyword">public</span>: </div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span> </div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  <a class="code" href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection</a>();</div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span> </div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  <a class="code" href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">~TableTop_Object_Detection</a>();</div> +<div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud,</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> &opt);</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  </div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud);</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">reset</a>();</div> <div class="line"><a name="l00204"></a><span class="lineno"> 204</span> </div> -<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,<span class="keywordtype">bool</span> show_adjacency_map, <span class="keywordtype">bool</span> show_super_voxel_normals);</div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> <a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>(); </div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> <div class="line"><a name="l00212"></a><span class="lineno"> 212</span> </div> -<div class="line"><a name="l00217"></a><span class="lineno"> 217</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer); </div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span> </div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> -<div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> -<div class="line"><a name="l00235"></a><span class="lineno"> 235</span> </div> -<div class="line"><a name="l00238"></a><span class="lineno"> 238</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">get_segmented_objects_simple</a>();</div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer,<span class="keywordtype">bool</span> show_adjacency_map, <span class="keywordtype">bool</span> show_super_voxel_normals);</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span> </div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span> </div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer); </div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> </div> +<div class="line"><a name="l00237"></a><span class="lineno"> 237</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer);</div> +<div class="line"><a name="l00238"></a><span class="lineno"> 238</span> </div> <div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div> -<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> +<div class="line"><a name="l00242"></a><span class="lineno"> 242</span>  std::vector<Object> <a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> <div class="line"><a name="l00243"></a><span class="lineno"> 243</span> </div> -<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">get_labeled_voxel_cloud</a>();</div> +<div class="line"><a name="l00246"></a><span class="lineno"> 246</span>  std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > <a class="code" href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">get_segmented_objects_simple</a>();</div> <div class="line"><a name="l00247"></a><span class="lineno"> 247</span> </div> -<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">get_supervoxel_adjacency</a>();</div> +<div class="line"><a name="l00250"></a><span class="lineno"> 250</span>  <span class="keywordtype">void</span> <a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> <div class="line"><a name="l00251"></a><span class="lineno"> 251</span> </div> -<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">get_supervoxel_clusters</a>();</div> +<div class="line"><a name="l00254"></a><span class="lineno"> 254</span>  pcl::PointCloud<pcl::PointXYZRGBA>::Ptr <a class="code" href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">get_input_cloud</a>();</div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span> </div> -<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">get_sv_normal_cloud</a>();</div> +<div class="line"><a name="l00258"></a><span class="lineno"> 258</span>  pcl::PointCloud<pcl::PointXYZL> <a class="code" href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">get_labeled_voxel_cloud</a>();</div> <div class="line"><a name="l00259"></a><span class="lineno"> 259</span> </div> -<div class="line"><a name="l00260"></a><span class="lineno"> 260</span>  <span class="keywordtype">void</span> set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in);</div> -<div class="line"><a name="l00261"></a><span class="lineno"> 261</span>  <span class="keywordtype">void</span> set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in);</div> -<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordtype">void</span> set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in);</div> -<div class="line"><a name="l00263"></a><span class="lineno"> 263</span>  <span class="keywordtype">void</span> set_color_importance(<span class="keywordtype">double</span> color_importance_in);</div> -<div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  <span class="keywordtype">void</span> set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in);</div> -<div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <span class="keywordtype">void</span> set_normal_importance(<span class="keywordtype">double</span> normal_importance_in);</div> -<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  </div> -<div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <span class="keywordtype">void</span> set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in);</div> -<div class="line"><a name="l00268"></a><span class="lineno"> 268</span>  <span class="keywordtype">void</span> set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in);</div> -<div class="line"><a name="l00269"></a><span class="lineno"> 269</span>  <span class="keywordtype">void</span> set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in);</div> -<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  <span class="keywordtype">void</span> set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in);</div> -<div class="line"><a name="l00271"></a><span class="lineno"> 271</span>  <span class="keywordtype">void</span> set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in);</div> -<div class="line"><a name="l00272"></a><span class="lineno"> 272</span> </div> -<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">void</span> set_zmin(<span class="keywordtype">double</span> zmin_in);</div> -<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordtype">void</span> set_zmax(<span class="keywordtype">double</span> zmax_in);</div> -<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordtype">void</span> set_th_points(<span class="keywordtype">int</span> th_points_in);</div> -<div class="line"><a name="l00276"></a><span class="lineno"> 276</span> </div> -<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordtype">bool</span> get_disable_transform();</div> -<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  <span class="keywordtype">double</span> get_voxel_resolution();</div> -<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordtype">double</span> get_seed_resolution();</div> -<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordtype">double</span> get_color_importance();</div> -<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordtype">double</span> get_spatial_importance();</div> -<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordtype">double</span> get_normal_importance();</div> -<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  </div> -<div class="line"><a name="l00284"></a><span class="lineno"> 284</span>  <span class="keywordtype">double</span> get_concavity_tolerance_threshold();</div> -<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">double</span> get_smoothness_threshold();</div> -<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordtype">int</span> get_min_segment_size();</div> -<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordtype">bool</span> get_use_extended_convexity();</div> -<div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  <span class="keywordtype">bool</span> get_use_sanity_criterion();</div> -<div class="line"><a name="l00289"></a><span class="lineno"> 289</span> </div> -<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordtype">double</span> get_zmin();</div> -<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordtype">double</span> get_zmax();</div> -<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordtype">int</span> get_th_points();</div> -<div class="line"><a name="l00293"></a><span class="lineno"> 293</span> </div> -<div class="line"><a name="l00294"></a><span class="lineno"> 294</span> };</div> -<div class="line"><a name="l00295"></a><span class="lineno"> 295</span> </div> -<div class="line"><a name="l00296"></a><span class="lineno"> 296</span> <span class="preprocessor">#endif </span></div> +<div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  std::multimap<uint32_t, uint32_t> <a class="code" href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">get_supervoxel_adjacency</a>();</div> +<div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div> +<div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  std::map <uint32_t, pcl::Supervoxel<pcl::PointXYZRGBA>::Ptr> <a class="code" href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">get_supervoxel_clusters</a>();</div> +<div class="line"><a name="l00267"></a><span class="lineno"> 267</span> </div> +<div class="line"><a name="l00270"></a><span class="lineno"> 270</span>  pcl::PointCloud<pcl::PointNormal> <a class="code" href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">get_sv_normal_cloud</a>();</div> +<div class="line"><a name="l00271"></a><span class="lineno"> 271</span> </div> +<div class="line"><a name="l00272"></a><span class="lineno"> 272</span>  <span class="keywordtype">void</span> set_disable_transform(<span class="keywordtype">bool</span> disable_transform_in);</div> +<div class="line"><a name="l00273"></a><span class="lineno"> 273</span>  <span class="keywordtype">void</span> set_voxel_resolution(<span class="keywordtype">double</span> voxel_resolution_in);</div> +<div class="line"><a name="l00274"></a><span class="lineno"> 274</span>  <span class="keywordtype">void</span> set_seed_resolution(<span class="keywordtype">double</span> seed_resolution_in);</div> +<div class="line"><a name="l00275"></a><span class="lineno"> 275</span>  <span class="keywordtype">void</span> set_color_importance(<span class="keywordtype">double</span> color_importance_in);</div> +<div class="line"><a name="l00276"></a><span class="lineno"> 276</span>  <span class="keywordtype">void</span> set_spatial_importance(<span class="keywordtype">double</span> spatial_importance_in);</div> +<div class="line"><a name="l00277"></a><span class="lineno"> 277</span>  <span class="keywordtype">void</span> set_normal_importance(<span class="keywordtype">double</span> normal_importance_in);</div> +<div class="line"><a name="l00278"></a><span class="lineno"> 278</span>  </div> +<div class="line"><a name="l00279"></a><span class="lineno"> 279</span>  <span class="keywordtype">void</span> set_concavity_tolerance_threshold(<span class="keywordtype">double</span> concavity_tolerance_threshold_in);</div> +<div class="line"><a name="l00280"></a><span class="lineno"> 280</span>  <span class="keywordtype">void</span> set_smoothness_threshold(<span class="keywordtype">double</span> smoothness_threshold_in);</div> +<div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <span class="keywordtype">void</span> set_min_segment_size(<span class="keywordtype">int</span> min_segment_size_in);</div> +<div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <span class="keywordtype">void</span> set_use_extended_convexity(<span class="keywordtype">bool</span> use_extended_convexity_in);</div> +<div class="line"><a name="l00283"></a><span class="lineno"> 283</span>  <span class="keywordtype">void</span> set_use_sanity_criterion(<span class="keywordtype">bool</span> use_sanity_criterion_in);</div> +<div class="line"><a name="l00284"></a><span class="lineno"> 284</span> </div> +<div class="line"><a name="l00285"></a><span class="lineno"> 285</span>  <span class="keywordtype">void</span> set_zmin(<span class="keywordtype">double</span> zmin_in);</div> +<div class="line"><a name="l00286"></a><span class="lineno"> 286</span>  <span class="keywordtype">void</span> set_zmax(<span class="keywordtype">double</span> zmax_in);</div> +<div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  <span class="keywordtype">void</span> set_th_points(<span class="keywordtype">int</span> th_points_in);</div> +<div class="line"><a name="l00288"></a><span class="lineno"> 288</span> </div> +<div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  <span class="keywordtype">bool</span> get_disable_transform();</div> +<div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  <span class="keywordtype">double</span> get_voxel_resolution();</div> +<div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  <span class="keywordtype">double</span> get_seed_resolution();</div> +<div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  <span class="keywordtype">double</span> get_color_importance();</div> +<div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  <span class="keywordtype">double</span> get_spatial_importance();</div> +<div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  <span class="keywordtype">double</span> get_normal_importance();</div> +<div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  </div> +<div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  <span class="keywordtype">double</span> get_concavity_tolerance_threshold();</div> +<div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  <span class="keywordtype">double</span> get_smoothness_threshold();</div> +<div class="line"><a name="l00298"></a><span class="lineno"> 298</span>  <span class="keywordtype">int</span> get_min_segment_size();</div> +<div class="line"><a name="l00299"></a><span class="lineno"> 299</span>  <span class="keywordtype">bool</span> get_use_extended_convexity();</div> +<div class="line"><a name="l00300"></a><span class="lineno"> 300</span>  <span class="keywordtype">bool</span> get_use_sanity_criterion();</div> +<div class="line"><a name="l00301"></a><span class="lineno"> 301</span> </div> +<div class="line"><a name="l00302"></a><span class="lineno"> 302</span>  <span class="keywordtype">double</span> get_zmin();</div> +<div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <span class="keywordtype">double</span> get_zmax();</div> +<div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <span class="keywordtype">int</span> get_th_points();</div> +<div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div> +<div class="line"><a name="l00306"></a><span class="lineno"> 306</span> };</div> +<div class="line"><a name="l00307"></a><span class="lineno"> 307</span> </div> +<div class="line"><a name="l00308"></a><span class="lineno"> 308</span> <span class="preprocessor">#endif </span></div> <div class="ttc" id="classTableTop__Object__Detection_html_a32d56ea41d136ab3f9f1b9e7a03918da"><div class="ttname"><a href="classTableTop__Object__Detection.html#a32d56ea41d136ab3f9f1b9e7a03918da">TableTop_Object_Detection::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00156">tabletop_object_detection.h:156</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> @@ -250,33 +255,36 @@ <div class="ttc" id="classTableTop__Object__Detection_html_a1c96d6a75564938ee860dadf947d43c0"><div class="ttname"><a href="classTableTop__Object__Detection.html#a1c96d6a75564938ee860dadf947d43c0">TableTop_Object_Detection::ZMIN</a></div><div class="ttdeci">static const double ZMIN</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00112">tabletop_object_detection.h:112</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00056">tabletop_object_detection.h:56</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab7801dcdcbfe422f476cf51d14fedc28"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab7801dcdcbfe422f476cf51d14fedc28">TableTop_Object_Detection::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00151">tabletop_object_detection.h:151</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00414">tabletop_object_detection.cpp:414</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00434">tabletop_object_detection.cpp:434</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a75fb88d53b6d2d70fb6f24e0360dcef8"><div class="ttname"><a href="classTableTop__Object__Detection.html#a75fb88d53b6d2d70fb6f24e0360dcef8">TableTop_Object_Detection::~TableTop_Object_Detection</a></div><div class="ttdeci">~TableTop_Object_Detection()</div><div class="ttdoc">class destructor </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00008">tabletop_object_detection.cpp:8</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a836b570f07e3a26eb411dc270db326c4"><div class="ttname"><a href="classTableTop__Object__Detection.html#a836b570f07e3a26eb411dc270db326c4">TableTop_Object_Detection::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00155">tabletop_object_detection.h:155</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab9bbf3c9ac5b0564d3dc45d5a3350fe3"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab9bbf3c9ac5b0564d3dc45d5a3350fe3">TableTop_Object_Detection::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00161">tabletop_object_detection.h:161</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aae7c3acdedfe90a1a78d4ba019d53939"><div class="ttname"><a href="classTableTop__Object__Detection.html#aae7c3acdedfe90a1a78d4ba019d53939">TableTop_Object_Detection::TableTop_Object_Detection</a></div><div class="ttdeci">TableTop_Object_Detection()</div><div class="ttdoc">Class costructor. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00003">tabletop_object_detection.cpp:3</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ab87502c15cc8fe893b98a6c9eac873ee"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a></div><div class="ttdeci">void set_parameters(tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Set all the parameters of the algorithm accordingly to the one given to input. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00028">tabletop_object_detection.cpp:28</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00473">tabletop_object_detection.cpp:473</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00478">tabletop_object_detection.cpp:478</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ac438979dc29d88aea96f30cf652f9294"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac438979dc29d88aea96f30cf652f9294">TableTop_Object_Detection::get_input_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZRGBA >::Ptr get_input_cloud()</div><div class="ttdoc">returns input cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00493">tabletop_object_detection.cpp:493</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ab87502c15cc8fe893b98a6c9eac873ee"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab87502c15cc8fe893b98a6c9eac873ee">TableTop_Object_Detection::set_parameters</a></div><div class="ttdeci">void set_parameters(tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Set all the parameters of the algorithm accordingly to the one given to input. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00042">tabletop_object_detection.cpp:42</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a48985d7b12316ccecbd85c7e09f1e6af"><div class="ttname"><a href="classTableTop__Object__Detection.html#a48985d7b12316ccecbd85c7e09f1e6af">TableTop_Object_Detection::get_labeled_voxel_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointXYZL > get_labeled_voxel_cloud()</div><div class="ttdoc">returns labeld voxel cloud </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00498">tabletop_object_detection.cpp:498</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2d6ea56e8d89a278a4640ca827c9da4d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2d6ea56e8d89a278a4640ca827c9da4d">TableTop_Object_Detection::get_supervoxel_adjacency</a></div><div class="ttdeci">std::multimap< uint32_t, uint32_t > get_supervoxel_adjacency()</div><div class="ttdoc">returns supervoxel_adjacency map </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00503">tabletop_object_detection.cpp:503</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00057">tabletop_object_detection.h:57</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00388">tabletop_object_detection.cpp:388</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00305">tabletop_object_detection.cpp:305</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00408">tabletop_object_detection.cpp:408</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a2bc1fa0f283211f16eef9cfe8656ecc9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a2bc1fa0f283211f16eef9cfe8656ecc9">TableTop_Object_Detection::initialized</a></div><div class="ttdeci">bool initialized</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00166">tabletop_object_detection.h:166</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00325">tabletop_object_detection.cpp:325</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a52dc08af2d8170e8606c0d3470e153c3"><div class="ttname"><a href="classTableTop__Object__Detection.html#a52dc08af2d8170e8606c0d3470e153c3">TableTop_Object_Detection::COLOR_IMPORTANCE</a></div><div class="ttdeci">static const double COLOR_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00100">tabletop_object_detection.h:100</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00450">tabletop_object_detection.cpp:450</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00470">tabletop_object_detection.cpp:470</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ad70662d12a756512e3257f450e219452"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad70662d12a756512e3257f450e219452">TableTop_Object_Detection::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00148">tabletop_object_detection.h:148</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a8670aeda90393e0a70d7bd2da572a3ac"><div class="ttname"><a href="classTableTop__Object__Detection.html#a8670aeda90393e0a70d7bd2da572a3ac">TableTop_Object_Detection::MIN_SEGMENT_SIZE</a></div><div class="ttdeci">static const int MIN_SEGMENT_SIZE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00107">tabletop_object_detection.h:107</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a30f53150234d3a804c50679ddf6836e3"><div class="ttname"><a href="classTableTop__Object__Detection.html#a30f53150234d3a804c50679ddf6836e3">TableTop_Object_Detection::NORMAL_IMPORTANCE</a></div><div class="ttdeci">static const double NORMAL_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00102">tabletop_object_detection.h:102</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00488">tabletop_object_detection.cpp:488</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a7f4100b194f701841e3fe565a613415c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a7f4100b194f701841e3fe565a613415c">TableTop_Object_Detection::get_sv_normal_cloud</a></div><div class="ttdeci">pcl::PointCloud< pcl::PointNormal > get_sv_normal_cloud()</div><div class="ttdoc">returns normals point cloud of the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00513">tabletop_object_detection.cpp:513</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a69899eb7a9504e03e75286f437e8da71"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a69899eb7a9504e03e75286f437e8da71">tableTop_object_detection_parameters::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00064">tabletop_object_detection.h:64</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> <div class="ttc" id="structObject_html"><div class="ttname"><a href="structObject.html">Object</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00035">tabletop_object_detection.h:35</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00433">tabletop_object_detection.cpp:433</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00453">tabletop_object_detection.cpp:453</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ab4f09a192dca3e49be9b2404739bc1fb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab4f09a192dca3e49be9b2404739bc1fb">TableTop_Object_Detection::DISABLE_TRANSFORM</a></div><div class="ttdeci">static const bool DISABLE_TRANSFORM</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00097">tabletop_object_detection.h:97</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a33db99548dd0671a2dfb7dad87099443"><div class="ttname"><a href="classTableTop__Object__Detection.html#a33db99548dd0671a2dfb7dad87099443">TableTop_Object_Detection::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00146">tabletop_object_detection.h:146</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_af15d61d5586d069969a1860ae222abbe"><div class="ttname"><a href="classTableTop__Object__Detection.html#af15d61d5586d069969a1860ae222abbe">TableTop_Object_Detection::SPATIAL_IMPORTANCE</a></div><div class="ttdeci">static const double SPATIAL_IMPORTANCE</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00101">tabletop_object_detection.h:101</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ab18176bb83e188ae71322dd192703a2e"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a></div><div class="ttdeci">void set_default_parameters()</div><div class="ttdoc">Set default parameters to the algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00052">tabletop_object_detection.cpp:52</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_af6f6a38de376991aae5e6bf3ff6d4206"><div class="ttname"><a href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">reset all the publis members reset all the public members. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00030">tabletop_object_detection.cpp:30</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ab18176bb83e188ae71322dd192703a2e"><div class="ttname"><a href="classTableTop__Object__Detection.html#ab18176bb83e188ae71322dd192703a2e">TableTop_Object_Detection::set_default_parameters</a></div><div class="ttdeci">void set_default_parameters()</div><div class="ttdoc">Set default parameters to the algorithm. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00066">tabletop_object_detection.cpp:66</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00049">tabletop_object_detection.h:49</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a556a200a38147471416607937e039848"><div class="ttname"><a href="classTableTop__Object__Detection.html#a556a200a38147471416607937e039848">TableTop_Object_Detection::USE_EXTENDED_CONVEXITY</a></div><div class="ttdeci">static const bool USE_EXTENDED_CONVEXITY</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00108">tabletop_object_detection.h:108</a></div></div> @@ -284,33 +292,33 @@ <div class="ttc" id="classTableTop__Object__Detection_html_a25bcdb951230b3354eb57718d133f964"><div class="ttname"><a href="classTableTop__Object__Detection.html#a25bcdb951230b3354eb57718d133f964">TableTop_Object_Detection::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00154">tabletop_object_detection.h:154</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ac42ea218190506b3d367406088fde651"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac42ea218190506b3d367406088fde651">TableTop_Object_Detection::zmax</a></div><div class="ttdeci">double zmax</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00162">tabletop_object_detection.h:162</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a64c15db6e48996b6de7b98ffc9571c4f"><div class="ttname"><a href="classTableTop__Object__Detection.html#a64c15db6e48996b6de7b98ffc9571c4f">TableTop_Object_Detection::CONCAVITY_TOLERANCE_THRESHOLD</a></div><div class="ttdeci">static const double CONCAVITY_TOLERANCE_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00105">tabletop_object_detection.h:105</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a26381efc3b23b5b2496d08d5db6ed196"><div class="ttname"><a href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a></div><div class="ttdeci">void addSupervoxelConnectionsToViewer(pcl::PointXYZRGBA &supervoxel_center, pcl::PointCloud< pcl::PointXYZRGBA > &adjacent_supervoxel_centers, std::string supervoxel_name, boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">shows supervoxel connections to viewer thorugh poly data shapes </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00079">tabletop_object_detection.cpp:79</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a26381efc3b23b5b2496d08d5db6ed196"><div class="ttname"><a href="classTableTop__Object__Detection.html#a26381efc3b23b5b2496d08d5db6ed196">TableTop_Object_Detection::addSupervoxelConnectionsToViewer</a></div><div class="ttdeci">void addSupervoxelConnectionsToViewer(pcl::PointXYZRGBA &supervoxel_center, pcl::PointCloud< pcl::PointXYZRGBA > &adjacent_supervoxel_centers, std::string supervoxel_name, boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">shows supervoxel connections to viewer thorugh poly data shapes </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00093">tabletop_object_detection.cpp:93</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_af00bb688ce3a84cb3bd4edc8fe364d4b"><div class="ttname"><a href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a></div><div class="ttdeci">void detectObjectsOnTable(pcl::PointCloud< pcl::PointXYZRGBA >::Ptr cloud, double zmin, double zmax, pcl::PointIndices::Ptr objectIndices, bool filter_input_cloud)</div><div class="ttdoc">detects objects that stands on a table </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00108">tabletop_object_detection.cpp:108</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_af00bb688ce3a84cb3bd4edc8fe364d4b"><div class="ttname"><a href="classTableTop__Object__Detection.html#af00bb688ce3a84cb3bd4edc8fe364d4b">TableTop_Object_Detection::detectObjectsOnTable</a></div><div class="ttdeci">void detectObjectsOnTable(pcl::PointCloud< pcl::PointXYZRGBA >::Ptr cloud, double zmin, double zmax, pcl::PointIndices::Ptr objectIndices, bool filter_input_cloud)</div><div class="ttdoc">detects objects that stands on a table </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00122">tabletop_object_detection.cpp:122</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aca1c3e7181470c613fe2044ca45adeba"><div class="ttname"><a href="classTableTop__Object__Detection.html#aca1c3e7181470c613fe2044ca45adeba">TableTop_Object_Detection::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00163">tabletop_object_detection.h:163</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a504caa6abf5b6f9fefcbeb557ff7d2e2"><div class="ttname"><a href="classTableTop__Object__Detection.html#a504caa6abf5b6f9fefcbeb557ff7d2e2">TableTop_Object_Detection::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00158">tabletop_object_detection.h:158</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_ac9e955940749a92932c6f07ea57962c4"><div class="ttname"><a href="classTableTop__Object__Detection.html#ac9e955940749a92932c6f07ea57962c4">TableTop_Object_Detection::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00149">tabletop_object_detection.h:149</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html"><div class="ttname"><a href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00091">tabletop_object_detection.h:91</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00048">tabletop_object_detection.h:48</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00483">tabletop_object_detection.cpp:483</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00212">tabletop_object_detection.cpp:212</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe94e4ef82ab5c9474853a97f3bc0d11"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe94e4ef82ab5c9474853a97f3bc0d11">TableTop_Object_Detection::get_supervoxel_clusters</a></div><div class="ttdeci">std::map< uint32_t, pcl::Supervoxel< pcl::PointXYZRGBA >::Ptr > get_supervoxel_clusters()</div><div class="ttdoc">returns supervoxel_clusters </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00508">tabletop_object_detection.cpp:508</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a97f75cf23b9d5afb48b34054f751830c"><div class="ttname"><a href="classTableTop__Object__Detection.html#a97f75cf23b9d5afb48b34054f751830c">TableTop_Object_Detection::ZMAX</a></div><div class="ttdeci">static const double ZMAX</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00113">tabletop_object_detection.h:113</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a4111f255b57f25cffdc7aa27d73226e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a4111f255b57f25cffdc7aa27d73226e9">TableTop_Object_Detection::TH_POINTS</a></div><div class="ttdeci">static const int TH_POINTS</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00114">tabletop_object_detection.h:114</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_abe8cbb3004c51aa6ff2260369715c693"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe8cbb3004c51aa6ff2260369715c693">TableTop_Object_Detection::SMOOTHNESS_THRESHOLD</a></div><div class="ttdeci">static const double SMOOTHNESS_THRESHOLD</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00106">tabletop_object_detection.h:106</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a9f3dae7482320cff5b5e5f587aa4b2c9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a9f3dae7482320cff5b5e5f587aa4b2c9">TableTop_Object_Detection::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00150">tabletop_object_detection.h:150</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00184">tabletop_object_detection.cpp:184</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a1809213d6392f77863d5130a14790954"><div class="ttname"><a href="classTableTop__Object__Detection.html#a1809213d6392f77863d5130a14790954">TableTop_Object_Detection::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00147">tabletop_object_detection.h:147</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_aebb9e5790be333944c620a88d01f4660"><div class="ttname"><a href="classTableTop__Object__Detection.html#aebb9e5790be333944c620a88d01f4660">TableTop_Object_Detection::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00157">tabletop_object_detection.h:157</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00438">tabletop_object_detection.cpp:438</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a3225e48172e84101b8ae82a8c9dd08dd"><div class="ttname"><a href="classTableTop__Object__Detection.html#a3225e48172e84101b8ae82a8c9dd08dd">TableTop_Object_Detection::get_segmented_objects_simple</a></div><div class="ttdeci">std::vector< pcl::PointCloud< pcl::PointXYZRGBA > > get_segmented_objects_simple()</div><div class="ttdoc">Get the detected objects as a vector of point clouds. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00458">tabletop_object_detection.cpp:458</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00063">tabletop_object_detection.h:63</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_af919465ec8fa6ab2a26bcee382854db0"><div class="ttname"><a href="classTableTop__Object__Detection.html#af919465ec8fa6ab2a26bcee382854db0">TableTop_Object_Detection::USE_SANITY_CRITERION</a></div><div class="ttdeci">static const bool USE_SANITY_CRITERION</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00109">tabletop_object_detection.h:109</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a832ef2fe70977d729007e61e6ccb770a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a832ef2fe70977d729007e61e6ccb770a">TableTop_Object_Detection::SEED_RESOLUTION</a></div><div class="ttdeci">static const double SEED_RESOLUTION</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00099">tabletop_object_detection.h:99</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:56 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html b/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html index e62aadf58b7d72bb6999905954428bd924456be1..fefc60b0bb35c10e3e33688e809b43260fbcd3a8 100644 --- a/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html +++ b/trunk/doc/html/tabletop__object__detection__test_8cpp_source.html @@ -99,8 +99,8 @@ <div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  }</div> <div class="line"><a name="l00072"></a><span class="lineno"> 72</span> </div> <div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  <span class="comment">// parameters for the LCCP segmentation</span></div> -<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a> segLCCP;</div> -<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt = segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>();</div> +<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  <a class="code" href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a> seg;</div> +<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  <a class="code" href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a> opt = seg.<a class="code" href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">get_default_parameters</a>();</div> <div class="line"><a name="l00076"></a><span class="lineno"> 76</span> </div> <div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  <span class="comment">// ------------------- parsing the inputs ---------------------------- </span></div> <div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  <span class="comment">//--------------------------------------------------------------------</span></div> @@ -133,11 +133,11 @@ <div class="line"><a name="l00105"></a><span class="lineno"> 105</span>  }</div> <div class="line"><a name="l00106"></a><span class="lineno"> 106</span>  <span class="comment">//----------------------------------------</span></div> <div class="line"><a name="l00107"></a><span class="lineno"> 107</span>  <span class="comment">//TableTop_Object_Detection segLCCP;</span></div> -<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  std::vector<Object> seg_objs; <span class="comment">//("seg_objs" stands for "filtered objects") </span></div> -<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(*cloud,opt);</div> -<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> -<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> -<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  seg_objs = segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> +<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>  std::vector<Object> seg_objs; <span class="comment">//("seg_objs" stands for "segmented objects") </span></div> +<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">init</a>(*cloud,opt);</div> +<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">print_parameters</a>();</div> +<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">segment</a>();</div> +<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>  seg_objs = seg.<a class="code" href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">get_segmented_objects</a>();</div> <div class="line"><a name="l00113"></a><span class="lineno"> 113</span>  std::cout << <span class="stringliteral">"\nDetected "</span> << seg_objs.size() << <span class="stringliteral">" objects.\n\n"</span>;</div> <div class="line"><a name="l00114"></a><span class="lineno"> 114</span>  <span class="comment">//----------------------------------------</span></div> <div class="line"><a name="l00115"></a><span class="lineno"> 115</span> </div> @@ -148,143 +148,145 @@ <div class="line"><a name="l00121"></a><span class="lineno"> 121</span>  <span class="comment">// show super voxels with normals and adiacency map </span></div> <div class="line"><a name="l00122"></a><span class="lineno"> 122</span>  <span class="keywordtype">bool</span> show_adjacency_map = <span class="keyword">true</span>;</div> <div class="line"><a name="l00123"></a><span class="lineno"> 123</span>  <span class="keywordtype">bool</span> show_super_voxel_normals = <span class="keyword">true</span>;</div> -<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(viewer,show_adjacency_map,show_super_voxel_normals); </div> +<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">show_super_voxels</a>(viewer,show_adjacency_map,show_super_voxel_normals); </div> <div class="line"><a name="l00125"></a><span class="lineno"> 125</span>  </div> <div class="line"><a name="l00126"></a><span class="lineno"> 126</span>  std::cout << <span class="stringliteral">"Press 'n' to show the segmented objects\n"</span>;</div> <div class="line"><a name="l00127"></a><span class="lineno"> 127</span>  <span class="keywordflow">while</span> (!viewer->wasStopped () && !pressed) <span class="comment">// the pressed variable is just usfull only for this first while (bad programming)</span></div> <div class="line"><a name="l00128"></a><span class="lineno"> 128</span>  viewer->spinOnce (100);</div> -<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> +<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> <div class="line"><a name="l00130"></a><span class="lineno"> 130</span> </div> <div class="line"><a name="l00131"></a><span class="lineno"> 131</span>  <span class="comment">// show the segmented objects, the result of the segmentation</span></div> <div class="line"><a name="l00132"></a><span class="lineno"> 132</span>  std::cout << <span class="stringliteral">"\nClose the visualzier to go to the next step\n"</span>;</div> -<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(viewer);</div> +<div class="line"><a name="l00133"></a><span class="lineno"> 133</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">show_segmented_objects</a>(viewer);</div> <div class="line"><a name="l00134"></a><span class="lineno"> 134</span>  <span class="keywordflow">while</span> (!viewer->wasStopped ()) <span class="comment">// the pressed variable is just usfull only for this first while (bad programming)</span></div> <div class="line"><a name="l00135"></a><span class="lineno"> 135</span>  viewer->spinOnce (100);</div> -<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  segLCCP.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> +<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">clean_viewer</a>(viewer);</div> <div class="line"><a name="l00137"></a><span class="lineno"> 137</span> </div> -<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  <span class="keywordflow">if</span>(cloud->isOrganized())<span class="comment">//if the point cloud is organized we can work with the RGB image</span></div> -<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>  {</div> -<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="comment">// recover the RGB IMAGE from the point cloud </span></div> -<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  cv::Mat img_orignal(480, 640, CV_8UC3); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> -<div class="line"><a name="l00142"></a><span class="lineno"> 142</span> </div> -<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> row = 0; row < img_orignal.rows; ++row)</div> -<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>  {</div> -<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c = 0; c < img_orignal.cols; ++c)</div> -<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  { </div> -<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  </div> -<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  pcl::PointXYZRGBA point = (*cloud)(c,row); <span class="comment">//note: there is a transformation in the reference frame of the pclò and the image!!!!!!!!!!!!!!!!</span></div> -<div class="line"><a name="l00149"></a><span class="lineno"> 149</span> </div> -<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  uint8_t r = (uint8_t)point.r;</div> -<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>  uint8_t g = (uint8_t)point.g; </div> -<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  uint8_t b = (uint8_t)point.b; </div> -<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  </div> -<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  cv::Vec3b color;<span class="comment">//vector of colors </span></div> -<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  color.val[0] = b;</div> -<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  color.val[1] = g;</div> -<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  color.val[2] = r;</div> -<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  img_orignal.at<cv::Vec3b>(row,c) = color;</div> -<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  }</div> -<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  }</div> -<div class="line"><a name="l00161"></a><span class="lineno"> 161</span> </div> -<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  cv::namedWindow(<span class="stringliteral">"Original"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> -<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>  cv::imshow(<span class="stringliteral">"Original"</span>, img_orignal); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> -<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  std::cout << <span class="stringliteral">"You are now viewing the RGB image (recovered by the point cloud)."</span></div> -<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  << <span class="stringliteral">" Press whatever key to go further."</span>;</div> -<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  cv::waitKey(0);</div> -<div class="line"><a name="l00167"></a><span class="lineno"> 167</span> </div> -<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  <span class="comment">// displaying in the RGB image what are the pixels of the rgb image related to the segmented objects</span></div> -<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>  std::cout << <span class="stringliteral">"\nYou are now visualizing the results of the segmentation in the 2D rgb image."</span></div> -<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  << <span class="stringliteral">" Press right arrow to visualize the next object, the left one to visualize the previous one, and ESC to exit.\n"</span>; </div> -<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  </div> -<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  <span class="comment">// to retireve the points in the RGB image we have to use a KdTree to get the points of the object</span></div> -<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  <span class="comment">// in the input cloud </span></div> -<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  pcl::KdTreeFLANN<pcl::PointXYZRGBA> kdtree;</div> -<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  kdtree.setInputCloud (cloud);</div> -<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  <span class="keywordtype">int</span> k = 0;</div> -<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  uint32_t idx_v = 0; <span class="comment">//index of the object to work with </span></div> -<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  cv::namedWindow(<span class="stringliteral">"Segmented Results"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> -<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  <span class="keywordflow">while</span>( (k != 27 && k != 1048603) && idx_v < seg_objs.size() && idx_v >= 0) <span class="comment">//while it ESC is not pressed </span></div> -<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  {</div> -<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">if</span>(seg_objs[idx_v].object_cloud.points.size() > 400)</div> -<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div> -<div class="line"><a name="l00183"></a><span class="lineno"> 183</span> </div> -<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  cv::Mat img(480, 640, CV_8UC3,cv::Scalar(255,255,255)); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> +<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>  seg.<a class="code" href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">reset</a>(); <span class="comment">// free memory</span></div> +<div class="line"><a name="l00139"></a><span class="lineno"> 139</span> </div> +<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>  <span class="keywordflow">if</span>(cloud->isOrganized())<span class="comment">//if the point cloud is organized we can work with the RGB image</span></div> +<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>  {</div> +<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>  <span class="comment">// recover the RGB IMAGE from the point cloud </span></div> +<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>  cv::Mat img_orignal(480, 640, CV_8UC3); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> +<div class="line"><a name="l00144"></a><span class="lineno"> 144</span> </div> +<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> row = 0; row < img_orignal.rows; ++row)</div> +<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>  {</div> +<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> c = 0; c < img_orignal.cols; ++c)</div> +<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>  { </div> +<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>  </div> +<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>  pcl::PointXYZRGBA point = (*cloud)(c,row); <span class="comment">//note: there is a transformation in the reference frame of the pclò and the image!!!!!!!!!!!!!!!!</span></div> +<div class="line"><a name="l00151"></a><span class="lineno"> 151</span> </div> +<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>  uint8_t r = (uint8_t)point.r;</div> +<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>  uint8_t g = (uint8_t)point.g; </div> +<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>  uint8_t b = (uint8_t)point.b; </div> +<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>  </div> +<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>  cv::Vec3b color;<span class="comment">//vector of colors </span></div> +<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>  color.val[0] = b;</div> +<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>  color.val[1] = g;</div> +<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>  color.val[2] = r;</div> +<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>  img_orignal.at<cv::Vec3b>(row,c) = color;</div> +<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>  }</div> +<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>  }</div> +<div class="line"><a name="l00163"></a><span class="lineno"> 163</span> </div> +<div class="line"><a name="l00164"></a><span class="lineno"> 164</span>  cv::namedWindow(<span class="stringliteral">"Original"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> +<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>  cv::imshow(<span class="stringliteral">"Original"</span>, img_orignal); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> +<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>  std::cout << <span class="stringliteral">"You are now viewing the RGB image (recovered by the point cloud)."</span></div> +<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>  << <span class="stringliteral">" Press whatever key to go further."</span>;</div> +<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>  cv::waitKey(0);</div> +<div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div> +<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>  <span class="comment">// displaying in the RGB image what are the pixels of the rgb image related to the segmented objects</span></div> +<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>  std::cout << <span class="stringliteral">"\nYou are now visualizing the results of the segmentation in the 2D rgb image."</span></div> +<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>  << <span class="stringliteral">" Press right arrow to visualize the next object, the left one to visualize the previous one, and ESC to exit.\n"</span>; </div> +<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>  </div> +<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>  <span class="comment">// to retireve the points in the RGB image we have to use a KdTree to get the points of the object</span></div> +<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>  <span class="comment">// in the input cloud </span></div> +<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>  pcl::KdTreeFLANN<pcl::PointXYZRGBA> kdtree;</div> +<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>  kdtree.setInputCloud (cloud);</div> +<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>  <span class="keywordtype">int</span> k = 0;</div> +<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>  uint32_t idx_v = 0; <span class="comment">//index of the object to work with </span></div> +<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>  cv::namedWindow(<span class="stringliteral">"Segmented Results"</span>, CV_WINDOW_AUTOSIZE); <span class="comment">//create a window with the name "MyWindow"</span></div> +<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>  <span class="keywordflow">while</span>( (k != 27 && k != 1048603) && idx_v < seg_objs.size() && idx_v >= 0) <span class="comment">//while it ESC is not pressed </span></div> +<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>  {</div> +<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>  <span class="keywordflow">if</span>(seg_objs[idx_v].object_cloud.points.size() > 400)</div> +<div class="line"><a name="l00184"></a><span class="lineno"> 184</span>  {</div> <div class="line"><a name="l00185"></a><span class="lineno"> 185</span> </div> -<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  <span class="comment">//fill the matrix "img" with only the points of the current object</span></div> -<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < seg_objs[idx_v].object_cloud.points.size(); ++i)</div> -<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  {</div> -<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  pcl::PointXYZRGBA searchPoint;</div> -<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  searchPoint.x = seg_objs[idx_v].object_cloud.points[i].x;</div> -<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  searchPoint.y = seg_objs[idx_v].object_cloud.points[i].y;</div> -<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  searchPoint.z = seg_objs[idx_v].object_cloud.points[i].z;</div> -<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  std::vector<int> pointIdxNKNSearch(1);</div> -<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  std::vector<float> pointNKNSquaredDistance(1);</div> -<div class="line"><a name="l00195"></a><span class="lineno"> 195</span> </div> -<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  <span class="keywordflow">if</span> ( kdtree.nearestKSearch (searchPoint, 1, pointIdxNKNSearch, pointNKNSquaredDistance) > 0 )</div> -<div class="line"><a name="l00197"></a><span class="lineno"> 197</span>  {</div> -<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  pcl::PointXYZRGBA point = cloud->points[pointIdxNKNSearch[0]]; </div> -<div class="line"><a name="l00199"></a><span class="lineno"> 199</span> </div> -<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  uint8_t r = (uint8_t)point.r;</div> -<div class="line"><a name="l00201"></a><span class="lineno"> 201</span>  uint8_t g = (uint8_t)point.g; </div> -<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  uint8_t b = (uint8_t)point.b; </div> -<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  </div> -<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  cv::Vec3b color; <span class="comment">//vector of colors </span></div> -<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  color.val[0] = b;</div> -<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  color.val[1] = g;</div> -<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  color.val[2] = r;</div> -<div class="line"><a name="l00208"></a><span class="lineno"> 208</span> </div> -<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <span class="keywordtype">float</span> x,y;</div> -<div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  y = (<span class="keywordtype">int</span>)(pointIdxNKNSearch[0]/cloud->width);</div> -<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  x = pointIdxNKNSearch[0] - y*cloud->width;</div> -<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  img.at<cv::Vec3b>(y,x) = color; <span class="comment">//transformation coordinates</span></div> -<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  }</div> -<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  }</div> -<div class="line"><a name="l00215"></a><span class="lineno"> 215</span> </div> -<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  cv::imshow(<span class="stringliteral">"Segmented Results"</span>, img); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> +<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>  cv::Mat img(480, 640, CV_8UC3,cv::Scalar(255,255,255)); <span class="comment">//create an image ( 3 channels, 8 bit image depth);</span></div> +<div class="line"><a name="l00187"></a><span class="lineno"> 187</span> </div> +<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>  <span class="comment">//fill the matrix "img" with only the points of the current object</span></div> +<div class="line"><a name="l00189"></a><span class="lineno"> 189</span>  <span class="keywordflow">for</span> (<span class="keywordtype">int</span> i = 0; i < seg_objs[idx_v].object_cloud.points.size(); ++i)</div> +<div class="line"><a name="l00190"></a><span class="lineno"> 190</span>  {</div> +<div class="line"><a name="l00191"></a><span class="lineno"> 191</span>  pcl::PointXYZRGBA searchPoint;</div> +<div class="line"><a name="l00192"></a><span class="lineno"> 192</span>  searchPoint.x = seg_objs[idx_v].object_cloud.points[i].x;</div> +<div class="line"><a name="l00193"></a><span class="lineno"> 193</span>  searchPoint.y = seg_objs[idx_v].object_cloud.points[i].y;</div> +<div class="line"><a name="l00194"></a><span class="lineno"> 194</span>  searchPoint.z = seg_objs[idx_v].object_cloud.points[i].z;</div> +<div class="line"><a name="l00195"></a><span class="lineno"> 195</span>  std::vector<int> pointIdxNKNSearch(1);</div> +<div class="line"><a name="l00196"></a><span class="lineno"> 196</span>  std::vector<float> pointNKNSquaredDistance(1);</div> +<div class="line"><a name="l00197"></a><span class="lineno"> 197</span> </div> +<div class="line"><a name="l00198"></a><span class="lineno"> 198</span>  <span class="keywordflow">if</span> ( kdtree.nearestKSearch (searchPoint, 1, pointIdxNKNSearch, pointNKNSquaredDistance) > 0 )</div> +<div class="line"><a name="l00199"></a><span class="lineno"> 199</span>  {</div> +<div class="line"><a name="l00200"></a><span class="lineno"> 200</span>  pcl::PointXYZRGBA point = cloud->points[pointIdxNKNSearch[0]]; </div> +<div class="line"><a name="l00201"></a><span class="lineno"> 201</span> </div> +<div class="line"><a name="l00202"></a><span class="lineno"> 202</span>  uint8_t r = (uint8_t)point.r;</div> +<div class="line"><a name="l00203"></a><span class="lineno"> 203</span>  uint8_t g = (uint8_t)point.g; </div> +<div class="line"><a name="l00204"></a><span class="lineno"> 204</span>  uint8_t b = (uint8_t)point.b; </div> +<div class="line"><a name="l00205"></a><span class="lineno"> 205</span>  </div> +<div class="line"><a name="l00206"></a><span class="lineno"> 206</span>  cv::Vec3b color; <span class="comment">//vector of colors </span></div> +<div class="line"><a name="l00207"></a><span class="lineno"> 207</span>  color.val[0] = b;</div> +<div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  color.val[1] = g;</div> +<div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  color.val[2] = r;</div> +<div class="line"><a name="l00210"></a><span class="lineno"> 210</span> </div> +<div class="line"><a name="l00211"></a><span class="lineno"> 211</span>  <span class="keywordtype">float</span> x,y;</div> +<div class="line"><a name="l00212"></a><span class="lineno"> 212</span>  y = (<span class="keywordtype">int</span>)(pointIdxNKNSearch[0]/cloud->width);</div> +<div class="line"><a name="l00213"></a><span class="lineno"> 213</span>  x = pointIdxNKNSearch[0] - y*cloud->width;</div> +<div class="line"><a name="l00214"></a><span class="lineno"> 214</span>  img.at<cv::Vec3b>(y,x) = color; <span class="comment">//transformation coordinates</span></div> +<div class="line"><a name="l00215"></a><span class="lineno"> 215</span>  }</div> +<div class="line"><a name="l00216"></a><span class="lineno"> 216</span>  }</div> <div class="line"><a name="l00217"></a><span class="lineno"> 217</span> </div> -<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  k = cv::waitKey(0);</div> -<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  std::cout << <span class="stringliteral">"Object: "</span> << idx_v << std::endl;</div> -<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  }</div> -<div class="line"><a name="l00221"></a><span class="lineno"> 221</span> </div> -<div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordflow">if</span>( k == 65363 || k == 0 || k == 1113939) <span class="comment">// right arrow</span></div> -<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  idx_v++;</div> -<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  <span class="keywordflow">if</span>( k == 65361 || k == 1113937) <span class="comment">// left arrow</span></div> -<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  idx_v > 0 ? idx_v-- : idx_v = 0;</div> -<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  }</div> -<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div> -<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  <span class="keywordflow">else</span></div> -<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  std::cout << <span class="stringliteral">"The point cloud is not organized"</span>;</div> -<div class="line"><a name="l00230"></a><span class="lineno"> 230</span> </div> -<div class="line"><a name="l00231"></a><span class="lineno"> 231</span>  <span class="keywordflow">return</span> (0);</div> -<div class="line"><a name="l00232"></a><span class="lineno"> 232</span> }</div> -<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> </div> +<div class="line"><a name="l00218"></a><span class="lineno"> 218</span>  cv::imshow(<span class="stringliteral">"Segmented Results"</span>, img); <span class="comment">//display the image which is stored in the 'img' in the "MyWindow" window</span></div> +<div class="line"><a name="l00219"></a><span class="lineno"> 219</span>  std::cout << <span class="stringliteral">"Object: "</span> << idx_v + 1 << <span class="stringliteral">" of "</span> << seg_objs.size() << <span class="stringliteral">" objects."</span> << std::endl;</div> +<div class="line"><a name="l00220"></a><span class="lineno"> 220</span>  k = cv::waitKey(0);</div> +<div class="line"><a name="l00221"></a><span class="lineno"> 221</span>  }</div> +<div class="line"><a name="l00222"></a><span class="lineno"> 222</span> </div> +<div class="line"><a name="l00223"></a><span class="lineno"> 223</span>  <span class="keywordflow">if</span>( k == 65363 || k == 0 || k == 1113939) <span class="comment">// right arrow</span></div> +<div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  idx_v++;</div> +<div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <span class="keywordflow">if</span>( k == 65361 || k == 1113937) <span class="comment">// left arrow</span></div> +<div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  idx_v > 0 ? idx_v-- : idx_v = 0;</div> +<div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  }</div> +<div class="line"><a name="l00228"></a><span class="lineno"> 228</span>  }</div> +<div class="line"><a name="l00229"></a><span class="lineno"> 229</span>  <span class="keywordflow">else</span></div> +<div class="line"><a name="l00230"></a><span class="lineno"> 230</span>  std::cout << <span class="stringliteral">"The point cloud is not organized"</span>;</div> +<div class="line"><a name="l00231"></a><span class="lineno"> 231</span> </div> +<div class="line"><a name="l00232"></a><span class="lineno"> 232</span>  <span class="keywordflow">return</span> (0);</div> +<div class="line"><a name="l00233"></a><span class="lineno"> 233</span> }</div> +<div class="line"><a name="l00234"></a><span class="lineno"> 234</span> </div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1dac5b182b352220c6ca6a4f169ebc85"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1dac5b182b352220c6ca6a4f169ebc85">tableTop_object_detection_parameters::th_points</a></div><div class="ttdeci">int th_points</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00065">tabletop_object_detection.h:65</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_adbd04002cc3f21b67dedc7d5a4817ea9"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#adbd04002cc3f21b67dedc7d5a4817ea9">tableTop_object_detection_parameters::use_extended_convexity</a></div><div class="ttdeci">bool use_extended_convexity</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00059">tabletop_object_detection.h:59</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html"><div class="ttname"><a href="structtableTop__object__detection__parameters.html">tableTop_object_detection_parameters</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00045">tabletop_object_detection.h:45</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_af9edebad24574492fb986884155cecd3"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#af9edebad24574492fb986884155cecd3">tableTop_object_detection_parameters::concavity_tolerance_threshold</a></div><div class="ttdeci">double concavity_tolerance_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00056">tabletop_object_detection.h:56</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00414">tabletop_object_detection.cpp:414</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a5b99f038253f4bb3282b3ffea82cd444"><div class="ttname"><a href="classTableTop__Object__Detection.html#a5b99f038253f4bb3282b3ffea82cd444">TableTop_Object_Detection::clean_viewer</a></div><div class="ttdeci">void clean_viewer(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">clean all the pointclouds or shapes introduced by the class in the viewer </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00434">tabletop_object_detection.cpp:434</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a25ae1cdac1117e64e8e14b2c1cd6c361"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a25ae1cdac1117e64e8e14b2c1cd6c361">tableTop_object_detection_parameters::smoothness_threshold</a></div><div class="ttdeci">double smoothness_threshold</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00057">tabletop_object_detection.h:57</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a1cc4d45794c3a1e232d7a5f43243622e"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a1cc4d45794c3a1e232d7a5f43243622e">tableTop_object_detection_parameters::color_importance</a></div><div class="ttdeci">double color_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00051">tabletop_object_detection.h:51</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a5b5cf25fa26e9d6a5762ccaaa59bd980"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a5b5cf25fa26e9d6a5762ccaaa59bd980">tableTop_object_detection_parameters::seed_resolution</a></div><div class="ttdeci">double seed_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00050">tabletop_object_detection.h:50</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00388">tabletop_object_detection.cpp:388</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00305">tabletop_object_detection.cpp:305</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00450">tabletop_object_detection.cpp:450</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_abe6dd4074db8cec51da0e85d4841c2e9"><div class="ttname"><a href="classTableTop__Object__Detection.html#abe6dd4074db8cec51da0e85d4841c2e9">TableTop_Object_Detection::show_segmented_objects</a></div><div class="ttdeci">void show_segmented_objects(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer)</div><div class="ttdoc">show the segmented objects </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00408">tabletop_object_detection.cpp:408</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a04a52e6b5c3c906514a0ef111075f93e"><div class="ttname"><a href="classTableTop__Object__Detection.html#a04a52e6b5c3c906514a0ef111075f93e">TableTop_Object_Detection::show_super_voxels</a></div><div class="ttdeci">void show_super_voxels(boost::shared_ptr< pcl::visualization::PCLVisualizer > &viewer, bool show_adjacency_map, bool show_super_voxel_normals)</div><div class="ttdoc">shows in the viewer the supervoxels </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00325">tabletop_object_detection.cpp:325</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_ad13b6dd411e0a557a4de7a9323da33bb"><div class="ttname"><a href="classTableTop__Object__Detection.html#ad13b6dd411e0a557a4de7a9323da33bb">TableTop_Object_Detection::print_parameters</a></div><div class="ttdeci">void print_parameters()</div><div class="ttdoc">Print the parameters of the algorithm in the shell. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00470">tabletop_object_detection.cpp:470</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_aad3a5a13616c968ec81f2ed95eb8ef6c"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#aad3a5a13616c968ec81f2ed95eb8ef6c">tableTop_object_detection_parameters::normal_importance</a></div><div class="ttdeci">double normal_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00053">tabletop_object_detection.h:53</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00433">tabletop_object_detection.cpp:433</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a98e6dbcffc628ec9ff8c0b91bd07bf7d"><div class="ttname"><a href="classTableTop__Object__Detection.html#a98e6dbcffc628ec9ff8c0b91bd07bf7d">TableTop_Object_Detection::get_segmented_objects</a></div><div class="ttdeci">std::vector< Object > get_segmented_objects()</div><div class="ttdoc">Get the detected objects as a vector of the variable Object. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00453">tabletop_object_detection.cpp:453</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_af6f6a38de376991aae5e6bf3ff6d4206"><div class="ttname"><a href="classTableTop__Object__Detection.html#af6f6a38de376991aae5e6bf3ff6d4206">TableTop_Object_Detection::reset</a></div><div class="ttdeci">void reset()</div><div class="ttdoc">reset all the publis members reset all the public members. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00030">tabletop_object_detection.cpp:30</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ab0d42a5811ff6ff88e5364462b891adc"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ab0d42a5811ff6ff88e5364462b891adc">tableTop_object_detection_parameters::min_segment_size</a></div><div class="ttdeci">int min_segment_size</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00058">tabletop_object_detection.h:58</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_abd2df80ddd63d2527fdb3e2173dfa7bd"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#abd2df80ddd63d2527fdb3e2173dfa7bd">tableTop_object_detection_parameters::voxel_resolution</a></div><div class="ttdeci">double voxel_resolution</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00049">tabletop_object_detection.h:49</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html_a40051e60619a46e0a1fe3df06a6367d9"><div class="ttname"><a href="classTableTop__Object__Detection.html#a40051e60619a46e0a1fe3df06a6367d9">TableTop_Object_Detection::init</a></div><div class="ttdeci">void init(pcl::PointCloud< pcl::PointXYZRGBA > input_cloud, tableTop_object_detection_parameters &opt)</div><div class="ttdoc">Class initializer. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00013">tabletop_object_detection.cpp:13</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ac427e4c80d7791bbe503f560740aee88"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ac427e4c80d7791bbe503f560740aee88">tableTop_object_detection_parameters::spatial_importance</a></div><div class="ttdeci">double spatial_importance</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00052">tabletop_object_detection.h:52</a></div></div> <div class="ttc" id="classTableTop__Object__Detection_html"><div class="ttname"><a href="classTableTop__Object__Detection.html">TableTop_Object_Detection</a></div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00091">tabletop_object_detection.h:91</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_ad839812934dce3dc30bfce50a6c7979b"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#ad839812934dce3dc30bfce50a6c7979b">tableTop_object_detection_parameters::disable_transform</a></div><div class="ttdeci">bool disable_transform</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00048">tabletop_object_detection.h:48</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00198">tabletop_object_detection.cpp:198</a></div></div> -<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00170">tabletop_object_detection.cpp:170</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a82b13b33ede8b98cc506715700f5760a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a82b13b33ede8b98cc506715700f5760a">TableTop_Object_Detection::segment</a></div><div class="ttdeci">void segment()</div><div class="ttdoc">Detect and segment the objects on the table. </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00212">tabletop_object_detection.cpp:212</a></div></div> +<div class="ttc" id="classTableTop__Object__Detection_html_a890c8e6be3cae5aa41b8b2ecbc3bf34a"><div class="ttname"><a href="classTableTop__Object__Detection.html#a890c8e6be3cae5aa41b8b2ecbc3bf34a">TableTop_Object_Detection::get_default_parameters</a></div><div class="ttdeci">tableTop_object_detection_parameters get_default_parameters()</div><div class="ttdoc">get the default parameters of the algorithm </div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8cpp_source.html#l00184">tabletop_object_detection.cpp:184</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a979341d0bcf0d9b8696b65054bec5838"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a979341d0bcf0d9b8696b65054bec5838">tableTop_object_detection_parameters::use_sanity_criterion</a></div><div class="ttdeci">bool use_sanity_criterion</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00060">tabletop_object_detection.h:60</a></div></div> <div class="ttc" id="structtableTop__object__detection__parameters_html_a0545fba1336d1a337d6693b4b85bac04"><div class="ttname"><a href="structtableTop__object__detection__parameters.html#a0545fba1336d1a337d6693b4b85bac04">tableTop_object_detection_parameters::zmin</a></div><div class="ttdeci">double zmin</div><div class="ttdef"><b>Definition:</b> <a href="tabletop__object__detection_8h_source.html#l00063">tabletop_object_detection.h:63</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> -Generated on Fri Feb 19 2016 18:47:13 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> +Generated on Fri Feb 19 2016 21:02:55 for tabletop_object_detection by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> diff --git a/trunk/lib/libtabletop_object_detection.so b/trunk/lib/libtabletop_object_detection.so index a015ce3fd8487a801120594e12a78843c389397c..d564b7adc88028054901a9c190d54a108c2724a8 100755 Binary files a/trunk/lib/libtabletop_object_detection.so and b/trunk/lib/libtabletop_object_detection.so differ diff --git a/trunk/src/examples/tabletop_object_detection_test.cpp b/trunk/src/examples/tabletop_object_detection_test.cpp index a8954cc20e74544d059e86d5fad2a952a72e0ec2..c08959c64c771f9aaf3ba91d38c164c0db252513 100644 --- a/trunk/src/examples/tabletop_object_detection_test.cpp +++ b/trunk/src/examples/tabletop_object_detection_test.cpp @@ -71,8 +71,8 @@ main (int argc, char ** argv) } // parameters for the LCCP segmentation - TableTop_Object_Detection segLCCP; - tableTop_object_detection_parameters opt = segLCCP.get_default_parameters(); + TableTop_Object_Detection seg; + tableTop_object_detection_parameters opt = seg.get_default_parameters(); // ------------------- parsing the inputs ---------------------------- //-------------------------------------------------------------------- @@ -106,10 +106,10 @@ main (int argc, char ** argv) //---------------------------------------- //TableTop_Object_Detection segLCCP; std::vector<Object> seg_objs; //("seg_objs" stands for "segmented objects") - segLCCP.init(*cloud,opt); - segLCCP.print_parameters(); - segLCCP.segment(); - seg_objs = segLCCP.get_segmented_objects(); + seg.init(*cloud,opt); + seg.print_parameters(); + seg.segment(); + seg_objs = seg.get_segmented_objects(); std::cout << "\nDetected " << seg_objs.size() << " objects.\n\n"; //---------------------------------------- @@ -121,19 +121,21 @@ main (int argc, char ** argv) // show super voxels with normals and adiacency map bool show_adjacency_map = true; bool show_super_voxel_normals = true; - segLCCP.show_super_voxels(viewer,show_adjacency_map,show_super_voxel_normals); + seg.show_super_voxels(viewer,show_adjacency_map,show_super_voxel_normals); std::cout << "Press 'n' to show the segmented objects\n"; while (!viewer->wasStopped () && !pressed) // the pressed variable is just usfull only for this first while (bad programming) viewer->spinOnce (100); - segLCCP.clean_viewer(viewer); + seg.clean_viewer(viewer); // show the segmented objects, the result of the segmentation std::cout << "\nClose the visualzier to go to the next step\n"; - segLCCP.show_segmented_objects(viewer); + seg.show_segmented_objects(viewer); while (!viewer->wasStopped ()) // the pressed variable is just usfull only for this first while (bad programming) viewer->spinOnce (100); - segLCCP.clean_viewer(viewer); + seg.clean_viewer(viewer); + + seg.reset(); // free memory if(cloud->isOrganized())//if the point cloud is organized we can work with the RGB image { diff --git a/trunk/src/tabletop_object_detection.cpp b/trunk/src/tabletop_object_detection.cpp index dff77b2f450167d8b05828c43d9a906470dbcbfd..34aa46cd1168f4488f30c944570b67b9e992cc90 100644 --- a/trunk/src/tabletop_object_detection.cpp +++ b/trunk/src/tabletop_object_detection.cpp @@ -14,7 +14,7 @@ void TableTop_Object_Detection::init(pcl::PointCloud<pcl::PointXYZRGBA> input_cl tableTop_object_detection_parameters &opt) { this->cloud = input_cloud.makeShared(); - this->filt_objs.resize(0); + this->detected_objects.resize(0); set_parameters(opt); this->initialized = true; } @@ -22,11 +22,23 @@ void TableTop_Object_Detection::init(pcl::PointCloud<pcl::PointXYZRGBA> input_cl void TableTop_Object_Detection::init(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud) { this->cloud = input_cloud.makeShared(); - this->filt_objs.resize(0); + this->detected_objects.resize(0); set_default_parameters(); this->initialized = true; } +void TableTop_Object_Detection::reset() +{ + this->cloud->points.resize(0); + this->detected_objects.resize(0); + this->lccp_labeled_cloud->points.resize(0); + this->labeled_voxel_cloud->points.resize(0); + this->sv_normal_cloud->points.resize(0); + this->supervoxel_clusters.clear(); + this->supervoxel_adjacency.clear(); + set_default_parameters(); +} + void TableTop_Object_Detection::set_parameters(tableTop_object_detection_parameters & opt) { @@ -277,26 +289,26 @@ void TableTop_Object_Detection::segment() //in this way we enlarges the vector everytime we encounter a greater label. So we don't need to pass all // labeeld point cloud to see what is the greater label, and then to resize the vector. - if(idx >= filt_objs.size()) // keep in mind that there is also the label 0! - filt_objs.resize(idx+1); + if(idx >= detected_objects.size()) // keep in mind that there is also the label 0! + detected_objects.resize(idx+1); pcl::PointXYZRGBA tmp_point_rgb; tmp_point_rgb = cloud->points.at(i); - filt_objs[idx].object_cloud.points.push_back(tmp_point_rgb); + detected_objects[idx].object_cloud.points.push_back(tmp_point_rgb); - filt_objs[idx].label = (int)idx; + detected_objects[idx].label = (int)idx; } //remove segments with too few points // it will removes te ones with few points or the ones with no points (these are created because of the labels of lccp) - int size = filt_objs.size(); + int size = detected_objects.size(); int i = 0; while (i < size) { - if(filt_objs[i].object_cloud.size() < this->th_points) + if(detected_objects[i].object_cloud.size() < this->th_points) { - filt_objs.erase(filt_objs.begin() + i); - size = filt_objs.size(); + detected_objects.erase(detected_objects.begin() + i); + size = detected_objects.size(); } else i++; @@ -314,7 +326,7 @@ void TableTop_Object_Detection::show_super_voxels(boost::shared_ptr<pcl::visuali bool show_adjacency_map, bool show_super_voxel_normals) { - if(this->filt_objs.size() > 0) + if(this->detected_objects.size() > 0) { viewer->addPointCloud (this->labeled_voxel_cloud, "supervoxel_cloud"); @@ -358,7 +370,7 @@ void TableTop_Object_Detection::show_super_voxels(boost::shared_ptr<pcl::visuali void TableTop_Object_Detection::show_super_voxels(boost::shared_ptr<pcl::visualization::PCLVisualizer> & viewer) { - if(this->filt_objs.size() > 0) + if(this->detected_objects.size() > 0) { viewer->addPointCloud (this->labeled_voxel_cloud, "supervoxel_cloud"); viewer->addPointCloudNormals<pcl::PointNormal> (this->sv_normal_cloud,1,0.05f, "supervoxel_normals"); @@ -397,17 +409,17 @@ void TableTop_Object_Detection::show_segmented_objects(boost::shared_ptr<pcl::vi { pcl::PointCloud<pcl::PointXYZL> objects_cloud; - for (int i = 0; i < this->filt_objs.size(); ++i) + for (int i = 0; i < this->detected_objects.size(); ++i) { pcl::PointCloud<pcl::PointXYZL> tmp_cloud; - for (int p = 0; p < this->filt_objs[i].object_cloud.size(); ++p) + for (int p = 0; p < this->detected_objects[i].object_cloud.size(); ++p) { pcl::PointXYZL tmp_point; - tmp_point.x = this->filt_objs[i].object_cloud[p].x; - tmp_point.y = this->filt_objs[i].object_cloud[p].y; - tmp_point.z = this->filt_objs[i].object_cloud[p].z; - tmp_point.label = this->filt_objs[i].label; + tmp_point.x = this->detected_objects[i].object_cloud[p].x; + tmp_point.y = this->detected_objects[i].object_cloud[p].y; + tmp_point.z = this->detected_objects[i].object_cloud[p].z; + tmp_point.label = this->detected_objects[i].label; tmp_cloud.points.push_back(tmp_point); } @@ -440,16 +452,16 @@ void TableTop_Object_Detection::clean_viewer(boost::shared_ptr<pcl::visualizatio std::vector<Object> TableTop_Object_Detection::get_segmented_objects() { - return this->filt_objs; + return this->detected_objects; } std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > TableTop_Object_Detection::get_segmented_objects_simple() { std::vector<pcl::PointCloud<pcl::PointXYZRGBA> > obj_vec; - for (int i = 0; i < this->filt_objs.size(); ++i) + for (int i = 0; i < this->detected_objects.size(); ++i) { - obj_vec.push_back(filt_objs[i].object_cloud); + obj_vec.push_back(detected_objects[i].object_cloud); } return obj_vec; @@ -478,6 +490,11 @@ void TableTop_Object_Detection::print_parameters() return; } +pcl::PointCloud<pcl::PointXYZRGBA>::Ptr TableTop_Object_Detection::get_input_cloud() +{ + return this->cloud; +} + pcl::PointCloud<pcl::PointXYZL> TableTop_Object_Detection::get_labeled_voxel_cloud() { return *(this->labeled_voxel_cloud); diff --git a/trunk/src/tabletop_object_detection.h b/trunk/src/tabletop_object_detection.h index d75794e4a0e93f60426b20df5588d6c882d6430a..b8d5d14188e9b2169a7f266e61c87db0e8bdb2ab 100644 --- a/trunk/src/tabletop_object_detection.h +++ b/trunk/src/tabletop_object_detection.h @@ -114,7 +114,7 @@ class TableTop_Object_Detection static const int TH_POINTS = 400; /**< Default value of the threshold of minimum points required to consider a cluster as valid */ //------------------- - std::vector<Object> filt_objs; + std::vector<Object> detected_objects; pcl::PointCloud<pcl::PointXYZRGBA>::Ptr cloud; pcl::PointCloud<pcl::PointXYZL>::Ptr lccp_labeled_cloud; std::multimap<uint32_t, uint32_t> supervoxel_adjacency; @@ -197,6 +197,11 @@ class TableTop_Object_Detection */ void init(pcl::PointCloud<pcl::PointXYZRGBA> input_cloud); + /*! \brief reset all the publis members + * reset all the public members. + */ + void reset(); + /*! \brief get the default parameters of the algorithm */ tableTop_object_detection_parameters get_default_parameters(); @@ -244,6 +249,10 @@ class TableTop_Object_Detection */ void print_parameters(); + /*! \brief returns input cloud + */ + pcl::PointCloud<pcl::PointXYZRGBA>::Ptr get_input_cloud(); + /*! \brief returns labeld voxel cloud */ pcl::PointCloud<pcl::PointXYZL> get_labeled_voxel_cloud();