changeset 49:1676c032cde5

add images explaining the naïve algorithm
author Jordi Gutiérrez Hermoso <jordigh@octave.org>
date Sun, 15 May 2016 13:21:56 -0400
parents 1baa6b0a7199
children 4a669a51f49c
files talk/code/medc_naive.m talk/img/naive/H.png talk/img/naive/medc-computation-done.png talk/img/naive/medc-computation-init.png talk/img/naive/medc-computation.png talk/img/naive/medc.png talk/img/naive/sortx-red.png talk/img/naive/x-orig.png talk/img/naive/x-sorted.png talk/img/naive/zminus.png talk/img/naive/zplus.png
diffstat 11 files changed, 42 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
new file mode 100644
--- /dev/null
+++ b/talk/code/medc_naive.m
@@ -0,0 +1,42 @@
+# A particularly nice rand(1,9) output
+x =[0.1434371910495317   0.7884491711159078   0.5303604008014775   0.6667158533830928   0.3678275414673733   0.0996218030091724   0.4403602735726169   0.7641625823436032 0.3729928446344657];
+
+imshow(x);
+print -dpng x.png
+
+sortx = sort(x);
+imshow(x);
+print -dpng sortx.png
+
+RGB = repmat(sortx, 1, 1, 3);
+RGB(1,5,1) = 1;
+imshow(RGB);
+print -dpng sortx-red.png
+
+z = (sortx - median(x))/(max(x) - min(x));
+
+zp = z(z>=0);
+RGB = repmat(zp, 1, 1, 3);
+RGB(1,5,1) = 1;
+imshow(RGB);
+print -dpng zplus.png
+
+zm = z(z<=0)';
+RGB = repmat(zm, 1, 1, 3);
+RGB(5,1,1) = 1;
+imshow(RGB);
+print -dpng zminus.png
+
+H = (zp + zm)./(zp - zm);
+H(isnan(H)) = 0;
+H = (H + 1)/2;
+imshow(H);
+print -dpng H.png
+
+medc = median(H(:));
+[i, j] = find(H == medc);
+
+RGB = repmat(H, 1, 1, 3);
+RGB(i, j, 1) = 1;
+imshow(RGB);
+print -dpng medc.png
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..4aa2f45c217f3db34220b8acf46dec414bf9dd17
GIT binary patch
literal 5603
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..7630b8f8afcc768f5e523f3aaf8e89c4eb3fe9c9
GIT binary patch
literal 1830
zc%17D@N?(olHy`uVBq!ia0y~yV5|k=dJZO_h}PvkULeJm<n8Xl@E-&h>|H(?C~(`;
z#WAE}&f7a1^Q3Pwwq3M-azTytWN)|WgG(F_4mCWiWwh_RocB;|>gn3!Tk1MP?l?s_
zc9d_HRQ<7z-EO%8N03VW#7oN+xpl9<E@f!Bc9S{n$J6OIxy^omT|Pg}|HhlMv&}cF
z=X`s0b@feQv+93;e!k(HEt|&AP-n4=`AP}<ikEx=mt_|$vv%+;Z<zIt!SpU;)?k(Z
zdGj0FgX51X$TT+kxJ31z@a3mBotejAbFpY|T>Snz+v;O!K&rN=>f4Pq{PK2dURzZk
zHOs%h&vyR#&EYv4*1bMGT|a&Ojhu3OiO2sc(%-zDklz20LGDM*U=1b$A#i@4?e4hs
zo2Tb&&^i5vbL-`oC029O*57zmV>kc&^PAdc5!XxOn~zIOPyPA(qeb=6wAT`kORQe<
z{VzYg>CNk@x9&bLJeJrqdvC7Xy>v#~LE|x^C4k;}_Uu{J-g9xA4sO!ftbWC=?oUN=
zu`w{x-{0G74UY5z8@c#B6^1~e(-Qw}<Up}6o4lv~e_Z*#;_YAnR8(AEUcNI17;+B^
zEZ)5HluQ1T-G29@9rvK~F%hXEo&Ul9A{)8><B#8n-j?Y<emK#;{zjSkk9!XbcEqhe
zy{X4g?wrk>`kG&FTa$a*Ps^YCe|!4hhq1Q%Uj0+6FT1+^yTQBNn{`efe*Cfa*5m9g
zm(Oliw>f(F&GFyw&)eJm-OPR5{Qi&ld$086KibEa{`jW2zkatgkIlCIi@g%w4+8%a
zpLpId3g5YN=ghnfH=h>mjL`!n1FN}y%P+qXm6qXaFTHy|{|G2i<!sxZ{<Hr3&(F_+
z1@G@KFE7g#bJl0bCjWW-E-wa@_ck6s#JnGv8SA63-z`o5#`NH2%{rdJ=wo~mzzRq0
y$ET;jQsjd(&@Ydl&rd&pBQG*dpJCn$^T(4*ivL|W-3F}q7(8A5T-G@yGywqa&tujA
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..b40bd25856846cc78272c2387ab40c6433d3a294
GIT binary patch
literal 1485
zc%17D@N?(olHy`uVBq!ia0y~yV5|k=dJZO_h}PvkULeJm<n8Xl@E-&h>|H*Yfq}Kj
z)5S5QV$Rz;hFNz5L|iZaZpvv^EalPj&1z1cW~O|?!Ipoi$K<g6H~RapXI+_>wRpAD
zYn$_o9J0IF-+Xv|{T=J{zdt`Fe{VT`@7}#K{~d3hK1~I3=FOW2;@p16cwqWsYX{%*
zhFR|zOz$#g?P9)C!oK1qU%+MA1<MAp#4W4y#oyT;WPjX8reU(i#r^xOVzb}QW4Mzs
z_xaCXzjjq0OPxP|{w3z}S3kb*SRXETv~l;d--E@&q)3#VIrI4O<H~uvr^jr#cFUG=
z$6Z5Xet!O4%qe#w2cvrl#kHaF`Sa(WSH6oYIvADxo#jE<@iTk&?|;oVp)j3s5W1HL
ziN2YU*=x6!=`-%@$~P`9zqoVv!2|z?YUJ$SUqAozoxM-GwqAS3dEji{%%7Dq<=5xl
z<!-pWbMqi|Ha>~1$!X6XCx7pGeeKp>h8-8<CoR@Y7vod704$#wJYD@<);T3K0RTb_
BqJ#hd
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ebd8eae134da35fa4a9e33d10062c0a954d2c789
GIT binary patch
literal 1745
zc%17D@N?(olHy`uVBq!ia0y~yV5|k=dJZO_h}PvkULeJm<n8Xl@E-&h>|H(?DA4BV
z;uumf=j|QCb;6NMZ5N}@r%L~}?U*3dDd5|{;jouso3oFT0pmxVDYaKvJl6I_#pb)+
ze=GES&4corUst|ji`$kf&9JcaTZ81jy19E3w*UY0?e-ha-FvIQ=Y4Crdv8yrarL3R
z>#s|J9Jw@phC0h#%vVa-SG?p4xGcM1nYDv&dBd!C45oJ(vj($-?(J=7?=k#|vUyLY
zF|Q>achr~e(mDNx^MEnXw7s>z%f9v8t^4!i<C`xs8zbl2)ka+}{nk}`Z-4#&M@PGF
zYL`V^|N8ay_08dL%67;f`|)#+ao@KS#YYMl>I?P_e1MQHu{OEq^wUkbx8JB*>zp>K
zc6wX1bI$qaH?_a*j9U*%A6>H7N^P$_Fg&(NXZhvKZ(Vn<86Nvtb8T+@j?_rL?<@JY
z|14;(w|bQJK5}sRizta(R>yYSe-BJVahncr(%Gzj#jgI}pC3Ogs*l>q+tuv2n+J^M
z4?ytci%Ip-yw|(V&D(I>>e!DT9~Zy-bJ*6_R`%Vrim$J(KHOEj|9<-V8*e-Aew@cT
zsC-CdBG}CSVf!4v<(FRq{b|>J`_G3D1#1r4%NBmNIu<c4HFDZb?;qOkfBN{KvHh&Q
z@W9=6X`VkbKMy|7;FE|>=b!Q5<Htf^v6r{~_S>@Adz0p$ep+NV9~gUyk<&_T@5vTg
z%}w*a@wOuTXZ`oLx3}LEF8lrI>FK|9^Y=3Svj-;r{qg%`Zktt~lsmoY%sd7gP<pt&
zOKzR@W^sn|&toJ9+>4|~z0ZfgzrWuUelUGopW(6h`_IqYcz@HGI0l=`^^Du*8~riO
S?eqcGQ4F50elF{r5}E*21wtPH
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..1cef831a4dd458cc4f252af0c85b07e4a52faccb
GIT binary patch
literal 5701
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
OfVr_Xtk~$>#lHh5&rq8H
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..270d75d47661b2717fdfc785ea3ccedc219a2158
GIT binary patch
literal 3229
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
N4E0RmmAcNc{{&0aznTC5
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..d80a65f300cbcf21ef601d0179cf3d5fda6b0ddc
GIT binary patch
literal 3436
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
SWK;aTM(JxC!^^cCqyGUGd8kqV
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..ffdaa1ed2b4ab546fb760ecad546c74152d127e2
GIT binary patch
literal 3459
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a998f0054dc2048b9d649639fd2b3ed71b866402
GIT binary patch
literal 3368
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
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..eb3cb5ecbacc2c38c496abc9ac939039323784fa
GIT binary patch
literal 3154
zc$|fnc{J2-7r?)^>{$}Y(qtL3WJvOxWSe0ugUOO@tYa{?8PnLwFp)&c@<W^KGDt?E
zEFlR|WGN|I+4p^mcbwnpJ?A~|dEcIMo^zMye(t^JIrooy6J?6v<~Yd#006h40o<G}
zlL3J7J2MkqqoJ%Q0KhJVgTYWZ3<dy#2h-9#P${-Tt&6J~(=poox;Id;yK>UxR9-vT
z9%_;H)I*e>Ph2&le0-d$9`9xCMyoRwSK!aeWo2D;F1(X?Tq0u4cRW>S?O}Jw@E4xl
zteVZe2`!I>OPddPgn(#u8~)l#8E`&l?Zdf@D4j;+5~XPicSh9A?7~t~s211bpTT&R
ztxX9yykI$ftf{B{XCYe;1GysI=A8T`Y$lJA@+FOZ`78(bM)N4+a7<=y!}8R?1H8h{
zz46&jhtT63fasYW)}see2Vsj9mg>=KpNro46qpe$L$73jk~6D@*u~R3)&!&wEnxUQ
zYN^3!pEV!hUZ{ldBeoyW@gX6hs|QEVt3Xtlhdq}2XT6h7>mM9+dDsru{Rjm<(*RId
zeb{IkKw1E_cb0?9e4ji`4F{kLOXrv~hc$XvVvjIuGmt<`0#R}wnP0wU%V02e<`gA!
zE&=r*wi2drUMBu1z%2@0&MiQeC}*8xwR$Y5N(O)AFr}Ch#L)}`jlKjSE{cpc8~C+6
zh;gw|gIUKWj;k9aY`|`Qg9MU{<F<tzy(992n?)xZrJBl&)voy%Si~k5Q~VfO#J<A<
zWp#-1)1`cr^yIo1yC19B$cBubE@v!Zm~HmSV0zV5zhtL=(lqAkNO<rCdbwtqk)vB2
z;UeO(F-!8nf(&eYE}-_fvrYQdajg6a@Y9TL=gi|$CD#q)dlJ`9Z}Og2p@hR-P^tpQ
z@^4kZ|H|D%g<Hybohv?J6$8CJqrIN9ko^`V(JQ1XteDiVWB)j0N}Hq#<#ZsQMO?`F
z+CA{Gd5V24jO$4A>vD+u2@fPM_$ZCfBH^z%Tr>JDm+M<)nvKGhBUH-srcmeR^6Afv
zKGGY^8~lN67o&cWCC5?;`sxTY<Scvo4f)pd<7dZW2`SYfwd#&y_^8d-h>;5;#!K8=
zetTkj%-0@)be#E0*y^vVH>v5eWTz1lAx6Q*Qv6nN6L2M01%LTx(ZTV-6m|VQgPi0_
zL$o>D8A|1SQUWP+EpF{^B-s0oZ(HLJ(uyDP*tXoZ@HXXy3DPV<M(}i%UWr`^%*SBv
zJd4@oLW1n9>|d$GcHwrh_5^iDH0*)AIJn-n)^6{?R@_zzvq=-G2_|tl$0o;itl*8n
zapS(nP?TiRcCTbFwb%cou0_5-E_^W1j%og+Z}jbK+LT79XkFa3WKC@$Lv!gw>0i<`
zX{xl60f#UfjM9jaf*74B6y`aRl_!v=ZhqJNRi0gbY~DoP&ph9J$$ZZIuX#7}wb~$9
zQMWPdMmwopBTcW(t0T0{y-hs14t!A(kxok;?>OH6@b54Mo(}Jhunv5xmc+1<7WHw_
zNZy?s)Dwc0i~ikgPwI(6n}XoW{&qJD+)4$gmIWlkX=#h(HWx5NKBEqKx1zR!MvNss
zTp_R2au~OmNt@-H{Cpy(lU8~%->zUVSI*qR{Hk?_mG|YalH1lE)YhU?s6~scPtG`I
z&$-^I-V9emT5yTz6;5x<loDKSX0h$l5GT&umj3twXi<Q*NWWV5?e4Pv`dp^jjF~qx
zqP@cCC`Xri37p=qcs_?@`aD^@&<jE)Wlt8Q7Y;nxv~x1ivWa|pEo)zh=@^BXa)cri
zYY7u-)@b%?Zb+<5+|uvU-?UD)hL#OgRCxas!HA6;jKkjYn0SI0z!yzIk(&4KWpW_x
zO$s}E-|KdIz1ROts*-t?5z#E_>*rD5vRAu};Iz0!y7fsg(sst~t-YGPX{l>zJi4#k
zYsjcY?tO8Wk!NS+(dU{zij|kE*lAB*g!oatL|ndlUTo_gd*g3PaQrI#nSE|>exh1%
z$YiKvBd#tbBKsGasju-vcKc{%Zak(Eb1U~<+Z$Z&C#**$jk@YM$@hpc>4W#!P4s)T
zTFu(aWOM|Yiq3k4d&NHV@|#PL&}PI!F162ErgUKq5Z6eG5I4JI`{>D|hESJUjk@AG
z$6%4r$<WR1kKz5hs=KwD&sP<fBgP7+(?<u!&6atV@he%J<vg<7yhmnO{WxmHq(lTn
zdXFb?Z}9kWJ#rW?cR#pylQ-o~^c_}jTW{LHceKo_vo7Ca)>GGAW<OldfidachY2-l
zG|e=-H;0U#AC=Hdk0c++HL2w&xI%m6DpZLo?Q+GcUUGwSp-yY01QTS)d!)jJD!C1l
z2UpR)L+Dz>-m|Ti>*VWIaI~xESdEmIdAK>g!j%}f;v8>kq!SP6lL&|`HW-ofL{fVC
z3j*>#rE9kAb9E+&31c$*Gy5`6RqWBa+>G61u$%ag-^;z5-EL#Lx)X~M_YyDFwAXwk
zwyOE7_4&rC-M}w=$$2Rq+41H|VQK3NzN!}duHpyKQ`N<98|3+K+Z@~WtF1xm^PXpT
z<#`1X<|>D5caO~!e$F})SUO}?Gi&SuA1#%j<gDbxxL#W>&Ek$M+Y0dy>RpK9|C9_1
zgM=k-XngjjZ3aJq<4mWwG&du}u<t9HDuQ+g78`8+(2ikb0%)9E-c*`HH7_Na{nWKW
z_7R>t1lT8rcb46&q42TZIQm80tJJDUvG^BBePgK^TKMvIXyVR_WQJrW!cleW!kQTN
zl&@E+uY%WJxWaVCQuXHYcQCD>z<qlnS+H6<7rO(0ck`9ZyjkG$nX3Nh%7gKyQ5M35
zj{E#O9h6UHg<)OgA1WVNY1w}=^;ViAL)A!ePz*H2LC1kIiSAk_*$2KjDBhfXw%R^P
zRWfjttud(1i1c4J@5=wuaVFiP4DKYnXgj?6!)v5(x6ZMSX#oB7TlGTlFRxRDi#^;_
zkx9JWkVeq02<mFp^!)8>Df=74$ZOuGAYxP1n83o>vh8mRjaC$)8$PjRL$rpVUz&^i
z^P_#u6rMeC4N-PsKFx$+^>x|N?)$BoNt0PVVtPq}n#UvU_L2LxzZUHpUa*_Q2)&(a
z-O1Y3h*ar16}gTWJjHozTj`xryG$DRenCP(m)S+r;fR`vpKqwC)~n}OB8~QJSM65U
zzclz9%m}f>gTJ$VSJ-#hyD~BVEa>fGsQV?4tU9xBEiLOUor&h<q`9PsEJjU}E)PX#
zAvsO&h=u*J9V|)N-+x)_Y|fop;+ftw`q~7-7?_&?Kqwdh$kzd2hwdUz0YCr*0A`#4
z0Ga^+LWBn|FKf^r_)$npJz-&CDJdxj2L~r7rvn1v;NXBE0O+K@GPoKe;4EAC=~lYI
zj@Q?}O5e?-=sFDG7}{evbP^0~=}sa3!^_~2)pNMPv62i;^jJq&cz6}L*~+Nk!?-|#
zjt2lRmjeLPb)aA$7eaTo8^U!gg9qo|EAs&$F6MH(*NlSY<VX`6=dGyRn`Fzw0{@)X
z&+odbWFo;SZEpWhctJV^{t$8~EGW4Aj6Wt*$$a!MF#gZkQl<~40Rgu*VVC37Y<jQK
zBt09Fn+pjG#SpP{0jNNf)f6G;6_w9hDyu+MRiWqTrYaNyxwz%D@gIOM-VNs-^1lJ2
z{7EA^pm+$-7h)&|PY5C6JUmGN?6(HeA(C+J*kF(a-klWWLd1gT*_7E{wp7wV<=>zi
z_9}*mBam=-Kj6QBtL6w@kRc2PLJ{%qI3MgWE{0e-tnwT7b@2;ucfpVXh*;vEY4o*A
zS#(<d-!$G0>+@$!SvLCcGsO<E-$4KZg#;ly@mERzbPxLLEJV$#fb0C>h#2ab!pn4>
GqyGi!{F1f+