From d5a2f793ef44b3a27e808f4ace52f30794d73bc9 Mon Sep 17 00:00:00 2001 From: Kamil Bielawski Date: Mon, 23 Jul 2018 22:28:10 +0200 Subject: [PATCH] Add tests for errorPixelTransform [#137] --- .../{ => assets}/PeopleComparedToPeople2.png | Bin .../PeopleComparedToPeople2WithOriginal.png | Bin .../{ => assets}/pixelErrorColorTest.png | Bin .../assets/pixelErrorTransform/diffOnly.png | Bin 0 -> 576 bytes .../assets/pixelErrorTransform/flat.png | Bin 0 -> 9428 bytes .../flatDifferenceIntensity.png | Bin 0 -> 9629 bytes .../assets/pixelErrorTransform/movement.png | Bin 0 -> 9558 bytes .../movementDifferenceIntensity.png | Bin 0 -> 9635 bytes nodejs-tests/compareImages.test.js | 4 +- nodejs-tests/errorPixelTransform.test.js | 49 ++++++++++++++++++ nodejs-tests/resemble.test.js | 2 +- 11 files changed, 52 insertions(+), 3 deletions(-) rename nodejs-tests/{ => assets}/PeopleComparedToPeople2.png (100%) rename nodejs-tests/{ => assets}/PeopleComparedToPeople2WithOriginal.png (100%) rename nodejs-tests/{ => assets}/pixelErrorColorTest.png (100%) create mode 100644 nodejs-tests/assets/pixelErrorTransform/diffOnly.png create mode 100644 nodejs-tests/assets/pixelErrorTransform/flat.png create mode 100644 nodejs-tests/assets/pixelErrorTransform/flatDifferenceIntensity.png create mode 100644 nodejs-tests/assets/pixelErrorTransform/movement.png create mode 100644 nodejs-tests/assets/pixelErrorTransform/movementDifferenceIntensity.png create mode 100644 nodejs-tests/errorPixelTransform.test.js diff --git a/nodejs-tests/PeopleComparedToPeople2.png b/nodejs-tests/assets/PeopleComparedToPeople2.png similarity index 100% rename from nodejs-tests/PeopleComparedToPeople2.png rename to nodejs-tests/assets/PeopleComparedToPeople2.png diff --git a/nodejs-tests/PeopleComparedToPeople2WithOriginal.png b/nodejs-tests/assets/PeopleComparedToPeople2WithOriginal.png similarity index 100% rename from nodejs-tests/PeopleComparedToPeople2WithOriginal.png rename to nodejs-tests/assets/PeopleComparedToPeople2WithOriginal.png diff --git a/nodejs-tests/pixelErrorColorTest.png b/nodejs-tests/assets/pixelErrorColorTest.png similarity index 100% rename from nodejs-tests/pixelErrorColorTest.png rename to nodejs-tests/assets/pixelErrorColorTest.png diff --git a/nodejs-tests/assets/pixelErrorTransform/diffOnly.png b/nodejs-tests/assets/pixelErrorTransform/diffOnly.png new file mode 100644 index 0000000000000000000000000000000000000000..dfa9fac53295e2ece5f60d3b131502482b265f9b GIT binary patch literal 576 zcmeAS@N?(olHy`uVBq!ia0vp^pMdxc2OE&|+w$8VNUt<0RYC2H*%*}JB4{mC06j-(iM zZp*G*zH8m%s=aP5M;?FdxS10c@;@cTYVNVOW!)VezyHd8{<&vHVw~Rek2mwSYcKm= z{_}Pj<5CH}_LcYFFP{?h>TA`?Rja0HSIs~D^iz@D{PVh@O#8RQt&fje`nD|k%IYmQ za~_pg9er4!u`1u_iixky{PPxa{cV!y-d-T_jXQnCs#Wsqg>Jq7p0=nt=i-?&`A&0! zy#Bi>|2|^nF`@D!kL5ch$2OiH{HZ78ciQOb2HSIP7AT+Iefq}#mdK9XXP=5b*zLe= ffNnGu`SHIP*8b>N>nI?z3}mXOtDnm{r-UW|jykGx literal 0 HcmV?d00001 diff --git a/nodejs-tests/assets/pixelErrorTransform/flat.png b/nodejs-tests/assets/pixelErrorTransform/flat.png new file mode 100644 index 0000000000000000000000000000000000000000..0d8e57fed1934c3912db38157846e6e2bd31c65e GIT binary patch literal 9428 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 TjqHzON&s0&C5Z|#lYsvL;)6ky literal 0 HcmV?d00001 diff --git a/nodejs-tests/assets/pixelErrorTransform/flatDifferenceIntensity.png b/nodejs-tests/assets/pixelErrorTransform/flatDifferenceIntensity.png new file mode 100644 index 0000000000000000000000000000000000000000..42416ab527b07c64b91e97196a72c3bd63d4dbc3 GIT binary patch literal 9629 zcmeHtWm8;D)a~Hz5@2u=G$iQ2;2sDB*Wm6pzyQG|xI1Bx5Zv9}gF6fwG{F;`!Cs!X z?)`dy!L3uLch#xAs<-v2?zKBoRrv!RHWfAi0Kij_mr;L_=P&OuCi=^$+;Fe*BGAng zKga-{|9kQ}i<1EWdVqqAq^1|_WZm0~X2Dzh@0ri!_?lL`g?`#D9(<@h*0JNK$zODG ziWnk`AU<0*TRq}Bk2_JvkN&nRe1?HV384uEj!Db|3M;Q807!jZBwUKUCb*!DSWdk~ zXgb*W`7iNUngyq4ocr+EZ|`%|gURe01N$z|$#EE1nlPxmvNCo+?o(CNhn*ik@O6sn z`DQ&@VDOY6HB(YD!2;~e*6Bc!0a6q}?0ifjFse50EGi)&ml9nfEOUwpF2YkPKvg|b!(smH>(U@7ACjs_q<32 z-g;(6u4TZe^>r*`D*E^2UN&@3LJbb?#$cC-2z;sx6caw%Lh%u+I-mN|-bC;Yzmk4#IlI+*=E+MO#O)v1mX@|@3d zN4t|;z-7WZFDlN0G1e>&H?oN%FUzid@_vd~2Cu6W<1OrcTH-;Ztcw zCe5E1ZJ`s1Vj4kPb<#DXlo@52YOY(fTd$_Z#;aD|ZlC?{J%?WdQCoralPgfg7! z-i(jqgV}Uiv)>(P5)Q+MnN)!k@ps4KdEe$k7M}Gw#Yeu}{c^|Wnb5C=Lg#060A;;u zh?qPa?Uq474ls)Ko8s?6>Xh!S3_tV=MfaeBqX)P`^Cq`|95vN$8DW1>#N-Se>SyN+ zp_5<{N4@?Mv-s*+Y#ok5D|Ey6Wg@UtSlCxIH!cQ{m3+L1qq)`MZUNJ7Q@e|L5VRYK zkk#CTRzuEl`F3&WUZwc-#UTiiQ$J`T(41_ zwza>*T(n@Cs;CAGZ}JCLl(`Ds$CM0zT@U?*qP!!#MpX>&m4+}2HL@z`$XZE54zauF zC+vD+>+Ozh*$hG&68F}Q!tWZittUAUVU+h)J@g`jdQVPQ;01!vt2%Ag5D{xzX<430 z0pb~tk7|0;S0a$w8W-}kS4-d5II-Fcytp1RqMF)Vgo00@bfwLB=$p$;_Nyx7&bn(v zUZT-bWV>KRAUm<^lL(PvG1;4ts^5vxZTYRbdIsTA#q@t5Tb9c*ngyIvMp>~Eychnm zhro%|tY^2CFxyJWrFsTZ$tpt^)2)*HfmiY~pFqeJ3g)g`)CRhBxU$5*)=V=ny|0lS zTOuQ#99QEUpL5Q9{&e7OW|fr%VJ{91 zZI=D zM+XZnIb4-z;Kd8_6~1|SJls*V?kSVHWj9F*SyP&uMvrN+Ur_kh?xPwky!%s~2HHPx z@UP4Dz7&&zIKu8FKuLrI(zuJZ%ELW@KVS`CzoaTXe4pZcGAR3-*|#Yg{2^?w_M&E8 z{r6-xFg`W5Tg$#}XsDJe$i->Kw}QhMFC6ybDD`y3EH{l~6XX~-P$IrbpgF*9`-b_n zUaeX@%rfB>%xz{sp6{A>ZyFbPmCqhr{=py${<9P`8fn1eU?v2e9(7Rxm>gfgyZw(H z&2wwitK-8Am)e{b5YaSC?K;AIi*lWbPLxg+2nyz*Avh}wBsQXMWC$0y*Q0>3;m!1# zblx&o@0POpPiB5`xT21a;7OwG&%-gXN`>cSb!gRvQdI09osK_+D_OmoGOAMj$Kh;U zjbAqsbiLyQO~*E^PJ*}>)bAvrX;odv9CACR~kpi2-bu4 zPo@o}#zHawp=@i1dd+HmY1&=eIjW>W{-^jx$f4sr6X9Y?PBe~U`cJ)s8ncX+DE{`* zS{}xj%$pF`PZN&(Q!6D)*$nGR*5f4{Y^78)B`NhIa-wK`i1P(qZHGb_g_#JJn3YAT6+seAUSI((aQU~VNDwplYr zJ_;s9CF7E|%0nlPt2o}*k~v)_cOywjNf-@Z!S#Xtyq>-VW}M{YleKEfxV*HjmE2^F z{O_C83cC0Z#&Q9x>Y@N?!d>1eBO`6K&*vqT?P;W>VnR|x=v#< zI4lgkv;OPz*uo(;@Csm}uw~%uH82Q?RDccaV{w_C<7H*pIhEh(C3rX-C)#@AJO^Yk z+Yo1aDoR(GyouYcwp22S>sFvw@fBa-)FrntaYW=P*POjR)(9bmxV(- zxFxN2F5go|#u476p6jPCfKQg3f9Bi<)$k_dAb4xymIl(aiG5~})mAT*Xt5i3Q*w#y zhg^n9B3m|b#%kFQjqAlUC$1gv^lv|I2Gjkb(@fCf2|6QE^N=_a|CyBEnvvZA(NYY> zBoTI8Gd&BM$G%{h%()$0s|Eq0bwFzcWO}Vw$bhnrL|tS5ph^g%h41Z5iUP~AR)P4+ zzXKY3x7HyT#@%tM{ckW;KL%V-0Z~ucN8FuZk;EDfK(1uX$ zx_;FX;FwK@v`%i!4-J{w&cK^SBWsxcKu>FUtc3uqg+)tR3x4ldjz$MR0)8E*9{skJ z&7D|4C=W7W&{gWkec_UF@c z!ikLN({~4KtNPDadAOk0gs6@wttVgYjUx!G_`$Zvv%FURpA)l7?U77UbmA^7(g=u1 zWy{vj8Wsnw{Rxo342*zD#;c_L1V4nw*rE{XX zT$wD+(7gkXN$;~D!PmIX02PL~(Y|=Sc27z`NcB2oA}#UJdnz!v z!({>SrIOlSy3C9{IQ5N3(&g1!#0d2(lE zqHR<$%J=q1Mc4on1J_?u1ThCk+mHC?+gj6`Xv^Q~$k|3$ek!z#OjH+d5f76VgUX!t8PQb?C9H#G9&$opD>`<*i zh{M~kc;)0Ks39fll-i_+pI(EpWSq>J3cSNfgh4xGCQzGQCKQ#-Bq-=7}Vge9~O^RU z1BHJzce$&s84W?YTR){QpkeafpT&BGon;`SrkgV!k8|ioroEG!;&aI3u^>B#m zJ^l+z-+4`FZ(#F=%7W3He`JoBL~@;O42Rpn@~v1VGJyI7#)o1VFPWpJV=Ps$kG5J+ zRW!=i%t&Af2G*{1ik%H?UQz5?hea`5)$26xGKNj&t%ykS}<2l z&A$k7o;`~_AGH*sOKj$WHQs4rpOASe#y=azOET{#LpLSAkpivjVT9mR%gqg!PXMKk zUxa>YjVxr&BA5s|h3Kx0^m8t6lf-Z0$QcO-BR;BKD`M2tw!J|(y>L%y&Q zB8AF`;5^!j zbA=I36nptaDwb)isrmbHbi-h!ii8GjY6(ra-%~1K6W1}`oW&p-i?2Ovx#V?$J*QL@ z-0bEX(b-BP$bnyP^z?fu;ddDsrzIo?Z0(S@Hw@7=b?`>exM4^Ipu8Ty?xSIiW12eg zNuLO8c;95<`Kr|9s;!l9kxRdWC36cVxcC{GD78z;oE9`G6&eI{Bo5+rn068}5ybiQ zZd-_1h5RQsRvj9yoJJ9r506jcx$v)23OR2kwQch7FCiP*8?nU%VzD}_MzUF(*j98= z)TDoq$KPede*GG)#>_jg8;S~+2*WdS@}ndW5Do1-=rqYNuO`CW+rWewL&PRO=8%=G zg6m;}ei*02I}`DJHJf|oN0nSq)0e4_^mVX70%!nTb#v!pu_f^48T+2c$Mr5E zO!Y=NnAtc4=?@pp?P8qsCB-(0Z!LVofI zZpWRImCMVB*}#o^xz%Sgw_#zhQ=+H}t#94%`~0CHA4MSWOtiW7-^R>(XAa0##QSfg z#Of<6;$3PV#ILzd$8n~3hw*h~$cTvu9F_~LHx1FzH$J#-{11w>hW~2{X>DWK>x^=p z^G0qJ*vrqg`+5YtTOZ%Nx_SJ+TEj>!DB%M8!c@Ss$`hy78==jw0ezVpzSG-uQpE?y z2Yao6IOWeoNG|@KI5Z=tQ)5$N)Gv0kTB_R!(1><+Aot9)2K)dlx;LwaA4rTAAln$$ z)WHrQ-Y2N{%D3Lmo;a3DR3kfXsL~3-Flk(reOiJ2CKCVCYf}FDpJOCO_^qPKT3W{4 z`<4K4I|Cx12)wzlHM%#44(TlkWI6B_)p7kFptBo&yyme z=F%ws{2@{UT}7{xQ-p=jc3f$^ubxwdz>7wMSi@~Oe=gd+(#^rY_d&8VKpUdH5$Ez* zy~CnM`jaSGZ&Lmnu+z+ebTG{P0{b@;xaWJCLbi;dt6`kJg-W4LWZ~c#`sIdJ;j6r9 zwsFT0Wu})@MVGQt$r-@UvH+x{i&_;Q-cHfkd72)eW#nYcRNuUPYY^%dmHvMU2%tft zQR6g#5X)^*D{ytady|m~qjVVyE>_qnQ`6b$NZOk&7PS4%MsT(FYNw9q=;GSNtR*4Y z5J^wBg^;N;@%CT?Z#ipYZU;iPfoY&!OWRoMG#tMB<`b3u=%R`LmaoX-1I32jW@wrN zj_+h2!z)>3?jq(QGuwaaq{4&J>uahB^cXh2?jmCP7hngw0G#TEu3*ChL-|aoj3#cX z(VHR`Ym<);0MPBox5wuF8+cy-rg3Wg%q7DQdVeUn1hfPS@ezI`bh{qxTVnK2;k}{cqxI z11f0#AkJ(ZM1H>jhF{LKK`wfOUr2@So_))>lBzs%B98>cM9zP7ek#?NpTqIfoL~1- zz=n93Mc*w9( z`OE6>O&nAEfiw?bMgN5~^2;T#+1OX@@jfho&NSTMEeDu@Ls19+j^BR9lXy2FgE}|# zeaxNPTEH(ck)?CoS!O%{m&yE6H5`5+Oc1Us`5h!iWIy)4SKhfGmN}X_i9TFjQ`SY{ z?v1Wd9rDXB82P`__d5{n+z^IMD<~-_4Q}@hmQczGSVcS~(ub?6v(&V?^J}M8Nhw|v zZXEd%w9mFrA2j#((C3@6x<+v`3*o13$b*?^kcoE*nFym`QsW;d2j1>J@80BFLqO6I zgbDOGM99Pz3{n!oFN;Gy;VUK*RvjS&y(Bp!>gy4y&_GnZ|F87_4#6g+OFBIeG-UPo z*4ivFj=5Sq;W?ifm}rD@vZQ8f$)#LA2t=N2w)0(qz(d1r zTcU|FOSsAGgB=0BMb@;FI+w#QHVoM|z)O2zUPjLRrBUz>Tx_((HDq%9@oX@SDPXne zSh7F~{TrzPL^Y3u)lHGBk5ks8fOyZzw%eXHxKos8uHEp75q-HL5ZpvnBfg4?5{8@& z(L+mhl`rOVmm{*|x6dW5o$9)Vx9CmE@h}6wQr%*SpquO4vEQ#_gY@r{dcNP%}L_i8lTzixse$-EE=tDH} zncCfWQ`BE5r|7<*t!lL2U(&`KC@IdHN%lG@DJoHoi{G4iTzD@eR+R>+g?-QPn+TlD zi22>$qO^AAoGf}k@YiAt=hpD($Y!+Z^3G3zW_aFdCA zH1OY_Uh7)X#^P#cVY%eK?LKfz-mU>D0oU|PpW{GNQ+9($8aww*msBNwJpA}|i8bX8!p8f7`yo36YrZOD(Cg3Gg zdhroo)_^amC%XZO1`DhF&<{x1Au^ymiNucP6ojPR$jyk_T9<>bB{jNE?d z36-6MP0+OZu-C4c>`$`_c0KHLL|3xAuBVL0uBvf&#g}BB1FvF*H|;p?qXn)3FJ6?~ zu~~Re7sj!@=oSUa<;!E&Hu?r*`-H;~+-2g4o)5!#T#x&L56=1DJ+8NIT`NWRNnw@(fB9 zu~xkfyefR1(c#Yf$}`GM1h9g8?+L! zFCD715eyc$b=`h9tDA0o>;R>c%GGQfG2ABiuK3~4IpO{DBBK8LNQCI_8~NSKe|4O^ zuhS-2JpS^E`K`*K0D34c)UBEQo^F>jRD=qUfi(GfN>YQlezkiG;)umKy6z_NIcm+) zcSiOBKw~&mn2JCoW<2pd9^Sg%FXn66l=S8K1_~HW(zOHrp2~P+PCQ?vX6Uo=A@Ku zqZrfPz{8{5Aqu(5a|Gz-bli^~3yxadB8c+;$S=(S_UPnJ z(E@1%PIQrnmURE!uDwFxDB<|92|{4yh10+PTnmjm@|t2V6mgqd1pv_G{<{kRSrIj{ z0v$hB)N5?sJ}?2>49>jnSDL3HShizZA3{jxaJtR{tj3pyJKVPI=U!FN=oxJL$|gUd z;tco}K zfl0fN`+oVLqIb6(HMLiDQwq=tch9b(%P8tpK7WH={>IRnqcF$ypZ4W?w5}GtAJZ@@ zSa;ot0}pX~5|@;9H!iyrYa_x>XikjJ3bPg}y*U;qBkj&`qHH?VcdweS|HW|o;O*G2 z3i!F)`<#i+!dL75;|jGn9%q<*%Io~e%q$}RAWfbdE*Mw)7j>V&Jp84#g8Bn~kcx?A zY^3M%Pa$BB+Zx?>xfqBVLC5F$>kBM*Jd)hG+)h%;FX_~X`0Q}#lgUQ*1-eI^>1kA0 zeg@BTNh4yw#K)p*>%-=Xca8rP2f^hRyky|=s$Sy-yY#*aMx7rDm&uy{Ql;l(|33!w zF9bY*Jf}UxQKR;=e3V)7=O#s2b6j5k)T=q;FNj{_uKC=XuDft&^4B;?xyIDP(<~vbJXv#bS@h{_KxONyr6)f zOs;Aaf{!*4ZV}VlNtye6l8F&;P55P*z9o`BLb+4^6`XNBD?tFhKnZYMHTLbSh0(;zU`-IMRrU}o^+rQ5+ zcZU_aYJrZNw-s*e`DnAk;@gyK?4@8^LKqCdvVVf!q0rzLQa3?b1>V;yk@s`zTF z^H*&7wz%`G`DRw?xDCWv*|-nyfmfPsOg>X?D(;(w)buOvCq;FFgNhA{%A*BBpI1I# zPavKudgBca6r@9%O#-a+2HXyjzD>pa`}iG3Iq=IWuo>l&$NDi`+{V_{_o6i%0@lre z`kCppMt)NV{MC5+{td_OdYX)Mng90=r)~|jK>yfK)}o4D{etw$7uPX{8?c!^QPS;q z_#ID$py>1nubL(KM-on|x?74miDU`akPN_`wS*>Yq8zSyEwIxKe(KyWuag6A_5b3oGlsR1Uyd%_lz=iioX|0 zy5iNdsY-l{^bEZzx@s;hhTwys{acSoqH$YEo?!vp{T*q`KOG+z75*Z&wD^|e*0e^7nxP|X$P zWB@P!ecA0r@c;ld;FAnU%PZq#)!U0=)?4EI%y)crMZ48fF=+>Tu|G-Iep?w8B2e99 z{)75W{->OY+V_^=X;C)%PJV~9KL`OB`skmQSl{>Rr}5%ZOX`i{U|8F6l3M)mv`|cH zShX5omcWX!0?%jCtzJBM{}u(cc})^lbtVlvJYlj7b7wTJ1_I3w=wT5Dalu09ALDiIGwm5#Inswu*;tsDjP9!n z!a^UM@H}`|u+gJZd35P>3noj9-*c0V#;1&0hFv2gQOZdcXejK~{+521XpHi)wV>E} zglp-8bgE_ucO&U{6$Bz5_JPszY(H6+GRY2U;WBxOJF0{sD-ndC6a%uh_%0_xTVPN{ z=$Ov5nK4!1!>t%VaGp<nH9Dbn1q{$0aQ zmLJhSx=5XfSXQ{1Ftam)C(l9+J}_3~@Zgl#pT400h2ntBcpxS;S;iV2J|&lWTB(T_!l6OHxuP z4u0qepGX!_2-;~7tr#avs>pC~-wNG&wKO!qQZ+kWk2e1veGfuz2G$Yt>5vdzvY=!j zb#oWY6jMX#wTO!Pp`2_1m<$7qxiic-wT3E8YW*~fyT9V6%6SmbmTk6@Bkbs`4mXvZ z?0p=^oaXWo%aX(156Trc+nDf*>=j>0y5;Dk$jSsiFaK~++k6)v;4;rigJ7hT!m#iU$=D%~Vaqtp8~C9~B9n1Lml- zP|tIK%UN%3xhtHTHNIF+z;cIs?1p?;SyLbpH8njx>x=p zq^n}?FFl3x{Hvba?wzWU6{R&b>SwkJRn8P}7Q}J7f|YD=Ote-`j;;6}qs?DUR;S;R36a>gQvdx_cpUun))!c|d4%THxLG;@pK@(M( zc_vva(EQb4Uw5~@p7BbMOXK?km(8wo3zns$?nCsJec zqEhOA`b&C0!>@`W4&GHTk-3S*8uAj2^$l;K5(%S#lHYLjFyzuY;9oA;Bd4X}GHIAN ztxZ0*-($lnK=XApM4-yg&W>hQ>RUYd2dF@Vx%`?YXPj|1{ZLvA=TlClZ=$}z{3|jt zCaWE;4}p6Rl)_aIQO{Ft$NK!kFDDxx3yNtEe2}}Zd*7FT`22m+cw<+^I8<3l4%c@W z+^8OdbwV@IsmoT<^1&oF=ZbHz-ns97w^F*%w&2KtsQhxcrsL62DSCd9i4lOO$zMpz zR_StL_|g1P{qCrc%Y>{B-`j&uZVkozbZS=nLT}5u07egr?LdqnN2_8tihSFL?JSRG zq~azm?b)xDFB^{&;51}P+p_GI@^3yM&%e^cw2l7r3g%O%!Cdy5{EQhkl9Ouqxiec3n?R*}a3D29%TL<6h5-$jOo zdVdIPh%y5-qI-wYFj)xm4rt^Ke-!uxa@t)*q%D6ju2Xla{^(=!Gl|uyZ6?~Qb523I zQQg@-A9FsYnS7csp1zk358|FS&BeLF#ORP?{FbouMKekwk;Sj{9FDuaiSKV|&3;y8G~!W$-d!AOv=pp~IU?_#NS@m^`F^SZ$ut6v@{* zT*FQKBNaF3tJO(GgX(hee5TpzFPl+YCgu`K_ePCzS|E%F9Xg_GpQ2u0@1vM3W^z&$NP5x_xZ8`4UmzdV zFlqXOmCL{Ie(tEXd`6_d8rl0kWH(PyLE&_scyAOjW_0DEEApzQ+BqiL#r)gFphI*? zafNqHG%f6o%Y^cZO%Vpbl8#dq^Y_-5wHu=Qb84WWc00j@aWOOwnI@jDA^y-us-*Oy z;SYxCR?HyzcuT4Q3YGLV)YJ`K8Y}P!(O;uMAsl6DkU>~!c$^gv*?g;W)xD?kL&XfF zk2;pBlU3MfD<#WLj;&hT)qRK{!>DaRM~JJtKq&M0S~K_`H4=b2&g|;Wh-%$EHPeNd zm!JR0h|RC4Y?hw?2;uLq?&jOS#aBB7@q)o)gr>baKz@OlHG_vbYUsiO-Sltb=RkgG zQF?yLWSuruDb|+Rp_1I4u6r$nyUzfb%v!_spr|i>o)@2V7QD*Cc)&+vpbtSsjf6$tL?5l;TT7 zf5cLBLfO)>GbXDZkC-lW3&NV-#=yp7Pa&!eDy=we?%*>5b!ADYMAxs}=9J8O7j4CF z=!7B;D`scGGniM5W53-jPIZAneII~M6OrXB$OwShHQRCyi2)rUd~Wea+u?k|8P>w`7WxkEY@P6iN=UXR)(}hgw`}2mpfqyZ7D( zlZ>tn9UWdf8`5w0r57pK*`?UuNLYib(E+3>V2?mQc-&dVm@?)o>rt^DJQ*_ySKfmcoL`Ev&iyp#1ymG&y{jV>qHZ6nKfKZZQb@-FltNLJRYhHc}15M<+?ndc%gRMTl^@DaXS=Sfd>q zQRN4{Z$uTVxsQWn$QK8yE9m@A{JJ+*LPXebJ~B!I&#qEbe$|%*&9sBy7me zcWQH7cBj z6A2NS<5l$9Y7miO^XcsCyc_D)5S-1BU8s(&tPPIGU2r55?tYTq2S(%|IwVEp?im(s$2o}rW z8{G<%vP269d2J=x>e~D+9U&T(i9=6fgAX6WeNonIP-_QGLzF7b!O7`CbOZgL94_{V zXkxbGFKYidmI46%^k^@88w<}J{(nKnZAZBU{P2EuA#TD#QhZ_m^nqdLr74G}fa1*{ zNO|HjG?<--s4iYpeM=8$NhcF)f0h_=`0HfefoeJnj>9x~^-s9!_uqY-N`0gvNj+`W zfqwIy1717ud?M(aeAjR~tMPTx&+rGX^!aGU{x4h%8g^wFc>b@>sqJ4QvzOj`athcP z6EC7Y@?o5pg5PR+ed0y+YG^(D*Wlf>X9 z3ZQ5C@d@@5=H;PHMS2O}*qCzq{YPqEqF2(~8&qKLQH8)%;nOZuVgkAmed=1_Eed35 zchMS_xiWuGXPXZH0QuUVKHs*uow_a#Sy@;petYoL?4W(N_f{|6UM3u*=-R(j7m=dp zTj}{#wF*wQbE2%5&kOS{UQlD!NXg3hPkBhvrv1!PFA^ZU7+*{jv-ux&Yg)x=G?*@t zDc(0mmXexQp=Zr_F)p=!`<`O;boU;!RwMfg(N;6oy8o3j4^r8U8>9=90J1MSP6JlK zajFvFRjl;YFNi}87C&|U#(k1n=l65dPu;6PH---GPKL)s!;4>j>V}6;SvpmXZbUd4 zz0A#Q2d;zTB7V$L&oeRvw@4(BnD-9r`EjEF1eb)&P=_fYqIqTx7(dfU?BiR~7^YVu zMH6=IdtKo7<=cVt7IE<~wxtW&fne?%H-6(aU?-%n3;Q&tI|!{xeE19xE1I=BKA;qQWN zgP{bm_dkJ-cJC?#Nwepy=PMax+cHmBY^>HYE29i`Eirr$AbDLhB(8#fIoemoQqNGP zsjDN0dYuBK`S_leHl4?w!1hSF=@Y^#vJjcFQsZo#ClJCyX2K@b&A7c#+PBdw_i~iC z9qbrVPHx3F$S!pG9s~bf$B@B^F<4af-V5XigBvTS?|h-VE49>hCq4{F^z?3xm9>qgjis6QLbVfVWq&h z4pIfp;iD?!!>+6!*{3>BXA!0gqIE!~&Gdj)D`gWwNPE2t%lyXr(rwTZ211HUREbf^>pr^#O_PC3WAchxZCA!ZRxU zKi9TKX;u5I8lrdlf64f51t>T(zB7<~rHE&Y z+DSoPL`2PFp8nRJ>Mwssaju1xxMrKs)R(iC4bO*f3`whQ75qt_*lP?~45LLuX#v!| zv9>VVG*1}9;u4|(;l!CiNDNH=N-N`D6tMaOyU={>g3npUUm)pY2&u<%H#ll(i1M`1jU3q|@p2uD7BJ(TM73BlMYuwr?h z?8nn#dlUF9_S}Air>XqXg~+xHUXDyVqW@_64}PJrJo4mowu<(Q_Q3Ptd{Nx523HAT zFo7T(a8lgvjaR`*x3(QlypYxx?)d5-P7oSdy*h=?(*wTW>iw%1jh0KJ!YGzyM8j~2 z;Ubk-hr1rDoKa4=JWM?}&v#Hkx)2&zy;?O|&ljkX?v^3&O|?Jt18lTn+ZVx_7`4_i2(I9?~nH^H0 zf#0Inma)JqZQWJKrOQU9XV9{fiEB3$tABe8$i=Kf;>P1TUfrcw!Qt_+^j3ET(f|&Y zM?Uxe>weay+v&5l|6;LBRa1D}yB^i?Db97!hN`NubLj*;Z|I7vQ-NqmGH8wP4;o;x zHh0J1caw7>&S*Ml@Yr*}o4MMdqwW5_7m&@z8Q=$p3Z{s~C1?4+kE?XYDNw>ZDa>1* zXHXF(Fb6o3n@;7Q&QF>N$8nbg8IWeM+O!xNi|F|Jo=J2vT1-h&X3>$V5bThflX7}? zaurP*1&&+#=%J;ziEi%3EpKaSn>=5>Yr7_JzU8d8dgHtuz3Q1|wA*#r=AJ`i1SNMF z{9Y!S-@2F=aOw&^e>z)-{36J1CcC{Z@?A<5~#yF|VI(b-V9A%Do zgi-IV6Z3?~Y9U)W3V9THcs$(iCd1pgk_D~K6K0pYU8UmtM|)XCS1)(6=ehW}*uvO^ zo8{+)2lhxtsirRLe$`!ie4GBYMGv9;a#VtzM8r1qHA;o@RgH9AL8>7TPJ`0X`*)GR z|NL0m#=^>G%wKG!oA?_dRm9ndEgbRcbk@RLTXOfqASXmMH9g%L${NwY;??GYeN!Lv z{-7j%y(V-UA`a~T7f^sg`a<*7V%U@T*F5>{w#zr1JVHDhNhqrE{Z@&|+vUG@C;T(& zuM)xWnSimIER z_}UikX+4TO>8zIU)w#61wNrj)1eaWBO8X8KbXWYnkA#_WPVEf_;iI7FHrJw!b78pr z<+W2%RO+kmo!N98uBO4G_4fM2mNm##i$_E4yCd3dY7boq-N%)PZPZwv{N)gGXeMu4 ziHFXWDXE-~3XAX=l^+jMyd16k`7tDe(eI|lY#miJ@K$J{qb9q@ZNqer;#DL>$}gq8 zi5AaNDjLz8Qw`&Us*R$MSInr*4iQ@?AKcTGhn}{!8oJT-|e%~cQ)ltRDL>5xb)c0c`_TNx6sX2i|zNO!%29?qA8rrlCn3ukwj2~A-xY30*|1)iyK$QJbXz;n4T?+0nP=*7vh$Q}fm&NkY;3U`_F z$9{$>lQ~oQ?$goes1--4cHixinAQs{Nkz%Be~OcSUrO7Q{fNlQp&vYe>(Coj!C@Zg z<5UI5VRR$VB%H2pa_0IXHxW%{Zu$zIFoRLfZWOIuP&V;P?1w|Eg ztRIdSNBssLk-(BhN-~6123BcM#k}8GIb<-D}y^S%&>OZ{}xA%uTEhmV5OBj-j4^hOybVIaq z#Q4};@R}aaSz)7a#+I#al(Y7!8!_nxd?w-?&_TknOgH_jmMy+smd%ZGm=HS7lv{3n z5>I=xI4=$q7+I9>x6D(6NCXd<+N+*)^RT6#OD(_T3N8D`nrSXuXJg18kP^Qg?W*1S z&h#}B_4AEPXtcD-u(pZ;$R>d{3yX`{94YUInS*J4EM3;}-zEt2^iktxNe{=yVh@M8 z+!xi(q>DjW|6H6mnAUmXT;5DCD}hsE``Tw7%Gf`+vHFg|sBZn1qE!7>TL^*a$I6|M zfzQ8t&OV!fH2)N=kI=i5Pj9)WypurTAt<6P%x&lR%Qy@ll~R>h#}0cX`A@NIE{->qy>=$17k(}+ulL1F z<-eXloN;C$!afKVFHfDc@LTPl{9zdgnPumT^LFFC(+q@2Ise$DG;i=u9ejvX8y+e3 zDIafij)=^xh6q?$GDJ4oU)L$B?EmaM`zy}j{C4z%em-J~H7sY+ z|DjE_P8LX1ZdkXd;!sV9;X2oruQKwg-VQ2ar z?2W<$^1rT3Nu~R*76BgV+eZQLE7@6Yy&53q32{9=08K)|nZwx8SB%6;MXfkqPp1ul z{rxI#;v%mTJ_wF32~Q-H>`f3`acSxp>GV+^%U$R_oIPVI*b-w)0Tbr&-D-`Q00e76 za`p2^aq;m`jkBlV_0{Uw0C#J_r~w=?$U_>XblLjvC=H_oVcDjpEyGa-r4yKcnznFh zE?dl0s^MJVnX6~YcnJJPi=*KQ-}9u?M$%|FIE}QTui!0Mov`HS#vOZ=O!H@wAxe{o z{b?aiH`3FUn{8>zcA^NrWZ~$+~#FD7Y9pj>K(9TB`OD{_dz$5E8$Xa`x z^Q4Hz1WfxtJ@!LzAr+ZU+mlH)o1A>Au~|NN-$0p-q)hye-_x@?yhku79)GB=*G>We zoc)hEJn`bbQufEQI3<5ShA}b4t6dajIe8yOI-NdVjG%FkffA3lc5mh{zMnL1opj6K_45~xJih! zK_$3mQw7jyzgWKuwh{Bw@i<*+cC5F5bT^n*j?^-%gu?Q*-cmgdTx9uG%QGflLwTRn zIBy82*LBwop32|>d{#rhLL&8MNfIHQS_&xQyaLb%4rqDHQ5Z}>l|eahWW)5if^2ld zq)1pZ&;%ac;xE<~MO^j8@C@%++U^}tUIakO&o&ljz|el%`}6=X-NzP54!WS%5v76m z{lz?*;%bapM8C${k^L~9wJp3htx%HTft!+w{U8B7o|%_;I1go?7cuTUf@y9=+^#l1 zLI|f_JI(^lk9GSyzCMDdNirl_ntJa-7@llox{OGztoi#N+uGY<_eNLxXRlfDm;c@Z z>{GQm!7HI2W00tS?^5~@5_rzP&OawTy$J40?7JRclDCRBQ6}q^cp`Al|?S<>~ zA6@sqO>u|^KAeyN7JPQ+CXKsWF}__rhywWm$V~^%LM}11O(y;} zfc#ReYM&XYI$vxAs2*Ayf$K4or1v5Ks-Z&?!EGpCuf$E$7Jb=VV7L2qva9wy zX&ndnV2SZ`{e1fO+SQ!96We6WGY4L%M{V>Z=EfeQhxpeAdLa8DtarH03R);fdw-Qy zt-_o*EmpwQ#+N=8a2bIXa51uNoO?3w4tvf(UdENX+{cSZkV`Rh5-R zX{lsf*;SnDYb1~>oLJm-+_|$r1CLVC0xt|atInD{251Fu$%*!G3UGL+sHGcE4p**D zyc_=k&m&^`%GiaaKiqRvT;Jx@Z|ik91w1YIONdcPHtqvF{Oku@nEVjF<-pOg0=x$* zJPmyb9ff@Y3L3G)lPV2f=uZw*aZ3uh`bi(N@6_(AOakt8{f+Ziy`RQ~`nehji+!>i z7MzQ8?!!(fPD~C9(q}8YUxR^gcFl%p(x+e$XnSHoW^qH-pX^~Du>Z$lnez1br2W4{ zA8*BV*xKsnMC@WbIz<_{YtmWqox+$VlEZ#^9kA>T`7>I<`Olo|j>mHErTyb*)yJF8 zv$KI^yMY0Z4CU+(skc9Zj|&DT(sw2TPlVf`XjhI|0{O03uDZO$eF=906|-_-OLSM* z5|>Mr(qMRpS76mVXYu>@Ui%Uqi=oVvz>ve`n%P=_Zn`5I@j z>{j;6Wus@m%RZVR8Wj>L0|#q6E(E%YojU&5T)}TTZnuKil_Wf8T~AXMQc%?NtQT03 zImy1UXJw|4{uRf2Hm%(Q70otx9<^#eplK9|)Fm4Uic@~AbPX3TC4zxPY3qhaA->$= zfv^&^fE#L`1wxoLwBhrB?8@K+R%#tlS?a(`MXFGqo&&!RcfmLUX|0zWjAAum13vrUc0Z#0XeFPf{Y@t{axvp)z`>m+ltJDPww^g4aZrqCw*zE=BfDpk4{~| zqqX7tm=;RNl3^iBb_;C@%2t6Qn?S-pus^>MDALD%x0eg58~;%dvZl-iW2Xy( z8t~0j=gvn`fA~B$uRAP=Cg9HDej^Y3@aAiIv+KVP@ZmO8Y;D}WhS5Sv1UrT`BoE^+ wjw)gcSv|cpaSn#)G~e)~{%@1f_KZ6*=sN1rWo`BPPzvx#Rz;>#$~5Hv0IR!xJpcdz literal 0 HcmV?d00001 diff --git a/nodejs-tests/assets/pixelErrorTransform/movementDifferenceIntensity.png b/nodejs-tests/assets/pixelErrorTransform/movementDifferenceIntensity.png new file mode 100644 index 0000000000000000000000000000000000000000..e0b4cbb67bcb2c8c569f0026a584d31ea7889ddc GIT binary patch literal 9635 zcmeHN1y>wRuw4kwVgUjKhv4ok8eD=0S=`+cG`I%W;O_431OizWw;+qVEfOHOJ-+t? z-YUl;PE~cy?T%Dak;B4xj{yJxuoUE_HD2Y#>wS!d^4h92Kd8P66thoq z(twx$uKb>|BmjU4pdc-w`7Qfo)ytQB&P(9$y6eQ)idL6}e(DYu4AK?r*gb6W7sZ2< zm==nNZp&n=`?k^DOWaX$jovYnA7L%@1MUwug(X}D+awf3B(w*WU|kFp^S*B>4RrQD zN3-{z1|SW`EV`pPw5#WrPreuE^F2J19W#%o*&rU*Fe*eHV`Iw5*bF`Vc*u|}d98}I zZ8Q7}T~h_1XoQj3MV^qywE=-4f(hjdfixbC3tBaCF*+4Mj0YG99YihE+qA+KCAgDfb6|!@#8mU+*cC6xOfBL)Kb~2Xqy&DF zm6fuzNj*aHr1U5-}hzYNK$@-{OqcTj>!&pIgIQJre zRh)MvAf&!%)9E94EVqXqk1by1k|vSKBzMfBRIr%g{oikh5XKTsF*vB03sUvVrj1O? ziB8ssu>8x2+Gc9uB2%#B*=~9UVRD_kB_Y&P-kPvt;3b6n&Vd1d`&l@|lk3(Hu?Nef z%d~0LEkl5QMa+}~FyT4=ITpza*NR;a)LGo_CPpx>GiLp8}@qmH>=oB@hgXLeAo!L(#IvlYepD}wk zraOr_AT9dEaK-n115UOr*$FG|QQnH*iWLeH@2cHKIYImgWimsiX3f||J&IGD&lTwz z%Y#pwKVgNY5X^p zD$pj|2zpv)?_ zhGxL18Frc5mg#aZwgex*NJoHeyu7Ce&8E(u*XwpTNV;{n*&`CA$W{Dfu|oG6ANhn7 z^WM4jGq({~f3V(+*#Z8MtqfroaNwF#2uC^ije0096w~0~m=QtlOlM>GJgQvdThJyY#1Pk6!>o_)+ne7(3qC%v?JasAn zK(qvo(T
l>}RoK^gJ5~FLagg|6_nm|1x?kiR3?SaWIA+;cOjo7ds-@)nG$f{lv zX{2|=5Zba)t;7i`x&C!)6Fq{eytlLQc1{(r_ijC#?~bS@)2Gu}EBXnsGvF!nv%$4x z3Z^PsZrPtZk&+6xgV}ZJdEG{6+h#vId2aj$5{EJfj;_~d#+gKL9KE55E8UNIU zSZA$X9xUSQWv)dtkw;r--&|-hbtU35t;S7R^@&vNm;l+3y&ISn5#=Tgh1cWRSc&D! z`*m4bkNzBA6e$ut@a7MtfnG&Va8P{yaVx^q*)JQ&XUoc#8-6*eoiB};Ee^z|o;1qG z62PAp@H}2R=lI?m&VE2OnHSJP%4Yu@>hTx3q@4M{8|l~BpoK#`t3npRhrhiZu!vE_xBch-FCBz3k6v%8axgJ)z{1o6&Jor(F@Cr|HU4E zDNRkS%SpDZS$Czc`}U%9j2{r$gI2B|+3WeDW$qljMPG7NB4O-@OeThHq~A+crAWGw zfZdr5m5}lr(k#|W!uEF_HlgVpb<5zG_bYSK*|@qWP6)1kKW}uwCF7Q)p=nlR;^!d3 zPU%ivxzdN)`&)sNXGpV|t*{&W6P@tlUmg3jIsc!yoy*90J2EU2bytOvXSOBti{<-F zL_}KE5M4U!Tn!yFLPX@0NcDdSMQ#v{p7pHeJGYaXmb&F~0WfV(o&2aaztNs-x3O)B z)e@uNt25aT83koTGQHixi|7{`KO`pplAP44R+kwmehVwfQzjJGdh81SI~5_~LD8Up z^muo<-4GQiV6UtL6MRRHJHf6S5u0ManSk#GN<_`n5-KfX(~iqQz&+TUNS#nsdG6nN z;y=O~i~wE~Hi>b9-o`#Dfp|w{d&;9WqST2@om@I&U1;)vS?O`)jV>Jw0M6@&V`Jgx z)bn`ViUn2LTKm;{t6AhY_-YOLd*`Axn>NIS1z&%VMD^R834@YsOaV zQf+_-8AI)BuRKldEOY!bY6))J(QSG^GGZsYT9Vu}C@YHmt8}CVtZrA5O>Cu3=opz` zziWl|CW)rh{>Z8Jp(WOPh_sa|&wp1u@#ZhdT%jmkkrYn_zK#W^a(zo(*!)?&5dQOoG1%Foj z&x*#SGRsw<7zHjtV8!P&Lamh4RZEsZq+gJcxwmFPyp56UNsT<1NI~hhbsp>W56moA zCR|W_`s#?dT;6NzCG}{BIRpJx;C?E5iL zazhaRq<~a6>y}~#!+DfI1^|MG2G{*=lFn4HE2Z=GeFicicT4@`5~2dP-?#|-87jqN z+EeYzWY!}hgc`|r#U5In$e8J5UV5*NYEmSsMd|~`_1C~9e9u_~x(X?Xn-}Utg-e+K z(93C*2r96DR%K%?gHUK=J`KKIe>jO+-+MxQ$q%mnf&Lg6VfRMw1wA!oY-pu8rAd!Q zI(_kQgWU(GSQ{+pb-Kf`6VQSH?(95Asez6t;{w#SV@s zwW=pe36p$#qEPGFwfes4+i>5yHUYfd&3Fj!FFN7vcQo0ZN}lRrO&%0k3Q9_klV?Vk zPHXfEllBSrX{?blo|yY%(*3$bjGtok(?qkDN+`L6r%PH2Xcplk6JJw7>1LCcu8x>CBH-1Q=8r7* zO1<-*+!UZ&`8gEEuC(argwbE|uud=%0650yBi3RKy_w%*K)$+4EHCO+wQyd`zS`Y4 zNhX3afxbq;FS-040OD<}EwYSVDI}T1 zqkmmB?hPa&1wz_S9R=0qP>I~1k6U&$R|`^xssVUtX_~n>Y&e?u2p5}jJoNYtTJe!} z-uw5SD54Gb2_f0?aR!#xOOq*K}nx(VKQN zMmRBA8kvDc$AmWMYbEW06Sy;g1Q0^h?K99t`F^ZX3Z2_4?m4Q4lm=j;a4zz?dbWou&#j-g6}WcbR0e$Ly<9OT!MKR*+r|GgVAO#K(MY%0!(x3q% zs+d`r>&OqxLa-Vy4DM&B(#Vr{e`Bg0FFyETocFRmrnmT{A#mOvo#;4HiY8d15bpf8 z=dW29Y4A|cQj)3ftnSwaQL9XycoONe$VT|ctnH&VLQR5|YR&A+vH}N&APSD>dj!;R z+ezn*txlBy0Hg%K@@Z$=i9w)#=Qth!P3JvAu|G2G@?ZGnZ1ywB zww76p5-*1=cW|rMPi|uC9`|wmp18+cUg&Es(+d(yU)R2Jlt^qDmJKCt=C!UC&5DR@ z+4oNScYUuA(p^OIDY?|&n3-QQir^i+^)fTVV7{dwX$${306=3W%@HptW}9F*u6+Y> zPvk03@QIT_prTP6STlkpWOQHN=YVcp7%&?(@-Y!@KG#_d?ItHNlG#q^WeE`h^3Q_| z#7}vk*11hzQ^%e7f_7FK7#YQ^MMqcRmx)C_tJVpkI{K@mX+pob_1G{l@YFM3K_C%1 z%z>|Gcsx!%0J#$z-tUk^4(G27T}Z}&NupIt0RTB+hOv(@`vhygY7SZr%wR_i)mh6- zef7Y`>{#%rQJ(ALq&JoeH-+f(UXDs8uS&F@Fc}ezb3}x1qhJ})YzYcyt09@6!@@Rpvza9j)aJ6K1B&rgW{!E??+4w z>N(}(ie0`gTaL@E8Yi)kOPZ?y{SXS%$S_eQ5TtyE+8x2PB@>scb+k(iV{M$H0uU3` zBwh{`ZrnlI1kU&XjI56X0l5(X$E(_B^u+gByP;^(^IH@ofQV;K*burzZjYOC%Djd9 z(MTpVkiwOAFhW||!Zl18QMn6GfSF1zA!&M0NgoR|L##P^HAnNompiUT52)h%I4LHE z0L8P|Wvr6$7*1qRh?x4TJa2cS=i@Du04LU+cFV#d*-aUswl_ADL>dXKaT-I)MA)G? z&a`Wy)^h3?cX{o#UOzQb*lZqnS-{8p7Ci2uDac(DkA@fA>iwOF6Hid=)eqSv=5!s9 zm@VU3B_ZKG2pj->fLc6NUV}KF3e(Z$G{GIeV({yuKJX}R2)@sYo3mCt6@!6ucMS?4 zTvc?qB!k8QsJ}`}dr~}fh1Q7E>b)OKBPpq$rL2j@;&7UX@DXI^7Egr_>nZ#sL0$U+ zN@D>ES!PzZAGAATS@J=1-D+gyx%7{Xc(z2l z=EG{}Kfy$kacPnxpeJ4u5y5j*qkd4DY6p)REZ0dYmcAp_z>&2-FiEhb>#Vl4%49Da zY*mICEb7c2$~X4zOuuh^a~Ri}O>##`!CL-J>CM)#l(i234jL%{6+@ z?CZIPCKSl!MJ<7yU>ZWSWZV}rj+4){iWCOAe;=fF82hWka(^pkhoqo0hi6oG#r3a| z$kGKT@Iln*5)_^4z(Zm8%tm4FMPNTVIizc8JXrJk#OQ$y7ZmtCkv5<4zz{IXo@eDi*5+wsgBe;szk=60Wh(8l`hr`TV(|My$)WV2XoxIP7Txl9=fx=St> zvAFX+=(_j@Xwy;ZhJWgC&qYk8HX7U}+(H_U&7JTQ^o;}CQvY(L@N+m4Xmah;A60)T zK)l@2_~h2u0q)H+$=0}kE){=sFT?9`ylUgnO`628o^yHCtg!vsjSTBnOQPC`C57i6 zyPM|o;niWj;*9Cgw zURjAs0S*tRL|Ix2WYZ5^cG6F~^sBuv@mlMgO1Ol2?Id98c**ZC7WqHH;hfeJtL5c@ z%&Z^|zlye47#sAVIoj>5I=PGvN7+>G{oG344VX{`xp`GC{=4j^BNr`LT1IVC+f3E& z)nxJOh9u`POBG}h%d6JE-BZO}!d$4TZDODUcco8CljhMXY%?trP2XiO!Myrs&LZGkKjXNx1WS8+rfj60dr$gpi(`OEB)M=(RTFWGk z^IPSsKdBo=BGtaGlFYQ=Q6s`SQht7YgB`vZ^0Qjk<>=(V*kCmRTT}Zt^a*A|3bkkz zthYM=B~_&Xh z2)7mTEo0<0eSykEevUefJbX2qtVHGTi+}*Z2Pi@&aZbeKAHR3{!p1|ojX4YRH<)#<`@HBSu+!;d4iBqjZ0e!w|9Y-y}j=NpxKCl{E#A~bBZaJ_D{0c;O2}(~&=P|=pgwt$eK4<=| zPoyG>u#L3UBqA4I83zQ_SNdLk5s)I23pSu4U^3A3nyweuv-CDYDTR~)?MVkCcSKwe zNQlV8d7_9mI_9mt{o)b(&rg4uF`5g8=dIf*n40&B?Y z3dbi!?L?e@88TA-dV{@;z53nJIhWW9adWFunb8B|3&i-5a45cb-8&IcDi{Accl z4)cGnRkKdZjV%GuSJ^uohZ}Y1ZHMn=$TSCD9zPguJU_q)9EJDx#JUP|S62tTNZI1x?F=VY^W8lFQ* z1Tr({H?J0gYLg6LuvILFWt8L9u3EWpZ@Wh~gU_yPKZFur!lJvA)ZvJ7RMo7)L@kMW zkHv>WHscgR_j+jlnB!A;{}?!r4}GB6O>u-AKW zQaAcJi7I^X&n4i1{Qjga5bQLD`{q@- zpjgGk@lLOr$v9-*f%G+-llsi~y#9Lp>Z2+&V{}#IVi!V~TeBfa#701OiNHgnQ{meC zU~P_#5pdx%Ele_wOM~oK!u5i_|}5@l{aRUMw3tYj)s8Vh)Yc+@ftS& zuk?RF!03juLJJLxZO|1T)%~wfrK34Iz_YL_cI2nB)Of9yO|c|&mzlWR;kQ(jjap;? zy(j)xwfgXgleu3A`{@CVG{-2MOWIF6z8KEGIHsC9F|H`$iAEx58htVu9)AIDpZF86f zI%1?-S0SJ_j&qtYPARNc<#S^nCWlQh7FJuGB+*>M7Q{#eMq%<0iz2lU%06>Wk7AGQ zjCrZBX6{h0)1e))%^Qjb#7mPZdox-A+hyNlDV4A}N6~NGU}v z_A#1+Nr_Lk|L*g1o|=p_KahW`JV6#&zNYagy}q_5i8mON|6{H`{VJ45M(Q4LTzrk( zi|y@9l1&+{jCt~T=(q1U+3|61mo1F%MMc)`$@~|dF*2KKo{ZQlw$mx{obvb8|&jWCuy;oXZxr|-^941nAqcW*Z{iN%MritX? z!I^9opvCsYmv@t`j{O7SxsZuJz0d3($@Je#eqVkug25QcE%Gxm$Y(0bquc~{fHu{? ztc}Y+_^Me-z|bTQyv(NXFRGWc-zu*>p%)u%Z7yX5-+W zZoIy-O8;FBM>GUgFIPHiooi7;&TGd^3#L)cq>r6;|1-%A>?z}3T=Uad+fO0Gt$Vrn zM+agKx9!UEBN~N`7oskOOGVL0wwVFA0RuD2DnwAWUo_<0 z)9Rt%Ff*2UldN&R_HL|AVOr0(^;#7`ww6!3WbX+b9`&lYdFhkmKQ1!PA(_~kmYUpH z+mo9<_1r7c#MxCrXRi>VbbUK}@0(|p5?5(cRpdsWceVbqVp!UB@FY6-iM(!W;>i=I z{1ZqmsnET>+D_Dtb`E5`Fty4>XgjVG=sN5&Z+|1aYTSL3wG&dK${c_u8uxqw{ryV# zze2=KaEP=;AbP;OFu_Cuakg`=eFDcjpUltaz|OB`%kZZiSYiQF*|xi3TX$@PPF_Bm zJ~>ero(>YyU*xStc0EYMe3kAVu64dVti23gp43r|dyP-38`6K@Up9usof@X&*2qW> zdH44BNoy7J)tcAbJ$9c7@40$ULBSv0JraX+S>go4p}TSVD{n2V?P8Zle1+kCeI%? zR3cU%NI?30p{%;zd=iT74=FoavH<{y&HdMN6!L_*_)qb%EBb1&)z#<=wp7K}?`J62 zTj4_-l+b1*t;+B;;q|^W&y}byY_W*3L=G&hRl^3dg#235#7^%VzU*LRFvOE5TPf$syueipc)9 zPV+a$^SbU=@m4Fm-+7-1LqhHhdD8oTD!P|Fmp%($Dfe_or`Fo8?BMp6^2TBolLLTR z^QlrbNyffgz4U-Z_kmhV6WWZjH{R$MKeR~qB+exV003mA|IPw* z#N9M&FxRcVv9cO?p6u+px|$Sg?ijj@6R7pyZvIB&uOs%dG59b0>>-chCibf{#mmx| z45@5dD#&=gSX`E1B~snW%6x26Sa`WE;Cb5T=D64C2C@D2)0-yVKo=CT)0Oqkm$SX6 z(eCWkI369Nc9F`Q<>aCVu|UcXR7Hxf)pYAs81ADvmR&XlqsTEf*WnlVR)Bq9n1r_5mTq8UKC!s+9#^da1EqIv-_$}Z3Ff)2`ChA#>Mbwn>L@@O%%UIO= zOjQ5?1)E)-=>$RHIX(oX|-`RZIx_^0B-A%9SlkjZI3?-e|cbI*tWw;rXDY z&_ey>(Lz82ZR4yb;S4MVq*=Fz7vLxn*lz5JUE9%Mk4SA{q;%W!x220@S77aUlUId z>KHTpIvx6Luw#PyzFp%_9UL!18A800bAFely86 zJv)z&k^Hu+GQAWe{#pAVyV?{|F`LFi%C8dn;h;{w0*6T>F^F|^?3gFup}~>E7iGEi z%7^m|nm*+P?2U;?eRI%Ni-3PH?MDBU61kpvD_Pt255D|mv+^p5hWWZpal0|e4{UzR z7IK_pXxqDehx+mmYCaqEt>iq#;;Z|)UCAG_H=k9dEiItL+~LjB&ZL$`TfE}hH#MD( zQWdjV-?88fGTY}ZO3!a)cte7OWHd*VqJliknzDjkEQ@mGJuL&S#>_jql0&5R>(=z} z%D!dHFDYbb>e$P{pFuBT)(1MZ|4JLC_1&nNXtqFb1U+a>q+-DjlEIC4fu4x}5Urn3 z*XV1f)YED<=NE! zJa9F0K>)t0{6)S02H#}mktwd~yf;>$ANoMVQnJTXLLZ`L850RO&`|3FW~DV&96Qtd zTW>A<)mVQVvU1(8WmMMGu2zrJ1sn(s(5tACOD|^eJ-W~rQ3RZ}Wwl}NhFra&o?IW1 zB(r~h#ANQlsFRQy58M*6`dl2yi+_eJ%+b { expect(buffer.length).toBe(91876); const comparison = fs.readFileSync( - "./nodejs-tests/PeopleComparedToPeople2.png" + "./nodejs-tests/assets/PeopleComparedToPeople2.png" ); expect(buffer.equals(comparison)).toBe(true); const buffer2 = data.getBuffer(true); const comparison2 = fs.readFileSync( - "./nodejs-tests/PeopleComparedToPeople2WithOriginal.png" + "./nodejs-tests/assets/PeopleComparedToPeople2WithOriginal.png" ); expect(buffer2.equals(comparison2)).toBe(true); }); diff --git a/nodejs-tests/errorPixelTransform.test.js b/nodejs-tests/errorPixelTransform.test.js new file mode 100644 index 0000000..75dac07 --- /dev/null +++ b/nodejs-tests/errorPixelTransform.test.js @@ -0,0 +1,49 @@ +/* eslint-env jest*/ + +const resemble = require('../resemble'); +const fs = require('fs'); + +const testErrorPixelTransform = transform => { + const people = fs.readFileSync('./demoassets/ghost1.png'); + const people2 = fs.readFileSync('./demoassets/ghost2.png'); + + return new Promise(resolve => { + resemble.outputSettings({ + errorType: transform, + errorColor: { + red: 255, + green: 255, + blue: 0 + } + }); + + resemble(people) + .compareTo(people2) + .onComplete(data => { + const buffer = data.getBuffer(); + + expect(buffer).toBeInstanceOf(Buffer); + + const comparison = fs.readFileSync( + `./nodejs-tests/assets/pixelErrorTransform/${transform}.png` + ); + + expect(buffer.equals(comparison)).toBe(true); + resolve(); + }); + }); +}; + +describe('errorPixelTransform', () => { + test('flat', async () => testErrorPixelTransform('flat')); + + test('movement', async () => testErrorPixelTransform('movement')); + + test('flatDifferenceIntensity', async () => + testErrorPixelTransform('flatDifferenceIntensity')); + + test('movementDifferenceIntensity', async () => + testErrorPixelTransform('movementDifferenceIntensity')); + + test('diffOnly', async () => testErrorPixelTransform('diffOnly')); +}); diff --git a/nodejs-tests/resemble.test.js b/nodejs-tests/resemble.test.js index 8e20b74..5a9c357 100644 --- a/nodejs-tests/resemble.test.js +++ b/nodejs-tests/resemble.test.js @@ -166,7 +166,7 @@ describe("resemble", () => { expect(buffer.length).toBe(9429); const comparison = fs.readFileSync( - "./nodejs-tests/pixelErrorColorTest.png" + "./nodejs-tests/assets/pixelErrorColorTest.png" ); expect(buffer.equals(comparison)).toBe(true);