From b161f2fc1dd217d8cc1eda672e4c5773fad2c2b2 Mon Sep 17 00:00:00 2001 From: Apostolof Date: Sun, 21 Jan 2018 14:23:10 +0200 Subject: [PATCH] Fixed memory management, Add more datasets, Fixed Processing script --- data/run_helper.txt | 46 +++++++++++++++++++++++++ data/s1 | Bin 0 -> 80000 bytes data/s4 | Bin 0 -> 80000 bytes output/visualization/visualization.pde | 15 +++++--- serial.c | 2 +- serial_declarations.c | 25 ++++++++++---- 6 files changed, 76 insertions(+), 12 deletions(-) create mode 100644 data/run_helper.txt create mode 100644 data/s1 create mode 100644 data/s4 diff --git a/data/run_helper.txt b/data/run_helper.txt new file mode 100644 index 0000000..98e4d12 --- /dev/null +++ b/data/run_helper.txt @@ -0,0 +1,46 @@ +Dataset X { + int NUMBER_OF_POINTS = 600; + int DIMENSIONS = 2; + char* POINTS_FILENAME = "data/X.bin"; + + A good h is 1 + For Processing script: + float maxX = 17.124000; + float minX = 3.402000; + float maxY = 14.996000; + float minY = 3.178000; + + 12 iterations +} + +Dataset s1 { + int NUMBER_OF_POINTS = 5000; + int DIMENSIONS = 2; + char* POINTS_FILENAME = "data/s1"; + + A good h is 30000 + For Processing script: + float maxX = 961951; + float minX = 19835; + float maxY = 970756; + float minY = 51121; + + ~28 iterations +} + +Dataset s4 { + int NUMBER_OF_POINTS = 5000; + int DIMENSIONS = 2; + char* POINTS_FILENAME = "data/s4"; + + A good h is 30000-35000 + For Processing script: + float maxX = 932954; + float minX = 89604; + float maxY = 977215; + float minY = 35412; + + 122 iterations with epsilon = 0.0001 and h = 30000 + 110 iterations with epsilon = 0.01 and h = 30000 + 108 iterations with epsilon = 1 and h = 31000 +} \ No newline at end of file diff --git a/data/s1 b/data/s1 new file mode 100644 index 0000000000000000000000000000000000000000..92894e157788f07c1d0f7ec812d8b32f12dbead8 GIT binary patch literal 80000 zcmXt>e|*(*|NoDfoHBE+OpeT~OpZ(@lQokglhaHllVfHklgXN+Cg;lJ$Ye4(GMP+{ zOpeSPGnuYknM_WZ9GRI+*OAFllVc`FWlh3M!`AGS z%l_ZRkR3>lUJqOg9)IkFC|)>yV)R<#1_y%R)Gp-n7n~903s>`b^#F2~Sgym{xF)@h zd|U-``>Of;NCnr14W~!#tPnpe-t`iE;UTV>x1b-p3T&8+|Cx`0bE@HEZo}W$Qt(>I z7d=FN`xYbbYl5Fz3U0p!T)!IZJ{$Y~)A@XF5m)nKuH7ea-F!3h{sQpiW#Gn(&`&dh z%g)1p(Ot+DWpQ2cH}SUF!H$oSPfnHHJGm~n4}RzQ;NC~UTWY}Jo49UXz;(=9@O>{( zU*}(ZzF`H|c_$N}{d4^9G4pw7Wm2>~iWA|R=JR>i2JB7lM!xi7u(t$0E+4%2Dy}96 z*TcUczxO}jDV@r<8$7lL>@wre_$KyRUGSw>fwxvFp5wvR4z7E%_}sA$JA>*sG1+`x zv=O=7Gq^7J6T1aVxh_=y@H@es5$u$G1I{^-tKknmpZGX-xBd&vk1AK`|#71 z4UQb(y7f-3^=gMA6aAs~I^^Tuhu=7xtLs%hPq+eq3w&J1PKHnV2mKi~;@DyYudhV! z$TB`Jz7U+R_8MHo=X2k~&UoeTI}iJNpMXDdH~ij5(C@zk9CthYBmDtzPekMOZB4?NbZ%pS}rT*w!j$BF=pPS{^{|Y#F3B2b?uFG%a zI`%X89t-|3HPIFX!`Jlc;~eci@op zh93rRE62{Hhrp3I@cKpI9_1VJ4cOOATtjDJckSKyTYQAibAAKIFTqYo>sR0R=7f^w$e-H@^UHxrVF#WUk&t z*k7jksOuCy@5<*|V?p1Xhg_+~L-14LbE&`Xdl30uTF(Zwo=v+5eaoBhGt{4pSD-&E zeUrvZNg47JRsSjDsOuc{&s|r*XYIsZP9=QF(R`kx{|bvkqlIHMfiIgL2Rr;^`{2f_V&xJEQTFFh7Ka68xVsmRydjh$^1 z_`JNBYteJ?cI}rAYyR{!@%cRUmu~g@QDHuB{hs<{|BYS85w1sWfuH*!*zzdpjQiFI)&;GlS3bQn{w?;`0{u>jBljLi3kH^XHr=kh9kjN3;58 z{)5D) z{%lqS?b@VzF4TP6RE%8R>*zOqfc{S9lcRnZ(t5K=>&?_>kw2{UeZJ;1o7&lTA$I3~ zi(m8m$XDEi{TZrbk@gRR|G@7Hzz=`Vb=PBDE0Ru&j;AA9j~f4tyx}db*>6VF|2=Ali8HX5 zKLh{!YQaq}f*V!e^;%Eso`BzXJat=q3H~d!--sK7UXtn-|0Q_)$@n*V!N#fBY0IZx zwpaK(?kDD(dd)Mv+Rr9g)K0IVXFD1B&E4R=F5*~`gxvZQ;KMHPxFuYde}vqS6I`J7 z-~TG|2NJQj{C)UL^_Px=#C0SUx$SnY`!caNNBh31)6uWpCHrT<7yYJqGT>JagVQ>} z+1d|uu1D|iZuB-h2XClFe#=W-cjYqv3buiFYdr|-KE|#2$)^4P!j;rNr1-pL_!;{% z_B}JOw{5H9)qTJ&*=snF&;7bzuMdJ79>V|Bndk>}KWh6EyGt*I@7@DH^-u6btv9Rt zkgJN}I&d}D{G*VoZQyDh;`5^OxX#f2I`IM8rCaloPw_4P8o81E_JAK;|0Ho|YyI)5 zzWHwalxqB>TdCJn#TV4`f&3}hDNtTXhp;zrHu@3GH{~ax-?9|>HOXLa8T+sGs$0TV zc*nD}$J7_WwQ85eqd)8UVJ(VtfW-nRyvs{2Y~GB_q3eyZmEevL1W=GTrJktp?q4&fQSTb< zH%2YBMCWargC+EZ0oen>*0&Kk+Tyg;Up5u_;{~Ub#IQXg?@z>)T7qwUN z0DSFI;_Y{WL%qlkdBNee@N33{>uSeF^(U7yK(~ze4%?K7&tE{atQw+gs?TE(4GIH`rDPp7`|Ss2%TE){k9A@*iAz zQuOmxi;+*b75Sw_;JjVn18cxTi@`-zVAC<+nfHR-AA)192N%j-W(R!L5flnBReB*Mk`3~gkTg3kb zuDAkh87AJo8;Cb~_~fX)!Vj?T|Kfxwo~!=SzX<)I2hlgK0+$GTxEci?a0&PnuxxY5z;mXpc1 z^(yeTS=eu@W_)i~eN&#s-l(6Duc(FZ(tKF>Ciy0pp>N4We%_1VWe9dFI1%`@S@WFOe~DfNlbcuZ9L zG-pL+D`nqZ4vrl_-f%AZ?zgb-zR?^V-xEXdo~z+2{{qLp#CTaXOn!zQ z+Q)VXY<7SXYmpDDzx1nrlvWepx`*LwUDP9M5&n(mlHZJHvFH9T>(3gE=d9JpZ~6${ zpNYRcUt=$rPkz3q?8-sSkSR4{%*Q;FC6 z5%nlK2l<5Qu`T7f~&-g9atLngi?PcKnABfkj`c=kYZ`_^4Q}GG;Wo036ZAE@S z{;X=hwpH*(&G+&1!Tuor5;v+|YsoL~PWYNO)kFHO;KVI{HiN?24>$^+qcaHWasinwAb`wwJAL>=6 z`K0T5_y46lwvRWVz4a}TzEEkqw?>cOFqNX;VUw*m!^6&=zb|l{k`UK^g~*I zt!nS)I`nHbenZ!SO&afc$5XFdC+)N8b@;w}vA4Z|dekjpyjadc-jGgx$0*;x5b+Ia zKUqHjt|`Y}z>d9Pt$*3S!XM6skIaN0SPZV34<6EbQ+PMHU-_kIJ)W=j^xY5Ns{7x; z3UIO3kG}QPbG;e+c~8=xN@TxA`?Zn#4NnI03$#8t=V5QpdDJ8L2hSG@l>bQkdo!>f z8z=wIgT0r4E3{rG-$ehKaRT+szJ+@3bs}G?`6d55{Dn>;-g$Z+Q1$@!_G-LZw~N>P z&0r?{(h}^2i@~!re;Iaw9h%>B>&bWZAIO_*^oKaDe+^aezKh_kcj2#4<2g?I`D)$& zv>(9!x-R4gP3YHXJht2fU#|W#xQzZVT#3BF3%{@(Tvmwwj2N){D*UfpPkn4xGT$8- zd0wLZXq?7#x)1qo?f-nbUpb=v=*aVg!{&l$2;nG0V% zj&)_zPso*g!aA260Gl5IxBNl7rOxMj&%q#mldGs>Ln64XnmCFUao^jQ!E?NEHRxOP z+@axC__$N?pL+`aBHtr#*@b-HZQ!kMgFWwpr>L&hQv6#F!Uv17m#4fNa*(fh4Bj^g z&a4OLZb*#wgU#>bzh*S~d9+VTJdbfTq!?A@Y0w z1_xdM@0x~uM*zHetm?Utdaphi-j;#ARk|-K`I-18$HVs(pg-#`?6+?x|DF)_ZM_+O zr2+X~6Z*URkq@@uFa2BOtsUqmUky&*PkjczCO+p;JcmD^`-sN3iLdK-?3KQV{o(JB zZ&`}}QSI>6ALDQDvBYC|2mOtgfGb}`ev5GK8t`_%^4X~N8jt>)%e>J19Z!ILA@CDd+?ZxK)4V6a1ppJ4qU5svgKx;JMHX&x1S5&uYH|&hb*l*SNa)iLauh9?czIfqOwg1iNuTuYuI~(~ywO7Lc{#>c5{}T93uVBxT44
Rh%F8hIa2JS__b{p6^8~wr!%(r#ZzzLd9 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 ZtuNN=`B0ngKN>XtF4p?BcI#P}{Xb9seJcO} literal 0 HcmV?d00001 diff --git a/data/s4 b/data/s4 new file mode 100644 index 0000000000000000000000000000000000000000..2e8eea8ace130d66b8b65b8f58efe74d68b4bc01 GIT binary patch literal 80000 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 LK>5 plot later - //save_matrix(vectors, iterations); + //save_matrix(shifted_points, iterations); } \ No newline at end of file diff --git a/serial_declarations.c b/serial_declarations.c index 3bd388a..c922ddb 100644 --- a/serial_declarations.c +++ b/serial_declarations.c @@ -70,24 +70,35 @@ int meanshift(double **original_points, double ***shifted_points, int h } // create new y vector - double **y_new = alloc_2d_double(NUMBER_OF_POINTS, DIMENSIONS); - - multiply(kernel_matrix, original_points, y_new); + double **new_shift = alloc_2d_double(NUMBER_OF_POINTS, DIMENSIONS); + // build nominator + multiply(kernel_matrix, original_points, new_shift); // divide element-wise for (int i=0; i opt->epsilon) { return meanshift(original_points, shifted_points, h, opt, ++iteration);