From a1f626874b2b7fa5de713ee2b68ccd6c3da48c49 Mon Sep 17 00:00:00 2001 From: NicolaCovallero <nicolacovallero92@gmail.com> Date: Fri, 19 Feb 2016 21:03:30 +0100 Subject: [PATCH] added reset method to free memory and get_input_cloud method --- trunk/bin/tabletop_object_detection_test | Bin 123288 -> 123359 bytes .../tabletop_object_detection.o | Bin 353448 -> 356768 bytes .../tabletop_object_detection_test.o | Bin 170960 -> 171048 bytes trunk/doc/html/annotated.html | 2 +- .../classTableTop__Object__Detection.html | 126 +- trunk/doc/html/classes.html | 2 +- .../dir_68267d1309a1af8e8297ef4c3efbcdba.html | 2 +- .../dir_e931c1a3f0014e624d0645a271726ad2.html | 2 +- trunk/doc/html/examples.html | 2 +- trunk/doc/html/files.html | 2 +- trunk/doc/html/functions.html | 52 +- trunk/doc/html/functions_func.html | 8 +- trunk/doc/html/functions_vars.html | 46 +- trunk/doc/html/graph_legend.html | 2 +- trunk/doc/html/index.html | 2 +- trunk/doc/html/structObject.html | 2 +- ...bleTop__object__detection__parameters.html | 30 +- ...object_segmentation_test_8cpp-example.html | 2 +- ...bletop__object__detection_8cpp_source.html | 1208 +++++++++-------- ...tabletop__object__detection_8h_source.html | 188 +-- ...__object__detection__test_8cpp_source.html | 228 ++-- trunk/lib/libtabletop_object_detection.so | Bin 262234 -> 262895 bytes .../tabletop_object_detection_test.cpp | 22 +- trunk/src/tabletop_object_detection.cpp | 59 +- trunk/src/tabletop_object_detection.h | 11 +- 25 files changed, 1058 insertions(+), 940 deletions(-) diff --git a/trunk/bin/tabletop_object_detection_test b/trunk/bin/tabletop_object_detection_test index 61abe2c15ad7c10b9ca1fb6b805b9fbdad94b161..00627579c0c736260d6b9436007d80ae350c9bf9 100755 GIT binary patch delta 27124 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 aQL%N<Vzzx0@1N0DeJ*nAPlwt1=>G$AVK8z4 delta 27214 zcmb`wdt6k-|37{PK|xKHn+piCC@7%9;w4cd7xS{1)moaDGM7rT>l@9|%GxzGB{I>m zj@sq3TJKW3p;)4+ta(8z4Yhh(mae_E4w|`kx7&W7ubDXnYwySJpWi$jUh}%lYhLr3 z*IdrobB-r=wOO&NO;vK7b+tpIB>!sK+NHU#w%t_B1aVXG($Di*fXA>UaqbLBb7zzY zo|~^@$5P&U|ICxQzTftq+B_+x_R8V!o-F(_dJp(F)w~eVj(KhpqVmrzsytaiH{fl^ zQxtxOg3|!+RONdC|Ajmqd4{6h4>%L~L50s!a5mr^WDoLON#hxjNuEWrEdEyD?~}++ zAwP}01bG=UrDu?z6(vp60aqeFhy1*vy`Z2^K?19hUsm`l3KDn~c`fp5nl@5<9fdcL z-$JfI-h})P@)l%DTamXRZ%3{}_9MTCybF0R@;+orAMisg!Sf+X2apdE3F#x`2IRwp zARR&eRFpLBbHHQB$B|DU2ar!9Q~Iw2O@B|R(rLhNkPYNB$mfvHBL|T$kaxdF;Rj?& zKTFW`_g9pDSJ<C`Au2QcLvDo}iQER6QnZ3?0ox(RB3qE-krR*;kvk$=k&}^Akkc5A zE|LmHQMQ561-Tn?cjR2;p2(C60PV<qk^3VTArC^n0{Keh!N`;xfJ2doBac9KB9|gl z8VPtc@+jnMvhe3R<k84ukZ(jDhdds60`kqsx72KDJtC5|=B%BS{lu5HvvPa8WcDGS z+uq71^D<CxBP#om%6u(&@q8!njyjvotn6NX0Z6<MxA4sN1+0@$bvutsu(HPleFI+_ zXJt!8wbO!fjPLAVW&25n2jh}?&SlB$8)_ixd?CC_!NUrLWEat_5B$x-n7f2A@8~BV zWY%RJl9|EdF0-=t#NRohg#yw3E&9oFn0KW>viM2#X0vE?7^&q!R6QW5-FRlKm0d36 ziuq`i`;Z*>#wN2wK@AAC3x!;Fq2mi-#6nSjiRkE2Q64S)S8lPhYx!!+2)2);m&MuH zMWG^x)NwcP1mO{vP(NMtYlcu<EtFj?C@Dhb1)=y)Q69uI<C8_xqlEN-h4dC75ijVo z1f{>AjN~N=)~K$RD}VCxglLa_y+edaEAbcMlZbHCF4OGmBt2fy#}1ct*LRXmp-IV& z(II)?+YW)#`bO!N0g~=M<q-IO@mJICFG1@lTPg&7q9SWr)<{{Q{3pTC%2flgJtVzq ztE8KT?k&)?Of6Qk#X%!dvG|KcEl)MfM<-f6wv7%!@2<GJQzX~^rKB%Ybl=sIZuvyg zlcOc$(|)p*hIrXZvXXy3M#`7hNcn6<|E7zi2R8|NyaqXu+VqqR7r&TTP~uZY4^-Sg zY?A9&UQbo@v^Yuksb)-VPxCvI3I<GcNMBYxg+jB`8Lo`i+G)Q&(USgptkh=Xhmx!* z?yxTH?IyVzXC1A~!c#gHq}Y_ql}h{du!o%P;AI`H9`_-s-*kPyNZM0kwd@YkSrMw% z{dQSPvr76jMR!?L?+!{m?G=4px}@7rOL{u=Qi@NLdb}w@&%~x}|GXNFpmGx;T%@TO z4Kmjf+j8_K4v~&4mqDncv2jMphTVL$)mmDux&bRiinvU218+G5Zgyi+J4p||FX^AC zet&|PvS=w<4&Pw4rc|p=?i6)#D9DwyZ2Y9vn(7W~%gC2p-|IX+Ip5=3FIAht{|2TI z%{spdZ!<1la!Pvj4k_QDO!+{0+WwlPo1Q)ng<|%qk&IXJcPRbk8-%>4>6l^fqZ(EQ zwbo?%1rvi5S(I<wik_Dt=?w=Qf@1c*C`r=2A4$4tP@+}RgS#dDHb&Lp;3r_2jJ(p6 zf;e|TvVT<$S;;F>GUBV(Noq9JK{`{yx2AMX2_(tUhi^ps7)Fz=Hhv++T51V%$=5@u zp;XO(Lz$5F%1YY(y=BY<o^&XR1kPSk8)7Ean&MIeGDykHKwHx6x#0Sfr6p?>S67Rq z#y6y5ZiHFVQ)%|8mG7vkb*inLW;PWw2wIWycuc1ZPs4hLz)X+6f{`H${AvyqNnveK z7io7@nA2Keu9J6M+oYZuO8$*PNiW|b>1P!^8*7-*FDGT5CfS-c#HJjhCZ!oF$FaCk z173cplXZws4Ni_yH@>S<r#hFZ=nK?xAGAmpqE{k)F@)!(buM+u^|omj$b?hKDz6eZ z*Z(B=RE&qBCnz=dt8LHAm!?@g)yjt|y0lT)1%yu;9YTIygsk>@4@qxOzIsh*yG?a5 zuujUGdORJayhYKYm3$#$i}d?93;FAtPNqvrCBwT@Dl+HuLJS6Vqgr*tT%zt)o2YxQ zlwYPA7|kC_&*)wLmZVNo)CaK0#G~w9DCvr<ZA6TaIlguL{q%fKm5S+X#ouHa^{%Y; zzM}u<YE84zdZ%WNsqT@h$k<fPJ+4fUY>Ls|T;sxy4k5KoY4r}0<g+?wVmn&dIm6>p zp%kMuw6RM=18U|>Q1lx{snJiA!E&FX7x$3z?yU|%$yM}~!{tg{6lQrvU#Z70-8>Lp zk*S(VhNhy|rs$fQ&<*N%VeaFxe0qj8<^cpB`P;{rW>_Nv9r^l<{8Vp(v~i+R(GS5w z&abZF-)D4-`4TG$p>CdOL!BBv(AI5q#R$0qSi*LV6lfPwujaZL^~btOC3fX$M2Se< z-~du?=NoKRPxx8pTQzQ8HE!mVTch@XhIbr7%N<gg_7%pTwE2%n`n7NprRq4<g+mU3 zo5zJYs%zzPw(${}aUMt5D%H?Q_9&nZOo&X8j^jumyc9O?%V3-EK-f{E3P%DVA9RTN z=J9nXTtxD2so$fS4Wy_k@7*pd<g3mUW9pM4hiced)kgP}bk}Yvzf3fvX`T8@dbplr za8^9@n0GLwIKQz=>h+xwb)t#ar7AP3U&&Ic)aqmg*X6L8<X!8eJhlgsdaF?ntmp4_ z={DeF<$}NkDdtu^+M_IS{UYgVZPPYiCe>;@v#T}N9u{h!V!<TGX=;kyBHPr8cv;sB zmdodMwdRE%2I9NPI@M|$G*_+f9Q?hmmzR1~6K2$&PLSdOHABq!JEMjm{1EV<iU}Jp z$)W@7gskqP<FFEto4spg=k8Z#TA@tDgYucV5-+q#deui#ey4KMKBuIY^FvwIQh%-F zu2tHCJ*1_+jwOPEWl1FK2uXJ<Cz%~y3YW)G)bYY>tEc5z2e%m1I9t?g#iSPLPZeT8 zHU8}ty_d2reBQa+sn*pZ<xuiRu}F!blYZ@?l`6)mfwGfs)c{r^kv6J^eOvkW+4&xu zn)j;}dxom!J?{_{b8bD3fg~UMt0mo>5{X!TXiNe>OZpU13%8txkzI)D@nwQyQ*_^O zTAfohwK{tgS<}`Jkrli*$_ie^`4KCOm=Iw{m|JoEK=kk<&oME4shU?U|K{*52c6{I z>l{LJwD`+AcW;~G3!DC<qEwT-q`NiO8!zJk!6(wy=mGUOxY!}^u__Q==X1Mflm%7X zcb3B1Hnn6pevs1nYDT_-iB01cRBM|VO?5eHJi|_xJJsb9ZYtzhOWk2dg>QOGiydn3 zw5iq;3&~d8F<U5GS7a@zgOvC3vK(uQO~sVys_H9ctt!4W2NA6tW(Lp^wWC{FI8xL4 zs1txX_cR@QW~i$MZ`cg@7Y3YcD}S=3ZLuoST-Ab}r<E(KHzL%;2&zubQS_^?kaQa# zor})YOLgBU?t&D_weY#Q)`*6Ud{u6KYIikCYB02eYEm?8<6q_Gr)X-<Abdsg!!x2~ zo}1U*^Bja}=<H#GkljW~g`dn;s@e{DAQX3uN$m$}Yw(3R@>&%#fwK<Lda|-I9iag$ zJX%m4NbXRKOo(+sc2~*@q89%2hy7%B_?hp38ejLKmh$hmSMq8;#3)58m4h9^EjUP+ zeo1Vtf;Cl65mVhqSJTjT(8j1;Na@iQ!csEG#+UZ67HZ0WJrw(#Y9{==b+c2}a@Ty; zqi0@C&l`X1!m}UJYj!-8AK^KOb;be(He^?~huUGq)%K{V%CuJ6z340P9mo})TzIUt zb^v^$9eL|+%=9Sjn8Ih~E{n#^VeRW?_0KB(5Z9J3eHI;#*1lKriFe-F5&LSS_NO8| zka{P47NND_bLaG6QT&ZL)|A(&rb_0TgjTg4{7Z1xm@GiYm@<J8H-=yKs5RxqW?XIT z-`wYUF}StOxGuG7Qr*M+UT||*GqyVP5qB?t0o;SlnC6j?xM%nQaLb!<%>|se-T0r6 zPR4D|NsmotU-0dZ&0+(1KhLXdT+NrBHjKIXY3~v?k3TTCfL&4Z@4448R>FUJ{8jc6 ze_>u78(TAJemzT>(M);6^|Di#Ihu<XKk>WAIq%zOXJyn+`)rzXfq!O{aTSKlId6CL zu4dIx4E6g8BBAV4_#2zyK#A~aB-9uPA!UC~I60xQLEwi8hcd0vFYxyXr$w!?THx;y z?!mD`YxD`iRw7Wh8><Aqk#Gcn*60=Zdcw)_#&UtLAshjuHM#}9itrf1T>@W5IF@~_ z(IN0B2}i(cjdp=Q4%{=XJrQhz@GuD=z_dn-z-JJSm0N4n1b!FcSdF#D;9nqQ-%2<I zc4I)`6A8z89Uc()^@P)s+vpegNWyV0g9ijYWS`BWO~Y9b9uS0qB#=aSmB4!w-jQ&x z!1D;V5?(IwE`-y`uF);<RKl_T!UF=2C!7|KMu))L5{`=kctGG0`#d0|5y2)1ztscB z4MccA;NKJ8nQ%?uX9&ms0uTI29{7rI8{q+ge@=KN;SB;mOn4W<{Q`fV@UDbc3;aC~ z5pZOK2Lxd&;n{>&349~r-3a#zd_Cda2`?A;8p3l3cME(K;kksn1ip;$Ji;9Uf0A%o z02}QB_dHI7o<y(-!o!63BHSYI8H8h}g$D$F7vTkj2mcT;K)9XofWRjbj#B_UAn@x6 z?@hR0;3Em|LwGgep6nq+z|I5@2!Vlw_anSY;JpdQ)dxHv@I1n?W5ELg??QMH;ckJa z5{^SEJRtCR!Uq!W5O`a{aq$Qb0QZElBZz>l03HwmzwHH1mzj+gfqzdpR&{tl;AaRQ zOnC5j5d(xf2oDJSbHYmqZxHxl!iNy<7x?>xV^f0%eh+yNMDGz{C=q-@U@PIn2(J?O zM#6^^?iKiY!bcEZF7P#kI|+9Sd==rPgu4X3jPQ|!I|TkD;a3xG{~hgzvL7b`wiI|k z2s}*qHH2FPK7;UU3D*RE7va|t9{i2!-%7ZP@PNQ45<Z&n27zBs`1OSQ1wNAS8wjuV z2*MB|j3I(g-~$OCOL&#QdlP;m;a-8~5k8Laa)Eatd_3W9fu|BafpC|=;|ZTgxI^G= z3BQT(GP@u|5aDJb*aZID9^jJ*w+Q@u!fzp56ZjdzClemLNFMl#a5v!rfqzaoZ8ePz z{Efw(JpOhi+SbL`40eqF)uGju<D6pnA?e!Ui@KEaisZBh=R4@wQFRe@_Ti85l;C*V zTv}&_tkW7Cy4&5Xo$(h#e8kgTJda^zcP`$RWx*a~yn@N>T)asjM6_Y!GD@IhD~D~) zisKdMjg1)WMe_yAxmd!jD@?9)u`}9mVd6Kjo@>Uk82y^FUIfb{l%iU)k=mTMx>+@w z5yH~ar19lutQ_N1bJnZPSaxH7bJlCkSVhL0U~PR1q;9fPCoq0nYfKSz?{@0>eo*HH z+1Aa!@Wo3yjp>U8tI3KwQy8{8jnd{#?P<muZ~TR2ug;4BGsZw2P7|^7X*XRP>#Wy; z9r+(ihNajP?x5MCIqMx1v|8+fXg;xOkjIK;u&x0*3;o6;7z=0R>sem#oeR#z&Tqg* z?X0{%+PQdnRsc3TE50#?V}zWG=VZAH_d6@jI4iz()(_2cSK&(3ID5OMl~n9@Rz_yg zI6Dv%&c(A0W8N>J(69xkVi(N8Nx)gTNj6YFKg*}_#HC$3UQNv)AY_HtK}LTX_%%z@ z97j;~64qZ?Ql6s9xmd|hp#G~+Ya(vq>z1Z<tN)2uQjQFhT{&+o!HPsdu!XP0&! z(F#+=x%2l(XY5-?jczzcU<92N^+r3mW=98N0(nt1rCb76Sazg>W7I>YZV}m@&RxqA zyRT5TSAhgIh7+!KRu0Xwv~bS%ymDDz_6YYc%ZOi0hQdFh#)6+?=a1wUmL*#0UXXDZ zJ1)hCm&Rf7>}X>(Pvf0Ex1y1{pjM(8zgjfyY|p8&8ACPATU?6OKzpFSvvQl#7K)w! zag3%F9^Qdb(u`E<Lv!Y4FpZCY429<VXZp!PVT5w1QTZ#Hu`x8W6wUn2j#hK~3%--5 zu}S<mPiyTUO_P=_PfkljEoUWcMvEdgJA*ZE_7yDliNU;Nc>>$R$1Z=N(?W>N+m^Km zJ=0>JuEAf_c?wuzh+Cei^<<HEultz>aZZ+P2Z<T(A4v7kEL#g_uKJ#Y5MaVdGNO!U z#PBcA(gbl%mVJj%_?IA?VG6R5Mzx{SPAVuUMDz|H0dk#-`u+!|(vB4<Q51M!P+`b0 z0P6h2Jx*Lpgyfb9bEO5+;t+rO*-@-FKlW@tdoSuy8)3klEQjPLtJWQ6>%$6vE<7eo zxQ09QX>2}Ur+4pg&q6%PgfY;j#{R3{V18WZ9owm%$PTJ_p2`=lI2~d6f#0|CTIT25 zS6<DA@|aaGBs_SIdbusj4;{`0AzXgk&bO=@l(#lWzFRKoaI|ZOurls~bgAh*mr=kw zKbI0Y7Har+OH=RK8VyA|2BSxH4qU%A%^nW~hE{whh{k*8u>?kvpc8^{Uunf2V-i_X zaeNfk{WZi#aA-TOk$h*xE~8lRPZ+}h;pwM&-E)o(YyYCPs$`ppf(Cxs^Y?e!b~Y3` z`(&LLt~dN`FblTS8FED%!k>HI6*C%qXT=Glg8%sZ(Bv^fx)kdaNdGw#3XQ7x@7bfq zJnnj-Tax!OY-V)q*x~vU9a@AxMi*ZBLKgdySHF;r2XH=pp-*B0YBhIZox#rV^cTCb zQM}~EYuI0W$&2ZDj_-{Z(>-gxL&xk`9d|66P^Q(<lMlx6#!$$}6`hNUc-MyYLYBYV zigM<+p^&%u;W`^ery}YINU`(jhMKqdMxw>e{{=mt8hhUFtc97Byw3Wlg^(kUph`K4 z&RU!hD0w`4qh^6X3^!nXR6b!yh5o6ro~YXe?ba=l21S!q@m(KoY9hp<-t(aH-*gm* zLS&lYqCUzX4QL|$D{3_=km?DbP4z%S3&Q`;_}Rx|GrZKDQI*+SYHeC&tC9g&6dt{& zbnYKyBOl?*i0Jq&pXSTx{EUH7n-?_&V$3;jSG05P?>3CdOb4#TN7wRy`>ybafpVi> z9X%>yeE1EG#gy&v&djKrCY9X0i~iIl-%_USjk*?O*0^Ob_D`E2Ttft-2v<IGz=>K% zcLa_3(9?JV$Dca8knAHQ^ShgpL?ua&W=tf}wRBRd?04U0IJaU~9T{ZI&8I;;VO&J; z6rL-sICP7%;w$I8Q$g35(t1Dr7UHbmNq4B7_4Rby*6^ddKTge$&6rRA!3~6=npQg) zkvP`bi|$N2=l$BjS#f$+#H3xdB!C4vb>@$g>WCK#D7V%UMiuzQ)p>=2^_60IizmEe z!yXei7FvwQ5Nwn7Mhypv{jiJfRygMsFXCg?6!r_Wz4U;Xa5@yKnp#D7Lbe2AE<IZQ zP_uQ7kM%qJHO*Y?!0*Xr<ndFXP%W)8H|@fp_1$2@hC17D&aEd}<t*F0gUtA=X35Jd zTe00dckNeg{tdqvX#pO;u1CauZ}GwFY!T^S@v?PY;_SE~3_GQBob_$W`SNvxM_1zq zk-w=G-#aVYI4fsGJ1hPZ3RIC)c&-00ye4aX2J=v3jURsz3JJ$ZHI2Lf#;MuHO@HIm zOykR8`0_A(ei%Me;WzBKouZ-QcX$_PjWJoV>BfWr#r|%Kv*PGYyXO5C>8$v*v?BOG zQfWPY(>d{4j|gufZ~yv&jv9@{YDB}1MYN#T;*Zhh7=QKkkx9Ntu>NRb<y-{oRo?oI zWqsVy;2de<9Q_>}?Q^VggV5?0!9Cc-okrZR_y=z+?xT^$LM&UdvFbm-aeRh)kDNd~ z!R^_^br2Uz@teI<Pkb2)iS@hQxE*~Sg)?Zydrs^kpYs2_nd{jGnmT9A%!(Bo=tI!z zth~y0wjwq|+ltjx+c8Y+Gv|$bNT1z68~XBN6l^Dqo1vbzpN|0>$0M$t6??+;<&wS% z<Lo}?y!RODViRo*Jw_b<#8=&5`o4064KY)l#FxI6(0&@J#}M4KYm1v#zm?7g^Mh|) z+1?9BH6wTA`PFUMfB5Cqxe=&XR-KTzf+S#<??3+_c?W-`dU&Ew*mJ_jX(qC4LpnRp zJ8#Ie-g^`kD<4G^@51rlPQi%F0}BuCPmCO9*&5`XH>USJiXUT~^;hLYrwC|w0#;mQ zGxiJBdtd;#qOS1->4Up>@VX6l>vn4MpS8D#c1w*z+d;opbI-w~e#xp8r-b%JfYeIL zrLBBQdeKUU&v^O9y!?2eTj?Q8G99yh2i?-8VcP<0aO#y4S-8HwjfL;qnAiPDaExd0 zN34B{6%@T6kz>J>b1wGe7(;nVO@7x)$dStHH;Vu`aZ_UrzpJKmE*Xq5y+nMQ8i7O- zCr9xOHJ8V`sFC^+Ipt<!Kk|z;`B|5cHyxqAo-pR%jvwGnjYp2~yKB;OX%NubCGz(u z`MxACT3foQfB*kw+Z-`oCybA2TTz23TImWku^IgTHs$vIUoE|USXwqSyzVYO@$J6s zX};v`#rWwu{hjL~ET8cE-pP-^W#^0Uq_U6smUq%dxhpYXi^o}<3--?(GH+if7`roK zf!`BwF2>X}QlR|o$Ii+}Y&6BhS@eld&|c*u$wI(6?|iZ`^AK5Z-nf}(Zhj6;ZQtCV z<?x?2cVlHdt=5)Ug<ltqcgf7kN2W<72e_-Y8$@T-j%C&SK<%)Iwjc4tEjeV{m0MC- zUp`?==hjK+J*MKLThjAqd;~)dv@qm^)Y#0B0|%ucZ}WXyvXVrz?Z~#KX44OHwly2= zcHi13{=EZ=W%g_Xzh`R?cABr)x+LkR53zz(-jkJ6T6r@rVFr9Tb7HNVU-52H!dk(> zHRY&^??m_89N-Jz&1E<94eu7RJpSKzhoXU;ZC%){{OWCYv%P%twn-iLeLw>#r@&3S z<TaqddEWMX{9rL*dv83s{?zttb`#&Yy$|cozuu1fH6QT%c8ndr1!k63>}|Xkacj&W zn=z$+gu2oJ$7iONR<;%cQ95rg9Dz&uRr|5t4*21LuMLOr#x5fnu(a|~bt%ynd<x`S zd8fJz_7xvg*C)LLv^gt#O<rNs_Ri08i(@KX$c?HjzF`HgtSe_5_#btX*bzR_-(z5R zIDjt7y;!6Re>Q#vdd+R8XdCN5mw%S4D`%e8jOjw>OuCkylQr8}d81)`$Lsv*nHDlY zUSyk#{|oh`ks7S{*$DDK{r1GkiZqRGUf3IO#xZbo-&w$(=hJuEVjdyw=*55es-3;F z8um$St>_yL9^w+-)V^jfLg!O%t4ocD-^Z`0>z#fj$yfGT^30|Eo%am&H{#@e{%76I z5v|_mH~I4hjU&B(_c-VMf9&yUp|wSiJMZIue_9s@EC@5|z;04$c6l%V%U_VVMA4e{ zc@B@;U4R!QN_N}YzNUJaP|xq)U6`SfQn=u#fZ?4!%-`MJh5a8tzB@UhDuw^LJ0t1s zJ*cqY+|0Jl%3)ZS&xc&mMjY?CCpo4_sMteyboTT^JkHzGl_uiaJsG(E-?t|ZQT@Z7 z9-i;sgCn=Jn1eToo;6<#N+DEQIap5f4|kG{=Z!3Cy5dV`eXAhW*-^QtM^?`1rvfqu z7nY@!b9&ljl^AF&tsL4@M6+{l$bq4MAkH~=R~3I@uZ>;DckC^QSh9zo*p1)OQ+RZJ zM#q2ey0l}McE$D9m>hB`E@b^Rlj_^Bh~!;->b@J>%e`S}7Hu&+)1T%+jJYtqu=XO@ z<PJDAYrNb7aqo<lZDT%Ga&PfD#0(bvp;-=hD_Z%7W;v5_2}%m)U_QjoUyQ#v`F4by zv!WGBiBwwPcUD{#Ju@;Ga^POw9Oy<3p_d9*+D(hb!y?T%Lmh&Y-EcI@QjU<fi=8nt z%aj&dq_K^!-k+WKX<aBpHy6v$jk+QjVZ4lypskoHRnEyOq7|GD7dTaPilx5QC6lf7 z!?4Hm)b~4CspA#HY{p<ztan6<Wq?j0qux*PoaZ)eR7I}<0QJEb2N`kcB(J0blQ2R1 z?4YCGH%7a&IF_vx8|ALLDqJ}k6SkWj`p9VNP<TI<lf9_^EiSMquwV8|(eXGHO`-mW zd1(sC3opG(HOQglptGwXe|8zIk~Q#2vtUo83h1tIW5szoL7v<OQzy{K({YlQesDv3 zxs@Y0%Ks@i<RJ{fAx~jwllEofW!!W17XP`-Mh-=A_;II$3jZ7&-5@7}Ba2G^92|1L zr{FLx8V`#!W7WH`R&?9_wJfy^4pUkjX^eaL+z+$!envN22FGr4&Ho6F4%D}%;BfMk z_tVm--xM2@QSa~AaN&`QIxipnexfH-B?2S}AOd6-1e*m&0|m$pFr5OV2ZEp}K)e(n z4{bF&_0iv*id4riITo5Rl!Q>dJuXctKz6IB`a3|(zDrLfH7PxYtI~f8kR$L*vjFKU zoYEpd7<4oR$d5etU^i<og!%tCPV<KkrpCz-X?9NM|326)mx9h1wS_D{Z@f(HE`9_9 z*Gigvl{|oArMk#}JUGaD4R!6GkL=V&3QbiU6m#Sfbyd?TUE^;Y>@3^5r&hMLTf~cK zD=5~FtK`WVZB_7(Kl*R(l+D=A7X17`U{vM3xcoeCj1h!$GowaToIAUfPC+>9d}9>z zKtqzPJD9YKM3+{aZ@fQ5X3{<0%4w)tZ^UfoNry7o*S!CsE(`}y{Ppoi@%K^gJ2W{W z{hb<i_-V$r^Qt2g*&2TK$XMEFhJ1WCuC?C$IE@|VAAEf4b^mma@9vG%)FZQ-&Y>ge zf|(Ac;#As`%xZBeO|1b1y@`0IX3i&_SwzIfn&&@V#Mo?}ee^qOHR-drslCtMjA*ry zKk|7I(cb>NmKE^(j_t<n!aiS&yYZha>F^p3V(Z=tGsmDKe3Lov3-(pwY&uz-%W6>z z=D?-KIUe|;$TRa2kz1vRvFZ(MfjDuFr~9tg;IgH3?jE|=e-=OH>@q&2dWim+kh+Ej zf}}RDhfRmUF%Ag!F5}-y>`#bMwPzH54!E)Qtq|A0T*Thsw&MltK#lA86A@WIJ&M(9 zW*=|yA5@5)-x(W#xA-H8#E2W58~Ja6G|v-jX*HQycdXYJ18{H6jR}0Ln9Z?i$9f$D z;aG8$D4!7J7*YPOC|@SZ--vRYD4!MOBvC#u$|<7!gD9tq@-L#CDaya2>^WAPEs&64 z<ce~ufz)s>QEns3g`(U}l>3QttSAo<<pfbK7G<j_m!NEX0Y7?+Pos$6-x{%nsat7v z<+MsY{VH|bgP+~NIo2zP_66fu@#%-C_p%3#qAYuGPLyR2E{HPq;8^ibqAWXbQIur| z{uE`|0roKIlpTl?W!V8wj6h@$E)!+hgE&#{Bzlu1${C`ZBFbGwIbD>yi*lwY_Ymc5 zl#ReT>izylMDKt5lX|b!xv1yQz9Kh}(;#||^@>Iv!8lfYZWdW7ExsVi(&C>)Sz3Hi zl%>Icin27A&8E82;3!d+2FHl9H25-6mIlX(vPW8+B#;7OeTpde5#@AI?k~!jqC7~H zvqgEZDCeSV{D?4a>?nHa)sX5O)YCWrEqmG)jAOlQ5Epa=^@C(A4D?|9Vg#Zr6lG<h zC@TX+Ss5tG%0N+828yyWP?VK{qI{JwwwEZ65amLY`ycCdwLtm_#&x1RK$LF~<zi7D zC(0!#<K|U#WAs|S_f!>omXAB#x7`H{XK981>|A4W&9kTHwPN@4)W*`*v*}*!ZhmK@ zoz?JFjZ@k4HSA1R#)^3M*<tK^e)rkUod^0tp_0mBj(L07HS8NF+f_2)-sD*)8hc|a zFdpTOZx^y`zVF)y@mBQUb7lCwW%ap1NtPExd)U#mYuIkJV%J<aXJc)1@enL6X9=r# zr}Oy<gzoVE<<RQr9w2`5j#$NSK7T(u#~aRf!bS48=f}p-bF)<CzkFn{AfB)mH4gL2 z;7qoC*@aGY|KY;e7<ze><ZJlD7YgDDYazdezk6XOTg>g>cf$MNqrSg2W{J2vd%}2- zZ~lH-TY4#usz*J`bANEe6WXHwSNxG5dbasQNB=F$Yu^0fSH_0dy!ulKOX$0l_5}QH zimu2`cj3SPoXTeLj=y9id{YH34ss6T0G;>ILO<^OB`wW;qYXFo7x$V5cmuAL@Dt<C zKU>j_c;htp{^F_${8HU9#{HTDTJhkrzOn<$h<3m#N_=|11pP<{mek7Ip#-nECp{a> ziuBqJES48JlJ&{4Y(PY?gT5-3<;QtrWgV(V-nQ$X#j=0t`(l}e+4Tt)HaXg%o{rVa z)-Y4AMe2<sy%u&Ee{fPK-5tl0+u76`HF$*#EvM_gIOfdsDWchk`8p0YNXf0o#Iwn| z5yx!ItyiF&Y(DF5zAY;S(Kj}9q&_l%b!exl_ctIRTJk2a@$I}ViO(i7JO!92yLgGJ zLxXS8k0-LWt-Oh{J4tNORd(e>^O0l|ng+Q42j6@M9WP3fITOs*Z0j7NYGA#Drarr( zo45(hcFdQH&9`05*Mn_(Nk`UwfayZ>iRy-pQaw%}BAI;iRbCA@cqx_ZtEswQ4ZHbr zR<&ZA)lI(nhIl~nt8{$ppnInIz`6MfgZb`=*$KCP(#kSC=F0)*s~!GYX@sx@f6Vs` z%~!t6xBboM(@k~ei+H}*Wqp(GF!47e-QUv3`ZrdV=?SXv^(|CFn<X^gI5pqAy`&K( zAKr-h27~#AgQgN4$0^Z`0!nuASGz$1{H5FLl;~bNCG+J{^A&FOR<vf0fhq4+^5)AS z<xlFXQdsvQrOtfU*`gxAWe(LQ*^Folf9R5gl2d;unPm(KDzR!MX1+>ozE)#e5m3#T zZ>DK)JA|653jOnBmfy*DP~z?l655r%;3k>}*}5x*MSH4Mu$wQ6d(}Xhlfb9&Y6V3L z_+x$_!F(~nrWQO$Sbev`%fsrs<Z^IN)4Mt5YuQ?u0-K44DF~?b#H%`>DFggwhZGDb z7+goaPT1U`6FVO1@!t^&`6BVs%e|pc10H#3eP1Yqr}i})pdD}^;3B{=fIh(c0BZrO z00YUW_ZZ|-G;Q<TP^cVwsvpPx0zD0Y^eKrTpe+U`^!cF>J>T5`xCk(?FcjL?7KapD zMJVL%fLB8S%j2K`a32);0Rw;yfWMM~fR-pY{K-%#2halO0JH&)2ebp013CZ~0lENv zfNsEAKrdheU=^SN=mXSR;}HWt3dya}5TG3}0O$nNDq$F)1#mW?4X_H(0k{^>1?UHK z10Dq|2Mhvw0i)r8DnJ{c53mTZ8qfvk2c#$A8vwl?6apx$0Mwp>rGQ>QCtMc*q(|f( zi(xsS_B1>J=m!kKh1E;oiMB8h8?+113pg7v2<QWJV_Q#dhkDE4DL@P0c))5vFQ6aL zvjT-63e|vij)nl;fI+}=z-T;D=L5_EtOj%d1_9lG+Hy1qXaTGObO2TZx&Ze9dI1f< zDnPu*qBQ{0LxcgqBEaDCkSF9q!Tt=!4$uL(2+#%S1FQn{1Ns1u0#*YC0UH1<h#A|n z@D!i}&<E%T3;>qnkYkBOLx4^|_X-$Fa3wqpXjuir0JY~laFGQDJcqFdbO1U5ZO_9H zz#!m0z;YZ6gG7H3o<NYg{ttXW+Zq@K7<?IYJmgn}Q~7v64Od`m0eyf+0sVl#0#@TJ zZ%=^SYcL3~-18=Sh=K!`y+J@1V00oBSHnesc0d=Pwh=u9bO1I0x;Md<Nl^GU_<#-D z(I8;?4m1c@1sDX>aA!NZBOvZ<=KwYUjt30xhaSLEFMbxWSz+lx1RG!w&<kj5fU5vq z_+cst=sgStnD2oj7<)j=r!WZ6`yUJ)=6_J{mBo6n!TN+ORuGkZ8~Uj)&SG6zK;Mvs z4f!a6gs7P?r9nRlO3G2J1c=h6M7?|&xj~Q1274daG(=`1_Q%M6y##DlEA>S(_&}dd zl(mx57ZjhqT2c;WqfL59)~BOrWh;o05Vc%TST{itGP^;k(hHkWeiW24qAZfNvTzox z(w9n#s5J%@ufCHgv-Jzzpm{zh<y5q?X_B%D6t|w)9hC8sataieJ{pu1Cpw7<(v;Fr zO2osc4t;KSmcbnQYLZHx8Vb=^Y9$>kH*|>B$Q8Fk%C8?HwSVc;bEs3GRO>7U6^tpN zP^zjxfYj~=+pZVpKyA4`n!tLhXJxO;>V2`szNxP!$~65X_-(ULYbL1L0)1-^>-=mk zi)Q=um|Ql3S@hAl!oKOb?D`D)m`tlq?b}3G!DoF@fojtDod=BUtACZt@|jnU%VXU! zZe@9_YwI7e0&7p`1M^sys5C5^PQ8M-7JWk=yRNO{iBM=6)h*N8_F$d6)B<nrCer^D z+Nw6??$t*^E+q$>N^?1KR3cVXn?AP(vt|~7J&4rK8BjvLoEI^*ZHMTRcI2K>5F4*= z>A^Bmra=tLYf~cje6Zd61+d}0xSqmExjiAgC`_1|{E-%My^N%0>ks{t6sa7FrQEA; z0Gn0mhe&vl-bli0|3T#@2>bNRUXWU$59kG{+JBIWq+LOuPEu?23X<CQ4^m?w<=1zT zRIUCQqyR4VV*OczUYO6U?P?zmh3<!ekyQiq8}eDdb}OJn5PSo4PK2W%tR{&~1N0;L zEE|!1F`xBsSG6b<no0DX1N1=!EW2F*grAA<$pHQC0@S2kek~DxAE3VmiMBTEwr7bD zt$$vC85z)-9TEI1$Ozb`bOlPgu_XodLOUDWmiE^7L5l39KWt~0Gn>A_j_{eSe`aU> z+Xk_5(pL*29eQdZyD}?hb|{3pO=%QL+b~9c+E_6eBi#c_bpPcnReu)0jJJ1S{}kkB zO!C(tx1;S+1m%YV^-jIfIod97qh`Jxs9)Wi4QosLo{-S=RlU&{IJr0Gkssu5&}5`d zKhvA#x1WvOi@uZ;=@?X^yNZ}qAJm6sx3^%E66Bf9$hbP~!=l@*#fG($RIDAO|K5jX zcE1NpqZ6A|^Jwo0fh(}0(k3Q^>x6JNe45!8gMCyV(3f3@v8w3H3NXpH0Bcu-os2$L z5&7vLJ)s{4WIS%1(7`Rz&`0)WUG*vbu&mqkrTtK+O5fQJgR=s=nE5&_+7!#neA)%| z3;hsHSimobaJgP`Ih)0j^(~i+R%7~O;jrtY`!j3XX`4eKdRad53VnTlme=81Z0hb> zMH@@B{I=uqBZQE-PsqgHjE&uepE=xAZ{Zbsry|x1BVJm>2Dh7r?XR5Z&s?GNBG#|{ z+OeU~SZvsl>#r!$E&W+iyQ@0b=d~W$ArRf_CH==DmesBni)1|w!|Gza>j2g-B6^2D zaR3|6?3-5)V9&JjEa<E?MCQHOS*wbQdbhLodsNiX&f1FBQF^-eM(a^1Kh-8`L%O!I zjT_~^+C=S2*LZZ)@pSE_XevJ)QyKX~y7p~{sJ&_0?;WBx+q73=(@_2>Hfp6!J0Cj) z<%^c6$MLXfT-4bN?S;6suQRk=aZw*+XjO@+cLAyF7_~P;JJvC3XNLBwHEKnM##7Qj z*_IL&K>MjTqWo=Y6eM5kgcbF(PSn=doubh0ubs$TZ(0;Ouq-VKo%z2sh`g3Y%q^0f z4nkGus0Eudu4DsZb=Q^58y{HhpfS~4FG}cNt>1MG>*kq}C&(JSEYee9_`Du1`R-mV z@waGWKr-uJUEC5cy0Rrs?;=xD@<TLwdAS)uqnC{-nTLc8!zFG`3G*9p2rZGu=%cS? zlM$U8u0@b0=!dRlgAtE$*RhPaeUCbX3>F2EoO;Q12;sH*bZ}dpn(fd_u4MN<>te}W zFJI^oBEuEDQNgJSKDf}aIl;xwMd-DYSbH8|k((Viu!abx>2Wu*g1CkrvVMc|SAss8 z$Y?{TJvCbZEYM3qj#>MNB(K%?-^lvMIOj;zsmF|C{hQ3*_o%Fd*)@(8v^9JF>l6Bu z<JjeKHf5S^p(%C<VsWm;QkiS9BuD6R<I$w~9{L!)bUd1L|01Pu(@UTkB|_S*?+4np zwyQ*IyXtKxu*+lmVrQk)cXR0kwve$L{m?|{G(U`#qsQC?uNUd15>yaasP6}enMR-B zL<;C}H&a&^NYtf|zL{+<HQgpe)Sp&b8_o1vOM0|sI<6%>1_zDNlbE&89PpOxOFtY) z{8n0fIzddr%}RV~M&E$?Y>a-AaD2#w3f4mN>$)xV#c8I0TGHdSzIyI0>{W8lEr>~% zUO1UqJ(e{NA(yVCYXKSJJAmh&DSava%CD?O;DTzZ8bEQ>1CI{6Bu_8wQ3{B^*y}(i zdHWiNpqTnCSp9^4JgbZ3(Y_LFO}iTms^AT4;5}8rhxh&{eW&C*W2+`b^w2M*V~W07 z(S3M6m(m$U?}}3;>0i}CKd!|e1A`R#@cJO7FH{Bk=n+-e)S?1DCmSW@y?CjR()&t& z3g{$%FiidxCGTr3<@YH0Z;76UhUpn&N{=hXc$`f|&-9aSW-WECaR>$-bSaI;f<f&B zUUCS0sQ9aCFDknIWl4{MBPh`w6_Uq#QihFGTjvnucH*z5U5}F)wdU5RgI(y4kjAKK zs|{}}*<QR`Lg^`0Z7Jxa)wOv`8J4ybms-LVTRRK=#P{kKZpCTi=&d+sC*Q`3A_A-R z>u;kSPhWYP*ql!iDAIFp2e9eWZ-<THUv9Yr>uDD#v+1jeO|K<T!o{sfZ-Sjkp`afE zJHq$2e&%*IJi@<G?>z-AIrN97K(|}pIR&%GrGEx2!uPt~Whxt9Xx{!*s<ah2Q;;tF zL?B4r6=N6Zt3kKvE2l!4rk|XO#TpkFcc4Xo2R-i&wB*vK109Kb-J+JcE7am5o6Pqq z*JD6LYK?<CwPlN!ZK>TybAnEN3og_T-+{{*o6e@Og2M3c-rbob)q2C!eyHdcy=)qr zTo(Sdj>~anEqbW#;Z0Q5ELU{%-X1QrMfw?ZvfjM=Oowes=@1~gMbEsG6{MK=i6=;| z7J&<N>V#Xr^G+Pea`cmT!uxLh;+<?nYE_uYvpXr9Ec(Q|Sbj=C@l^<GSK{JD1;Aab zpv;GdH7MnXzxckj$$rxzDCZUZC(x;@;a`eskJX6OnfG7K0hy%eZoTks#F<as;~l8f z)hM=0FS{F^u&ZG<jcn{JwfeT|@7;}Iv*;I~rPREcYes8pn-mKlm)jLR{IhXYitg1% z--B2S)aZBJ0~eV$mdzlWk}3U-%UOt}gnypuZLq~C>L<abakvMAX5LsfyO7XTO1brt zdtthHKiORD-&E}I51t+Yo&0S6IAey+PfhApLtTpbs|i*dkw#_7)?E4_ut(AhI?a;~ zHfat2fZ1oNnlH@%L$am1s!e+D``9g*_e<|%lRZH-lQB9X{nbs1nRob$6}<#gUCayh z8<08k??K_8f@Qm+hsSanqLSp*F9Jg}EaxIkQH=2KFTDynHEjMOV|vd}^0?6a7qg~@ ze?GTguCgnrfAuexUuynV)k`(^Blr|^RTU0Jk-(NG>-i2zy7?8_S)kJgbc^%}<p>SG z`hBR2s(cu1veK=u1{(|DAp&llO{b%Xnkhv}IKHQ9BW#|#72TzmPDdN&p;6V+=)+Cq zI=8+QT2r*J?+@A0wbd{oTi*#b#`m-7Sc<)R<_tC>#S+%knS5z4ZfniJv}xF;ubP2L zY1j8d8g|Fs54*MRqz}wJ^g+8cAbf~w72TyzxF5YP*DEC00+136`$AZ+K2nKSXER}@ zMNgT@Mid4*$~DWTIy(Z_Cgjg*6`r_o6zLvCx9dx(wnJYx6K$A3b52uI=OIO&!hJuI zD%WEkfK<!R8*17s{bU<9eKgpRn)?8RUHVEAHqYEjqju<W)9jOwN_90l1jqdPs<*#n z2iNKG4`Tf>e-K-y>Mz3BlSTM-{6SWbir={e!<_4{4Up`>dVLM5M+7eDhaY6OL<GOo zd(Xnw>DC{bg+0!pyn!84q!)4TjDpzwHByna_$y3fKbs|EV73U#(ezDxY&o+*EY~*x zyH$O^T63tny|K-bq5k!fVouN7K>w!?<=qdu7$_Bu=0L4fda5?+c@M!Mn))Get!k&s zVACPfAHrH{{=5k<i?k7JQX5cvnN!ifRMo=2%%0_t>MZ)9htO37*Ta}1UKM+0T>Jqk z((2F)!7dH|*kND9AoV@`<Jl_}-Ta}jl``fxMaP7s*64+p=IOQ}Qk_fR33h~ko&Nd5 z?3PQubzXgy6m#gKACbfJ2%DVZeoZQyqck=SlcwY922z)N^KQU!v;T2(sI6E%Zw|a3 z{^`in5$a=)`t&&nL-RQRYz-nk05&<mw@KfM>Ijv_IoQh0U)b+gVrMZL!cXh<k&hxe zZTiwjVYx+L_b39(rC)dyL*UXgA7isF`3QBy)pC{Uu5Wk@b#nCmkFkOXZ@m87W3ZPV z;-M6wT6%DlY)R8gJS?G1G`ia%m~@|y(tafp{!RX0Kwphdz0p&`l%mC7{6{I*NR{EA zxmy9c_^%zNY(R;k#E*xWDLKSnP5VpL4FA;p71t^w*GozBJg^#cvcRq^FsH_Epo^AL zQm>OOg@26Rp-=b1Ik)H~0EI6pDf9UWQ_oh=Nk2V(M#=19q<#q1JOwUkmie5-9YP5A zn@suvhoJ0K^dCSMQ!Z?`>Ni?0GT~qLp9nfNAH)ONl+5N|2OWAmTKE^nzXO9t(Eg=E zR4~`Zvg?%>)RDVXaPiv*=p^qBNO|)E>laOVwKmw4yyXTdFCS9C`NLdHZcq&Kse|^a z!b_lwfhgRiB*MR#d)XLe!YOIOepPe0KKgNt%&m%TK4D-gu2yu*K3R=!B2$XfPof$t z&^G|2c*jcR;fK+;gjC9Y#SXuK>8Z!fL)*nSlGjo--#F?1@v;eR2I%Cqz*&c&n4e$7 zO&qGm#!0sMgpgZR%L1K7-yOE$UZ=07YA*^lB73}S&8DgyQtHgdQOsaU(%F3Ubf5sG z*TXp4Ji@<xyBu_CR6TK_B`dApgHEAU6&BeO^)hHpc?nlh)Wz_R(boy~lnaU-{wd9( ziLy2G`4F?U1)x)FT3BnRlsq2v5_a9Eth@0h6*dERp+tt5k0`BG66X~?e2vMvS;{wT d+&pms+cJu8oRz|puS(+i<7}H39cJTV{~rntzgYkP 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 GIT binary patch literal 356768 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	vR*&w<|kq@NA$e!u54 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 a{;!#Tm%ZcI6ptRoe~RB94laGQ>HiI{5sDlD literal 353448 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%0AF;3{ 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%0Dc4HhsD5G1%4jr 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 YaQQDc|K8yGPGy()OZ~v5|IqaR4fRJ)`v3p{ 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 GIT binary patch delta 5947 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 delta 6116 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 VO|6s({sCL%)hOKPu$N`Z{{ZHcH!c7G diff --git a/trunk/doc/html/annotated.html b/trunk/doc/html/annotated.html index 1784feb..2387557 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 e0752a5..5d08f54 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 b88874b..ec105b4 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 002cec2..c66a4a0 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 22d482d..8ef8c72 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 80ff22d..99243e9 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 ed1ec6f..c69e80d 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 017b039..1f7284a 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 e463eed..7356ccb 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 3aff347..1427fd1 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 60abe64..264ca01 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 970b759..8c5adbc 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 7dfb67a..3ddb766 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 0c66b07..71cff5e 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 4606927..f6355ac 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 caff9d0..8f5e3dc 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 3b354a7..56e209a 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 e62aadf..fefc60b 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 GIT binary patch delta 74628 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 delta 72494 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 diff --git a/trunk/src/examples/tabletop_object_detection_test.cpp b/trunk/src/examples/tabletop_object_detection_test.cpp index a8954cc..c08959c 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 dff77b2..34aa46c 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 d75794e..b8d5d14 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(); -- GitLab