From db1d0cf102c436ea28c005c6288f3ef57ac4ad5d Mon Sep 17 00:00:00 2001 From: jkriege2 Date: Wed, 28 Nov 2018 23:10:14 +0100 Subject: [PATCH] added more examples and explanations for image plots, fixed some bugs in large example/test --- README.md | 4 +- lib/jkqtplotter/jkqtpimageelements.h | 8 +- ...tplotter_simpletest_imageplot__scale02.png | Bin 0 -> 38322 bytes ..._simpletest_imageplot__smallscalecolor.png | Bin 0 -> 27247 bytes ...letest_imageplot__smallscalelimitcolor.png | Bin 0 -> 27079 bytes ...etest_imageplot__smallscaletransparent.png | Bin 0 -> 26242 bytes ...tplotter_simpletest_imageplot_modifier.png | Bin 0 -> 73073 bytes ...impletest_imageplot_modifier_imageonly.png | Bin 0 -> 21785 bytes ...letest_imageplot_modifier_modifieronly.png | Bin 0 -> 7308 bytes ...otter_simpletest_imageplot_nodatastore.png | Bin 0 -> 47347 bytes ...simpletest_imageplot_nodatastore_small.png | Bin 0 -> 17491 bytes test/jkqtplot_test/TestWidgetBarcharts.cpp | 2 +- test/jkqtplot_test/TestWidgetBarcharts.h | 16 +-- test/jkqtplot_test/TestWidgetContourPlots.h | 16 +-- test/jkqtplot_test/TestWidgetEmptyPlot.h | 16 +-- test/jkqtplot_test/TestWidgetFunctionPlots.h | 16 +-- test/jkqtplot_test/TestWidgetGeometry.h | 16 +-- test/jkqtplot_test/TestWidgetGraphs.cpp | 2 +- test/jkqtplot_test/TestWidgetGraphs.h | 16 +-- test/jkqtplot_test/TestWidgetImages.h | 16 +-- test/jkqtplot_test/TestWidgetLogGraphs.h | 16 +-- .../TestWidgetParamScatterPlots.h | 16 +-- test/jkqtplot_test/TestWidgetPeaksPlots.h | 16 +-- test/jkqtplot_test/TestWidgetRGBImages.h | 16 +-- .../README.md | 37 +++++- .../README.md | 125 ++++++++++++++++++ ...tplotter_simpletest_imageplot_modifier.cpp | 102 ++++++++++++++ ...tplotter_simpletest_imageplot_modifier.pro | 16 +++ .../README.md | 115 ++++++++++++++++ ...otter_simpletest_imageplot_nodatastore.cpp | 96 ++++++++++++++ ...otter_simpletest_imageplot_nodatastore.pro | 16 +++ .../README.md | 2 + 32 files changed, 602 insertions(+), 99 deletions(-) create mode 100644 screenshots/jkqtplotter_simpletest_imageplot__scale02.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot__smallscalecolor.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot__smallscalelimitcolor.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot__smallscaletransparent.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot_modifier.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot_modifier_imageonly.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot_modifier_modifieronly.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot_nodatastore.png create mode 100644 screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png create mode 100644 test/jkqtplotter_simpletest_imageplot_modifier/README.md create mode 100644 test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp create mode 100644 test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.pro create mode 100644 test/jkqtplotter_simpletest_imageplot_nodatastore/README.md create mode 100644 test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp create mode 100644 test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.pro diff --git a/README.md b/README.md index 6ea1b29113..a0d09215d3 100644 --- a/README.md +++ b/README.md @@ -26,7 +26,9 @@ All test-projects are Qt-projects that use qmake to build. You can load them int | Screenshot | Description | Notes | |:-------------:| ------------- | ------------- | -| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) | [1-channel Raw C Image Plot](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) | `JKQTPColumnMathImage`
image data copied from C-style row-major array into a single column of the internal datastore | +| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) | [Basic 1-channel Raw C Image Plot](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) | `JKQTPColumnMathImage`
image data copied from C-style row-major array into a single column of the internal datastore
Describes several options of the image plotting classes (different ways of color coding, what to do with data above/below the limits etc.) | +| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_modifier_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_modifier) | [Modifier-Feature of Image Plots](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_modifier) | `JKQTPColumnMathImage`
image data copied from C-style row-major array into a single column of the internal datastore
Image is modified by a second image to display two data dimensions at the same time | +| [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_nodatastore_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_nodatastore) | [Basic 1-channel Raw C Image Plot
without the internal datastore](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_nodatastore) | `JKQTPMathImage`
image data in a C-style row-major array, not using internal datastore | | [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_opencv_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_opencv) | [1-channel OpenCV cv::Mat Image Plot](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot_opencv) | `JKQTPColumnMathImage`
image data copied from OpenCV cv::Mat-structure into a single column of the internal datastore | | [![](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_rgbimageplot_opencv_small.png)](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_rgbimageplot_opencv) | [RGB OpenCV cv::Mat Image Plot](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_rgbimageplot_opencv) | `JKQTPColumnRGBMathImage`
image data copied from OpenCV cv::Mat-structure into three columns of the internal datastore | diff --git a/lib/jkqtplotter/jkqtpimageelements.h b/lib/jkqtplotter/jkqtpimageelements.h index 9a4faa4f35..c938ec45ab 100644 --- a/lib/jkqtplotter/jkqtpimageelements.h +++ b/lib/jkqtplotter/jkqtpimageelements.h @@ -302,18 +302,18 @@ class LIB_EXPORT JKQTPMathImage: public JKQTPMathImageBase { static QIcon getPaletteIcon(int i) ; /*! \brief get QIcon representing the given palette */ static QIcon getPaletteIcon(JKQTPMathImageColorPalette palette) ; - /*! \brief get QIcon representing the given palette */ + /*! \brief get QImage representing the given palette */ static QImage getPaletteImage(int i, int width, int height=1) ; - /*! \brief get QIcon representing the given palette */ + /*! \brief get QImage representing the given palette */ static QImage getPaletteImage(JKQTPMathImageColorPalette palette, int width, int height=1) ; /*! \brief get QIcon representing the given palette */ static QIcon getPaletteKeyIcon(int i) ; /*! \brief get QIcon representing the given palette */ static QIcon getPaletteKeyIcon(JKQTPMathImageColorPalette palette) ; - /*! \brief get QIcon representing the given palette */ + /*! \brief get QImage representing the given palette */ static QImage getPaletteKeyImage(int i, int width, int height) ; - /*! \brief get QIcon representing the given palette */ + /*! \brief get QImage representing the given palette */ static QImage getPaletteKeyImage(JKQTPMathImageColorPalette palette, int width, int height) ; diff --git a/screenshots/jkqtplotter_simpletest_imageplot__scale02.png b/screenshots/jkqtplotter_simpletest_imageplot__scale02.png new file mode 100644 index 0000000000000000000000000000000000000000..ebf21231892190f8c51be52e569abd72772c0a5f GIT binary patch literal 38322 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 KX|9P|#J>RXLOYoN literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_imageplot__smallscalecolor.png b/screenshots/jkqtplotter_simpletest_imageplot__smallscalecolor.png new file mode 100644 index 0000000000000000000000000000000000000000..342d5340cdf8afe099ecc9b23df358fb5a6b2da1 GIT binary patch literal 27247 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 literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_imageplot__smallscalelimitcolor.png b/screenshots/jkqtplotter_simpletest_imageplot__smallscalelimitcolor.png new file mode 100644 index 0000000000000000000000000000000000000000..698fe7ae0a7b6126068231ac950c98c6c4ffb004 GIT binary patch literal 27079 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 CSMgr} literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_imageplot__smallscaletransparent.png b/screenshots/jkqtplotter_simpletest_imageplot__smallscaletransparent.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e4610e6d7bd5f566e27c5162fd3ce29539bf50 GIT binary patch literal 26242 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 literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_imageplot_modifier.png b/screenshots/jkqtplotter_simpletest_imageplot_modifier.png new file mode 100644 index 0000000000000000000000000000000000000000..1885b1ed5a9d47a3b0afa5b338b30834bb83f981 GIT binary patch literal 73073 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%0AJSHw%Y*u^-l}+p2#pP|q%oGb%utU>wkLx6>7c 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�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 M07*qoM6N<$f)7=2)&Kwi literal 0 HcmV?d00001 diff --git a/screenshots/jkqtplotter_simpletest_imageplot_modifier_modifieronly.png b/screenshots/jkqtplotter_simpletest_imageplot_modifier_modifieronly.png new file mode 100644 index 0000000000000000000000000000000000000000..905dea1151cedb34b764a59b31e0ce6cb97390ee GIT binary patch literal 7308 zcmV;79CPD|P)_ z%C?!!f|EV3cRasKumgh4#``{vhbjQfv%U5^YKybr5~nYUtA(*c53sjTF{;($&Orp&r-^JLJWzMI+8q`T zBuA}mKJ^W-GT4OZ7oxT?YNIl$R=tjZ^7{Lh3A>Gv^NFat#V245Ur7U%2T?`2{t{RkCI%=5Fs5Wc+1kb@WEHq1Xv;v&-}IS; zUU%*n0w~sTC4b~SRNn&2^jVv;o9^#1s%?zgx>VJw*AJ-FCQWw8#6b3TF*K^V#dO?W zqDY+>ubly zKi5TS4{G#he;!Z_R3m_q>J&c6$`<{s8+=eBcKAXei{eVs1?pk-bbx41#D?KSl)-s^)D&pYNh)(PqF&40&qtN z+F#7K{>Wztsu_6}Q)c8>EL^{B;Z!QR102n(dY`^Vx*W?8m+$?^9i&LLW+@i|R=2$c zfQ9-z8~j$D^)|oCK>Nso_eV<=QmCWYQ>sX<`gSDq?eLfi1XTo> zZuhvCQPpDLLIBw|+M28nxb)+G7oc8I9Vt}{+G6_A*tt&!%PQ61P^|zgt5Ty-WpG7x zFA-oGBHhlcuxf`EF5MOZ>V@hzOA4%7sjWTost6=TwOGiUKBQ7_!D6j&reamBklF0x z&~u;awRi4?|C;)}&4A=7mWVWuI2WW$wFdL8e#f`G0897pCs&8d#;DIKmF=rSrTbA% z#eyXw*PY|Y9iW9Jv%OHUGP|qTW0rq8v4zU3J*YAT6Zu}Ag@Dp=1_rV{1emo$`x+lv zWRZ`2WD#j{ElYF&n7qpC)BO<>sx->(M(mMkA5djLMPR*6;-k7!A`9$w#SSe<9;jaZ zY0Lhx5VFDQl0ss8X#d;_XV|0D{yD(-8(^_kXrYQAvzC}arDJBZ`=jTI>Q7s)r2b8k zZpVqO34)=jSQUE=psIrPtt8&YS@A5e*CS9x_Ll;6*kX^jC4h^yy-cz06C#bys~D?{ zRLg-1LG%VJ)F&cgUyplXRLfH<9Y;{1K6f#c1WN;@kLLlG1%+Chk`f%Se`aP&v zJA7k{B7B}@W3Oat)oVt%tU`G(=|o-E`ZaZ5Z=Z1O9lTl%Y)`N%mRL#Z8wb@WSQT3o zspVO=&#IN~duxTG_UGB)1FqJ5wW?a)a}o?#S^o6KB9F0t_s2r@?R-mQPM(!1Rt2gN z`^$iOz}4>-J&4{YmU=$C+)x2019G`Tr9rSD&Ca(*;j(d7Jh(=ns)7~eRT{27M6`MlRg)@R%2 zxi-1yT)IT6WubFG!(h#@#q$O3@F3M1vBn52M!iI0D;!a*Q7hCSc@Pa-pHVB_e|{_V z&88P%U9ec7$YlPH0m%cZVvSKy3a%uh|$QC&kNLh6nu)t`0YmF7Kbl(oadcmZDilEZ%X2zO{6=1Dx z$K|`L61y0R>Z@fq(j}1^&xUv#J^>`;A zkgdltGK-$Kkkl8oqD$i8mVT~9q{$AK zwZ1nXWpixddi!zDYp|?ZWl&XYk+R1X*q>Kd;L>$eEEt7%wRF|j|6}3kZ_B>!HN*CL ziR{n9MX$)GVA)B@+KyUfK+RGu2o(z!0!=_HAnwJgm7X6oS5969>jSb5*IV1OFh+o- zs%6j3X}?me%3^30o=mkMR18=nNqkfosG7v~XKRrgTs`Mv)hYuASs&Wos8$On#hav} zS}`z{_FcC-C>E+wuqt_$RV>B|(Z0IYcG%miNYA-?sjN$}>QquKf|uuAVKh15iAL3G zJi*_dKzUG&Ch`JmR1hE|U}>N%Tt{DP+whwg!NsT+y58)$VJk!vFld7#Q2Cbl`-I6V zR}@G2mWU6RjjdXF7r@J_GNAfx{wg=fmgQHx5<$XRAKF|ywCD10vjG}qf(=GMx$hvW zERkxB=34?{uVfSKEmn8Cmhwpyt18tO>Z!mY6sy*?ggWbnWC-w`0^V_wU#eS#`>;lWzZd=N2#%=U7f0{geLhsMv1~60$rN zu#r3qfr2)zT6%wEeduNnfYvSX8|s9v=Z`2m)aM$+*b0+4gDD!TLe&IVV6;`Ok%bGD z45~<}L~^wXw$|R|PVDvSW1$^__&UuJjn4zJ2gidJQmYdhyDgDaYUcI;+{Su9Ag?Btp8pWwyqLC#Py7bsS>M(z~ZJj=_k zwEcP3mn7+r^Xac)RO=h+gyPc<(RquBPsPd-O%*c-F%PuuIl&cMjFgM9MFF*$z}uW5 zm5S~FN6tgR#jI_y*MN!7Kg~z;;3n_Mj(U9bz}S=Q?ICbjdt|^uPE~z8 zz42*=9vg{SKCZA}hfU4$jDs!Npa<2cYE|wKQDGDIktE%ylea~7IOEz}r|RTcV&alw z9mUJ9^o!3p8EAteTP3MSpvqC3Ka4&m<2hg6hs+|rTCvLHfhF6N`R?&`SkLhvS+AcV zrWDKWi24eOm5oy;s4uL&&@504XkH@k{BiVoZri?3>pP%{W|DL#F^8KoAFX`{Bs5Mb z)>#odR$hDtXl0m?;#2_aHTa7$QMH|#COc$pQ=Q)De%Y~9)JxAxQF9an+#lKLJ8e=&xp$ZpH8+8L>pesJ~pgZb!oi01NoNq*e+ z-Qq-i>`=H9ejpDO>a*jiS~0N)UZi3NRQ7K%dMxH?QC@y?hfSnqYK7D(Iu9lWs@3a} z>tp+Fg%G30?l^KVuTJC*T-7c4TMSXPotjnd9|bOQ*y5Yx894vHaZQ>WcZPNnY-zST z*!f4j(6>+E_ELironE|75%`K1%Ke|`epjl;io&nic``_kIcnd9tC!oIp*}xdi_Wo% z7KmOn>f=vF-P?PU*y{1WV-UeC?YcnZ7=6Z=hkXpBi-goWNI+z4j`%m7L8T+uTJI&Xpx{%xfxpCDadf<1;zswQ1 zWt8mUcSIGiXe_u`thgb_(7xdzzJX?7?5|%l#m~R|z5ZDx=s#y7*FbWMTLz@qk z2bW#PLaXq%JI9K=O@Qy~*W?-u$D(H~y_jg1mR0aqw~9kDMPw&jLxuX47C@eN4w$ zpB+PeP_+VP8r%^);PF)n=S64qeG?=^kp7CxNA5O=ro_I)qUyfMAMuI%5@@rp1A+;0 zfF`Ngj%ep^fn@udmsK4AU!{rMiyAvs^<*m@Y{Wv(=~R-XV<#}wBx$( z6;!s}uee==(qkghK5{NU=+6ZiE4)3`kK{@PeKTm2aW=27TtpW_i10^0-iKe!f6*#P z(fIz$GK6YXHt?%yBJ%LQW#q4Pdfy-QTD?Zw$nkq~AbWl_I@f62_T6Id!&Ot7yF+4y zb3r0iiv`G2Cl5A#3n(J(u*OKl^`V{CXMM2(Q585dN6ehgxK?V1=j5oq#_kv?)(ntr z-0ZS=1u~l~+5TRlOubLe0okKue+liW7CKfIDrY|4%yTd7xGUqK6(-*W*#-}8Bwl4b zf0cB2Lm=6H@a8#VFTv`CQ6LM>3|my&s{X&?jJdz2_ASsTK5kP(?5Gv%8zAA$*kL6x_rUAtWD<54D#i+Rj1))1^2P$q z<5uFo?X%Z_jaeaT8Ax`#|GU8NfJE4#mzYNirmYVp>`mhD9NW2RCbn>SpG+gb7|@)3 zM&^^fMmFB|7kti5>8>z|8K~GXZ|lDo<0kQu{h=g1%d47cNBLDRo?3ZI6Xjb)TkLA} zk);fiZnI;z`O0EJibce0i{XgID%<&EM3uWk4<>ce5G*#o>ZO6Y3YG^Mv9VCiQn4x{ zt@;2t?C={Pd2ory{!jC*{UOz|YUL@FwZCe9)eEvh1XTu@r&{3oKJsT8R19dR4Hj5w z)Q(`{87ZwmcUhme&$|CGq%IwzOszbnLg$Fay<&mVF$-3vS_ZT%VP}EMu9I%Vc}kdR zEJ!w9TYm7P>f{0DCi1;_*5};;YSpsmuODyY24a0&z3nCOo*g390v71a-M3VXdP71h zBq`LJwZkevkve@I#9U>uU!Jm%Wp{w~d|Gh+x<;jvXGQ82Ek!8Ex&@+bhKix>W`hMr z+6ayMqKrb6Tc5YByK+^Q6xj3g@+$uq1B(h7nAn`Mt_ZskEm!ZyVU#w2vG+;ONBBc8f3y5v0E;)d$tCY=kEKDQTSY7w}-6@Z+|5v~w;OeSXS(h5MKHF!( z5;@eXZT|TPh;_}BfjkR+p9;kpV2o<9wm1u_7_0~&??2|R{AY*=yiBb;pn7fNRhlgF z+1m&(0kN)aYzvcT=~w|}L5jf20LxU1vOok@^fMg^a4m$0`3*hr(`mm;o~(OGdLKi1 zl?PO>ZTx_1KjY))Znq~?5m37AEjRSo0EPZi8C~!UEYA)RP!+}cmBs(by%81rFjiRk z1yEp#jAD)CRV-K?E_f8}0L}Y3RmKh-)zbe~h}~GQBB)q<)LZ4co=ha*wcE}SJc0e8 zO7X(F2buEgc#ZBcN>CgNgx*0W4CjAqy(j9Z76NG%C$9>iVu7*+0amp_545*;ik@nn3!znYBKK{=-1#vUxcHCRmL{Ke zw?)?abe{(UYkw6hw6Rw_sCqpDR|TvQYfM+y-&o>Jv5JX#3A_WiO)j|h?wa-4`VCm< zaj4cs_i31H-we1$z+$a&TigA54T6&a`LseZF^9#f*5^L9HQx$H?f`X+>@Wg~fog_g z^_m6DOX69uLa3xYfvTugA;Euw^_Ey&mS_LA@GI-logf0mgUjw0sg{jVyTjqN8MQ)v zQ4-HU7Uf%;Gz`H^#kzqtatG+C+T!eE0JCsepmbl={#F@J+N)~SOQu>?D|~BjsqtDT8bzsegbK*%+%>p6%(r#fjUsi0UQkz4ky_ zWzVZ_-(nD~WV+uzznq8k1WNZ=3$%SzE7bi6s7SpKY`1l)2r2|k#U2Cjax1LbUSx#^ zDBZU$?fh?n-i6Pg>3}iHWuIHuHqJ^0Rj(^HI0DxB4NwoJOtmK3V-xj1Heg|FFM>%# zq=6Vg*7gss`RV*EQFxhq$s+&rAKve*%CiS6W$ttpm$jA9^hzF7$ z`vmO*P`BDqFBUGlKVyYa>=g#8UVAX1J`XBarC6{cz@j#5j~@}))_!D*$OcqvRIQNp z>6ipd&}t=gZ=&CIbb^WVAA~-Cfo0+7Xr$*U7(~rq46N9sMScm<$3$hPeH7Q3Vn z!Ic4J>jW%W<@}aJ2H5^kUbUh)D+nYVzk%!aopfY9BVc8KW%(C^d%Hj2saUc;lljW} zlt>+@UfcKp3Be`p3E2M7x%pKDm}i4Ju3BO5fBca{2Gs~yj2$wnwLK5a_q`1aOQ(PpVm9RiLu%BU!ipc-onSYa4 zeFLmu>yZ75-2NTx{xrN5qBbg3)w1#V8-Nv{z6Dklsxw)C`lBODs;|SPcVm_ptR1p< zg4X_!9cJ6{dkR43`DFoKA?K~qfsmeunyPAl7jB@)JgXR zNjnRa3z_V8*+JWfuwu8$1h z6Z%HH1LtlEzVSn0jdI( zg(rf^E1qhNSRv|Tp{jtz*kB1Nn7p%a^@L=(CLyy!1}p>;1D6o}_O(%MW7I~4wL!0r zK=S%osH$KgZZ-j(F;s~a63gjZlk?-B$PO8>JV;j1H)4g}u|#pTAgFX~fzf?$tZ+71 zCsdiN`T162g~Tmj|M(|T1oA`Xvi-48eM_x+8C9*>aJ{ibTi>8!v-^@25^DT zWz_yec#vj5#R8@KEl6Jfs1@4w47Fmx`jub@1~6!a$oh1gcpl2Ts`gh^E&KRUsNUKk zQYjr*;i>}mHs8ACQ<xZqD31DiLCVDd z=D`)gY#%UF`3MJZ%2DM@9^7G_Au7DKigv?y%|6|#)oD2-By ziWyrf+aL^P`Q6W;)j6lm@B8_F{`vlKUNPo*p8LL*_jO(G>$;y4xo5W#=W?Ot3=9mM z#_(-s3=B-iz<-FPOyHCAOs=WmA4V@TBYlQkoX98e%Mxe3U3v@*`El&zLoDF;W$th* zF9rs#8t6a92De*I;6vWih6hgXb31z4_mJli1|!cSM^1Sib31Ksz7$+ieB5}O-hMy( zAYKyBh#YM{SbAC5(n9Gc5p1GL|iOr}ki z^pEG>MNIhN``-r)J)E)%uq*rEKQfhyl<81NGPz-Pd;it@jbYX5L!UhwM15z(bw-%Q zXKIf)RID>jkTK@%d6`M6Zbwd79!1@6X6|{QM(e|nCs_ojHSd(jr@=Q8WUA$KDE=xY zQ#j@xRcUSaXWaJmkBt>Rq#sRTt9POLKap>qDP8!O+c|y0TICsY54kczXY@j}P9k&@ zV{V7(x0?^4CqIjd&zzv&KwC9toXj1x1^R1(m{9#Rj@#kV+;=&90^bE8o@49V^GsS}BW^0lHe3!ot+c)|n>HN*o4A3YRAyU7 z*FC`6pu5Ys1D~jmo$(l@?Bd#hI6hj9+@Ryrn_RxdFDfD2qhji?!->9Rn^XSp{KYFq z_SpwuXcPT3%)aKCoc^*IOc}vE1v&jxtSo1btM{PJaGPc|o;-T}ql&h> zBTh;?dis6}?O9hH*k+phL5&n!>LfSf=)(g$qqUAkWy7XS5k0ioJi9i#X{}>v-PJqz z@v^S4s%+Y1^^Oec`;@(vDdiOA6fKHIM55SEk1ko{YzT>5#e<}T?4WPWo;a%X&~u<# zU3{V%YYt6@2#)#{^Lm^5!gM3J@-tJNEp1A2cX0Ma>OGGSgek@6qF;-^Fphh4^ zU+mZbqZy>+@<+R%8g?FPJ%U^}kkFCT9O@Z`nI$-1AX*_uFVwNKkHr}|<(XO?@Gf(( z)lfF+k~aZXM>P#BNpiCbNEhsn%tJiQ)9$%}8N1hyAK*5{Oo_wZ#g4P~%nS_Hl{5i+xx{UNHC={ue43ijH5~gv}e1f{09dp6KBUAJjfo+ek`40 zTuS&YQn1M^BT?G5=nH{^Pe+gxm0|xDl}m@yTGe+BKw8iMTF5NvP8WZC`k^g3O=105 z*D9bD9CuJI-+0c(#x3nY6~%sC$5Xqzo9#z0aNErQ#}bAq6=bGlUVS2eZx*V6ni3inS71X+h83H#jq2R$&egTA8vqutK$$Gh?ZR}NPUBppr6t9{4Z zWI`F|3QuvnjKUv*t#}eDf*>WyiB2Pl8DEm?`um1PbY_(l6GIgmFr;hA1fyY{NhKxZ z%V^}A2C?a^C9vXx11ZQ4NmxdKk=r|VC&;v~WlJ7U+iiKd$w(mCOTErH&+knH48J_) zrTxa@wV7+e*6jxb14xZW4+I2d zE}aN>?i??6t}uZ$`aWZa1#bLIOuVwGRz(9|fF9*+j*$Sc@Q(1QIbaB8d#0}xHWOx% zF&dHQF6>%2{G>kwAjILD_thP&u=ZaZR$1R9Vf*ov7f)k+gT9Qj<-x|LLj`>L2opz| z5BOzAY;JcgEg%I44IW%oX_Ij+>kwMJtXCnY*rRjSu(@L7>2At1OYI@j8?C;OJPIY0 zW;xVNGrn6t-PMdGa@&u!Hl!UY>&HeHI(P?`*%8G8W}7TU5p5)_3wJiR2v>s*&ERrK zh>_0W7h=>qMYdx}mf90KahjKN-#O!Sh-EB@u$o5|8yrq!fG%5(1r8p(K}};Z4I1b^ z1#p&s<6%-;|BS67b;rTWGqyusY{{YWgF|@a7xtV3@lW{+1UNQ;{g%E37HvO0B_K{N z7{EJ_>sThc2@?T>{jk8Uv}R3`1B2Mg0tFw6HjQXF8ywUG^RKLm4qd8cXk4SNG}Dv> zHcLe+A!jJffuEUiGog5Y%1W^@%ec)wfwUDJ?vx2j2g)-y`w31JoNrKXp)&beGujn5 zik^BNjoC^ne4FMmb-mfYHb`vBl6s~pfI7$+;mgV47Nj7c_;y66KM#BmM=C5LPSm7E zbBhEf^gMueT(%+fT@w7t#9^RJn-3Sm?v~GXD?M;*^)xOT%ncMv6|`~MdB`n}l%}j6 z7ASV$ZEAJwc)9p&OMuR#?CdgrHw>w%zdXSi^`<$Hs^Gu0XWmW?GAYLu@D;=1mXvmf zOTNk{(D;hUw{EEwRBy0+Q&5{R&DW7XE$xXpy8gl*^d5-DMGhRGpR#bKtNo5 z*vffkAhh{?Kclm)$l)H7nBxI9wp!=Imm1|tM@(G`n3mJnJuon4*f20jnDQq(h(cOB zonP_*fX&ds&hf}*LDF!xP~lFQ!v;pMmp z@`DqF_U?r1qX>__pvf-Nz;;AMb3Gz(#i32f*-$`@P@-5XSOyKuAj>A|k>rNUr%FcO z(fkHDX{5NKw*&7^fsGF2l~NxM zR7~ceCH2j_OEr|uI&Ol=zJ1<1-0yv4RMH-I#|AV9R(5wYvW=fXgPrg4`aJGX7Y&WcM%o|c+GtjB3 z;U>`I1*$oyJSkgeXunr&!oCdux3`6N~~|av^jx6)&qG66(79s~WiO z7g3Gpe4Rp8vz{i%T9!>6PKoUb5~p1&$>+%Hb)#j|^oEXzE1VjV&C?)-PTXx)$OYNR z36yggVIq^-q6YJ8w4^5^!WrHA;}}zw!?AC#%;FI7WxJ-$*+uUS>aAdHBL~$v)WX5s&~MPnrA9tB{l7u41H0 zeZ>ur-7OQ4z1Z{a+%wNt!1Q*;zTGGqsdBGkKllEm10FeP^{(Ovvb>3Um}7ZSrQqog zL+K02{&auzor14qL5ojaD)ZDH6|FHUysbuof8zNeu2V2#h{x3!6&c|!=C}Jq6Wb2O zNFU!J%`vrclv(tg?pRGJv?EQ)d_(D2uLOeh2^r2fh10e2)>H|fTgtVE$i=?B(uy8j zH$N`ZiT_+&yB4dTe*MzETFu98$@*ZcLumT0<*(gr-hS<7bwNP1>by+A}%&6?Y|iho?I$Ne{$3bQjcyW^_aO#|gdYjW{&UWt4mTlF3(pfK&<-QF;Au>Z!D4mnS`7?-@ z8e7r9=m;JBYF%-cC^nI`tlo8>R&crq?!BCfyr~)6nkD0Y_z-kWH2oU6$oESq_?=h% z9_|?*>e^!q^Lw!|jXPsTw;<&vtt~=8z`9$+wkOgYEZw+CXH}-oSlT01{(_=sSJ|#b z=S%?$IQ~Y4uIZOo9oE~IUTE81qtDf;D%wqWqVFL%V#j8=qF@B3b{t*DLh;*Ib9=+9 z^woCVJnW*z*EQ~=;ybRiQA%!_-F~$Je&PkZ2Yt)#1o>$6Y_}m9rUjWu1l>fy7xu4v zEf2|Q&K`G1Dhj!v!G}pE-X_q6JE4l|&OXQJ?ei9z{+ky1f4Bb0W&ckg{}q9FjZ9#T zbjDH-U(lHDP3)oU^zKWte5)L%J=x|5bLgN9`xYg=Z3aKKzkHDNHZgWeB`JNE&CT?e zewlC8=-v>Jr;1CHkM%lg((~Sz{)s|s&`1DY4Kw|0^r-aPD31*9Rx56QtU>p)?GF@t zw5X(>W}VqVzrqzK>(o!iK5FqRlm|cMoXR=V1HQr6^I(Hh`P$B`!xVsmv-dt8yDdpy_Uo}rvkhFL0fYI@8U9Dh+Ruwo zJ{sBRWT*RBm*LN!c&v$^#(@nz9<3KXnO0QVG1N`DdAdQfbF@wg;Q_ur>=75xW-{aq zeR*zI3o;W%y&n3&9j*8h=K}tCkKIZsN-b=?_`cH*Ud7Wv{J8%!Lq`6`G|C7K=UbuD zd19N*CY%>eqyOB>-RHsf9>t97ai4i!(w`yhw&hyR>g=2s7D8@YZh)U&=a{>Jhd**e zw}#ylsJpD694Eik`Z$~pNe|0DTx0On1vh)5QcH_h(08q1|Su^ff<1g(2`+<#^CkJs%#{@SEx zXO2y0?X~MS!s)nd@ziz0a(A}VHJobbGoNpd9&J7I?p^1jE{C$WQ5VE|v}ok&nNPl6ExK18h%m5%`yo52^tx2;5}L(kb@aI znf$ni95GUS(qHCiff-kf*XX`nxx3p;&M5Qx7=29eRy^f69rWn%+;ToXb3=>^I-|Qb z`+i7senkCb^u(79br{AOnRf4@DsGpAthV5?Qt8u;kCP{I4MRi^cbur9N!4Z0QT|@? z8{3PABy&4Dwq2m8LQiW^R|~oL#YtxH!t*@CkUrX7pL^fr#ozt5V^?pRse$7f1=(1y zm2hLz?bX9eDb}kF2=yOWu(fEW^|cR6HL-j1^z~&2*dEN{UOEi=&UzT()Qx$hoYQiDx+*_$dm&eyD18w6n*oI}i z*Cx)$62X~=YwxS#^5>kWZ?gc)f%C4u3fQaZ;k7%r>=5eDmFRaA;`LHl^tl%C2AV+R zCz4fhc6zuvRhbV*KfbwE*`nU?RnV&r0zv0UMED5ts)OL^Mgl-%^jXfZjT z;?O{Yn>0?sd)^!NmhCif%#A}RE?*z(^`n066g(vwq&*TkK<<_qKfYNkve0@_!Q@~i zMdE6Wed1JcLHf8ielob@pBCHjL#YUNEnc~Hu#u@{8V)@u^}9C~+sK@qwe*ln6gMiqaB>a zP#yzWI9>2b(h(=YI;_OnyZ937OECYH?@F+p0BiVU!D?`B!pG2wR1SM=N!_HmWzNpk1v3hra7l)sCaeVsqi1jAl zX~2#@$n*@7g^%4ee5CE+lmed9^J%f?XbNg*0e`NISF~2_-uW~U!0&(Q+cse$sq183 zy@(lXQms9)rO7(BkiR|61*@|45-R<+zW&5ZB{#=!0d(H?io58pIq@#*B6hbj$JAyTJNpo}l=4ZTImL z8oL+A>cj>-!}>dA80C4K`IOonblG}j=GNLu`knm0-suw6srH-&T&REV*}+ObncWKC zEURbj=G_}E{PYSTy5BJn%VeCk+=poBtFLW5EuB%%$U^Y%Z+=qOyWgX$JM&X&b;7ME8h2(-OXx^ zs}*GXioLO?b`_L#zedmj^MwDc;%cQcr`LfS@oBJv2O2RKFo(iT#p6<+@VBRWv`T4i z5%b?33g;97Vu>;84*qDAo$w{sEa6A-4+Wm&CwLTiOCnXvqMpYA1 zZteiLl&1i1f!3y%btKMcr(<-MhsoDFnZ3y2hn(!Bq+5_{!ZW_S$+|KP*udBOF~6j~mi*PD^88+Xsjzp*?kgW+|GXpnAxATFOOD9t`%RDX8it_5-X zyS^>$`Wtn*r#obp-{)Cg#3oNcI1SpO%(%Z>p z-Kp8!b%FcOt$pR?sx+S*(QoqRlz`a`1>064bysYgHPJ8YlTw`e%dsqvM^Y>*hn>18 z*aOe$9(QTXrl@1G!<=+$>5Gea<+@pII{9IxsC1TYtuYq^V9Gv6v5vDS3(fOizPOxk zKau)S$XO9MS-i9A`B%CyGdmRn{&(EmgLDYmHLW;Wrw7)Qnm(VlL~dgQY0HtU+F4XS z^v$>juYk%;4Vn(uKq~(t{d%*CQ$B@QxgeRx6OU+jmy7dB9;NdLAZ3%<8w?aKC_f71 z(iC4eDXr+u>l$}I!Pspi%)3CVYp=6rs}8_Bd@wdA=! zfedXWr;yL3st0uw6Po3rY$i;BzozfyMcmfjxs?ngzoWYF>8#Ul+C87RZM(+6zH7s2 zF?AS_8+_n|Azi~G5-#YNSKDD`-jI|{zg*{nfDG6#uY*Xfk>UCF`EZ;9Uv=W7$3rymGkvi`Ud!-w>f3JdBtP1$^ck6iE_h=-q`lpph%Hv0g%hK2iDlM`k zli@pZ^sT2W;(xY(M3`c=;#nR^aprHcKF-(jWGYN` z_w5kg+t)0zgq(xd-_QJLBnm-Njy%SD{3L8oSX>lOA-#?S&VmBYVpc&R-fnYn+8YXA zxgND;>-h(RLC#|J?O|G_dRbdcvL3UdK6e;78RmRj%wn#RFg6syT|v`xxvsR#d&ERE`&q%d^?tLUPg% z_e#Cqe189kj+DZ2*_pi&P@d-c#I57>0JnM9b*b9H??5E}q8lu5^`wB+D~T48NtQR4 zRE|I1xX0;__Hr_;xiSMh%uvWyp+$BU#b0J8Q^Ys667PQyJ-IJ8PsHkl59<94YTa?e zJNcl%GDR7Ne7CumIWXHr1fApFF(O|8G=q8w^d;`{@SUNj4Ty}Pbd4X7k}c21Ueo>N z0gpemYA&`v1>32BsC&2gT%2;?27^Y{LtrgXIF>Lo%zn(|Z1nm& z+b&ruv@DrLO+FTsiFhqly4N!$%;T+TNoQEC13=x&dY&JRe6I7|ZsEN>t{rB%>f7p0 zmGv3jT?F*HW;%gY%C_9MM%BLo==)4U;~sx|Y=Y|U#;fA(u@+e-JF;+7tL*oF6WAh< zA(?9zJ`jLJ879GNfI1xjf~tk~-nVvAGigzmjX*f5S) zdF}|skl$R2^DduDAO*gogCn8lII3fO7q-F`DOo)Y3NDh1=8BQ5lQ5N;h zz+@}b&;RVlwxt|zrVx_s@~C>C(_-FF2|(tz^!bbRp%}cx8U;Y&wT;vS#)!D?nz%O> zO2TfETRDr~-}uE3=QgU(ZzdIco6p5vwnY}mY){yF_b@0FFMA-xe!}oh(YDXXID+}# z!@_s_ylIhDl>|>&*k?k0dz8%cC;)%AJ9%%@w9i_u_|7JZryVSR_H3Rv8{T|DRNXyh zcxkUf%PVWthvGF(EqYFp6fACia~z@}1Twe^UYTh1LKE~~90P8!mN1+94jSBy6eWt)Y|6)12d~?1FFVC%<)4j(U&GG5xpv6?Z9H>W>L-$ ztetW#WTttc-vfNn8?4?GbOM&*@V(1crqRPb+YkdYml1cq)4M)IM*=31^v@5Ri-8L#!AOfKRbnCsxljJRl!C_axuSoG?_!>*LS#UZv_@DvTaj#h&6V%iE zOQ--$07CL46WnGV6Z%jj3cNZ8dk5^tM%V?t5=F{^<75ktOK3i#OXwRbHkXbM4@>7T z!WHCEM**Zf1efQ)Gh_=|ESyrd;P_(-*@0&{MeOJmd??j?#$N^zDbpTxZxwdKkOV}X z<#}`xY5RY5VsO(T2Kek+lo%9yez@swq5kFZB-sQfg#t5)(g&fC)`IH&hd61u-`VOy zV(lyL!lwJyDDuk{5K$H5YTXRS)}xXhNtHhEXi>Keu2n+G*r1Y_+HZ(v{YV_m<>h~N z`M_q}z=-`XumK3h$Opj|SwRdg+OjQW$wu8pQpQYH`y&UNaQ6*B7B%P;sl_hQoXdAR z1Z-6{K_=etp_FE!G_*BJ{q*=RDJq~qFJtrF4BxWRP1_a7RROvx35y%#a6v0gg8f>Cdt=||xdO8O!NMx42ATe^^jF=p8^>TIRGj2i%R$zh-*adv$0pQgryL zp$_At9&k$x-P|VBO1FDsiRg8x^maiY-55x^A?xq(wWo<*1=1Z*!#Ujg4#gH+t3&U? z8HE<*;0LL^E@ps7%z-=Vg0NDWuL;k);ycLpx+PNwB*ZZgGm9V;w-i z+l;5yE#`5ey?#Yf^Uk8m83}?DtCOT`fpBSP@29x}RB)M%R3xJnT%kbHCTpQ&tMDFD zTFmhvKAF#DrS4mkNY$HwXtjV=B9H256O}QQi!J2))4jS$%zL8h{4$othq*BrU*R*Z z$Se))r-wcr*0iE+33!eK=J?(asG4~Jm|%s3)$w5rRwVv8dIyveZg#Uz7c)Ce>?mss zSMY;4-cNdosQa?>7qZ5Kxz6RR*W@urqNaA$m3M5h zo1?F(sn;3i>Hm-i%o0P_x1D+JBy%DX(v~iN1(Y+%Oarq22CGR{)Ph+o!B!W+={zN< z8tj6eXk;+1*k)1gKQmvQ z4}5kLwS+K4rs4qN3T=3p-fO>?tbK4FJrE5^$(8Uypay(jg)`Dh3fw>pTWuNL#3G|+ z#Lwi!7Tk6)a}SS^hgWpIpu3NB!&qN(AvOAAhO#Q?J#V@xQMR_M^01BTnh=50=}O?P-4*2A77eSPO^K(YJs zfR1`I?1M_==xt+mS(yVbO$)C*Eh8w=$ZRz@1`n)kbgw?ZrPat&$~1V=F@S+Jt-i65 z0hinb2vNsJQqv5^ov5T!8FReO{`Ze(I?Zcu=?AXJdn$0VwM$cK&JZVqcP+@&Nuogv ze)*UoB-5MHbe%b-7xW64CxPNL{wFu|3T1OVmLej!+4MVJ2Lv6yUItCi zS0N9=Ewbu>*)ugZpn5~@o%UB(m#Y*UTXzt~S{9`p6EvKUM`C+Mp5sPny6iCIEEr>- zqV?9wQLc0{@v;%K&>YI!-m)r1q%=P5KiM^ukZvo+g>z>LR&nyH>h~&U^@3r2K;#Xx_bk%r0y>a2ue%B?)oTK!2ac+}(EvtMr=Re_4qj7_$cO1*EnK z^Jt!KQ5W3J;2zGA=lGp$RlcIWxn)P*A}K`CSrKca3u^H`&!ZkBK^{A;o}d+kjJOfNla{_N0vg=v?!oL3N@XI)R8f%hW#prK_i&E)# zxO*u3kiuD5erDS1kd?@f7Q|QLI=wD1PwdN)(^z?5uHoq*a8v>2QP;)o#lwY5^i;<3 zxCobt*soE_ED9@%E?Nf?iId;<@IpuR@kSsl4F)I+eXR2p-h>@!IbRnCxM7O% zZFZ9m+hGh30d{;i@iF?`ED2krNy=A3QX8 za?pP;4Dy=4ed>2r2Go5()c1{xmATHr(SPE31HukS-S4WA=*

;iRlkCXElN!p3`J z*o~)8v1*`YJaY;+N;uaA84jl#FA2d~^3HW>gpQqv#brINY-uAQ zI6Hu%2B9OMSR}R{03Eaceam%yZ;E>~^?$CEeHm zasku3)piGTDLy^7=EKlazI3ko>DTz%-x5=BLLoy+eJzhd6PL#j)Z4y*2IyVE=OPZZ zrrebi3Z?H}=3p9&K`+x})Lf#;rn&qZ2ILpz_eY9ubwP79EJ=Mq*!ehqohax@g(Wfq zD}J35x6lcgd7H$Y`|X)pfp!(gk~%hnffg_avHE{@%Znt*9v6kO8#5oscdErE_6bO0 zR?`O(4r9AcgW#+&scT&i0D`bY#?;6{Rq#TjpoRhUnLwao@aV@8?Q^1G>ETFiHfpWd zBssH8u#A{}ib-iE&A@)FQ0;6A^}VE0={ruG2W*VZ;^5>;OA+cuwl0E}yjakZdUjZ~PsPF1x*)M>Kt)2-XA^{R7!L-Ioccz4FX@yH1 z4Ye_7N#DT5ZSkL=rbF`PEq^EG@eS`ad0TP9LTv%e3nKy&rhS1t2Xoh%Dh8++38t5$Z{QSNH zr-x-w*TrKfmro;Jm+QW?Q8_3|fT` zrn62SE+gcsX(&;P)R-nqQt*^B#5)1DY&deATj(2d%fkq=CsCO8Ig)M!Of!FL1WRBN z{yq@)t&o1bRK0N>0H%b{ns()aTd!LHm)7|l&{20&GJkDN*p|8)a!Jy|C&d z8vfg8cA+VayYa9@17|PcZD*2G~F?Kx+Jt# z$c2aF>@sNW&eYh|)W-}|6Gni*aiiI^Vb+MC=<=cF5pPbvj`BR#JWR7%mGH1HpZY8n z?~WMHrM+C0MX8!NjG81yg|_0cZ-m#AW6086t6E2qk45H2HD;CiuMelg#l3PZg!tjT75=h{zQ3gwUpKpcYc_>I)Dwje0%VsgI z>Xjaj$GU$*KYFV(;6Oi)Apc!}hvcuZ;)#H`-6FKoS33kH`5gX1Fa~61S{r#a@_M20 z`_cAgZIW#oZF}2X4#J2sq2(YwFOSuZE9U_PjmA>8Lw-`Xw^v4jnucjN1GMCa)(eT+ zcPSHnws4LRv%DZuX0fo*QMic2I1_FUeWO(xn}$1%eSF_nG7IZ5a%0S<4P34gr+wKK zjI0AtLGbmlpLNB9Y6?jS&I?u3A(;?wMg*~xO`m&OWg|9yq@U3@AcilMQp*gncz;pceRiu?V*uq+)l^aVnI{5Nqs5F`MB_xx zLfrs4(gzmw)%C}V0v)gevraw{+s(0=EVx(>Squ-o0>8anHpNC=_Txo+tLKT$nSx zRLd7h71%H>>@W>mQZWNV2$SnP@Jz%kFEP?)pdkmw&Y4mNrhe^VW#Xiq{c`GXVL1T*ZA>oCl_kxH5LH zLHacd$QYMrWywh&63s}5$id^^c#o)NSj8gc7qGZ367zu&OjR=Nrh~vJ^uSr=DOXjG z(>|e^I*TV_`2y7vFV*kHe`W$3W-)64j1^Zij&A4k1cCftK)iwxmvDT|C#*56=U_HH zwU~1)knjej&2Ih;95IJ`GlCk4N&ZtK{6K`WvkYKHt>+1Yi}=UgUZ!*|bThVRNwKXdF~=|UVGl9S=YU{z7D~jx)k2`+G%iu{!fan@QRJXI zbDll!;1pQb?7&S@J7zyMV988t?saCA-? z321Orl0uOk#H*N@`%~q_(Bfmn2!K5O#u|c7=O1v|b15aJG{38USNHCGd0n_LS%Snk z8rsA5gxmV~K`oJOcUBOybU&9ZU)G1s0tA7R&Wo4?7VZi$}=OMB`u%vGF3a ztyDt=&<$}A5W$8MHOw07&SUrAiH|{L0*wL>Y+OfEL{Lu(_^|k}Q`fX%rqlD7s9Vos zf~xyPChtt4eKx7zFPF9@wXjzj<^`&ep5JX|6Q|;l{aW2R+z*%vGsQIqhJM>*F0tz# zzb-C@b$7pQAE9#FP(KMQ?0`bSEtiGuw5Gtk93fGj*mF6}a&Cwhc85L>rl7}Vt`Ml) z_dFS!4@p9+6!67+DMVc^T$($rucC<}v`ZwtgK(jFcO_TVU(pa77;eWR{3L3sZk!Rt zW$`aFuP)r-n1j7`^J`1kVdl%e#mFpK?A7C8rZ+|2@@h<)!`DVQr+{X~9k81!jg`Zg z_bDX~*Z(=DH?l}Pe8J7_q+Yx~uO{u4)KwEdALDy`Rf@X#F-ThYdfym!ulO<1E0=SPsi#8}0b+u8J1 z$eG@K=es*E%@5d%ADEk?mWWtRba8_6i&qOyIPb{FxC|Nsob;%aG@V7+FjDs#Q(HZ$ z?elKarD|kW*}#ETkY2DkYtr_NAOqljqM?Oj5!#=}f92nRTc)3#;ThXU_Cv zUp@Ee(zRdpg-y3Mv=Ge`i%Xa}Ekw)&4oFn(rGY zfh}Prmv|l%)#wCTHCh8@8%`kGkn7WV`rGJK!jQEE!Y32a3>0c+!PkMG{;bw5cR8CB zpd)@3b0e4ZId7Kvj2IkpxG0?nC2YzdGfni&?E53lf{0*tgR2=!KXE|^Isj606XRfH zVxrCzZ4D)1-aR}j7yq5|H!id zuHH6_aCXX~LgoSC{C0lj*spnVcSGjh-&#VKpe$&$eTrc7bjO`T=AEMtVmrG% z>xLk_AZ|qai@n7`%#_23_orEhv(c=-l@^h&lrZe!Gus$?@JcY&tR)yiEsfN@@xb@L z$#%XB6@GPe&EHD)hi%QS|Lq{q%cN@#ui`ix!X&lBm>GhtzJuHKKqKxu6Bp2#Y@(+O zae>SCzPBly8-bl>{yO&0s4-ulLh&F5Y7Bm%$Ajvi#oZ*+@FqYLAx3Mpp z9m_KUQfwG1P-OF|VlE=4vkC8s!?RXmHrEV~g{XA05zCj51GZ*v9Z{+T@5=BbmT*__ z*!qlmG0-ff$VX|1#irQ-n2i(il3%)!$A2%gy2Q?4F3GZw$)to8r50PN~oa}sv?&n-bSE(y(PsrS! za?jOjWNgjRj;1r#r;DV=Y*K>0l>EfgDMRPOz#)_$tr49h1EUw?us=gx$P~;a&WAki zvs!(d2H-PPkOdco>dpQd%@^k&{udXJ64c90PbWg(HkHj~!Q{Pk8aX{iB+G)d`g2b-2W;hq!7>x0qDXw;=N`(?C>Wi+wnG{kahxDM?ZMeY5_x=Pv|738c2at8x# z3uh^=q0{fe_@{9PPA)`x|I)#eZ2W%bp2DVP2?`D*al#WN?I-^44-X#&XB_j$W6~Zk z2!Giaisn=!=@FT`*&4VnimM7R+|gftbNPn7OPsQBjLyoeg7zRDS=eFq>*tQkfZ^;+ z+VgSx#wcT-c8(&R&38Jv*V8+lPQAnj)pC2doFhd>^qkZQAg0JdF{O8Baps=|wp+{P zQ`Z%5TM>`i%7$)S?c}%2^of3p{>Zf4F24b#R>k>g zgI+p&x_dj9sX`!AAJn`O+ZN88vC7>7Dg<igWn#d(%HleD<@L)Wxq8I@iFo zZA%s|1RV{Sx5`B21mXCwnEA1bzM?%FwZEIX5S13*eDYw@e3ZUUZ*@Y4=5*(Ija+?w z#-_DUWR+Nb9?LqlYdHJ8a|zAU;R7Oe%>~>k_aFKv?h1$ITWfRe3@A?TSr@+lg@hKr zM1iC?SFbHNCB=|&5%nJAEnkb~u(N`Ze?7?pER@l+Em&l?(QZ#Z-sK1B0UN~rj4)c- zcIsV(=}eWu?vn8w!ZgfZrE=<~P~P+n*L1b#$oPPlHF*qf$nG1#G%0D?j%0Fd9$8I# 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 YFHNv3-(=DQ+~UdL>FVdQ&MBb@0BCnTRsaA1 literal 0 HcmV?d00001 diff --git a/test/jkqtplot_test/TestWidgetBarcharts.cpp b/test/jkqtplot_test/TestWidgetBarcharts.cpp index cb8ca3a491..60f1f893b3 100644 --- a/test/jkqtplot_test/TestWidgetBarcharts.cpp +++ b/test/jkqtplot_test/TestWidgetBarcharts.cpp @@ -3,7 +3,7 @@ #include #include #include -#include "jkqtpbarchartelements.h" +#include "jkqtplotter/jkqtpbarchartelements.h" diff --git a/test/jkqtplot_test/TestWidgetBarcharts.h b/test/jkqtplot_test/TestWidgetBarcharts.h index 7f599959e0..3d4f2b2465 100644 --- a/test/jkqtplot_test/TestWidgetBarcharts.h +++ b/test/jkqtplot_test/TestWidgetBarcharts.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetContourPlots.h b/test/jkqtplot_test/TestWidgetContourPlots.h index 68cf9cabef..98cd00aad8 100644 --- a/test/jkqtplot_test/TestWidgetContourPlots.h +++ b/test/jkqtplot_test/TestWidgetContourPlots.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetEmptyPlot.h b/test/jkqtplot_test/TestWidgetEmptyPlot.h index 828c0490ee..6aee1d836b 100644 --- a/test/jkqtplot_test/TestWidgetEmptyPlot.h +++ b/test/jkqtplot_test/TestWidgetEmptyPlot.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetFunctionPlots.h b/test/jkqtplot_test/TestWidgetFunctionPlots.h index fe419d67dd..9b7009e1c5 100644 --- a/test/jkqtplot_test/TestWidgetFunctionPlots.h +++ b/test/jkqtplot_test/TestWidgetFunctionPlots.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetGeometry.h b/test/jkqtplot_test/TestWidgetGeometry.h index e60eba5490..3a5c21bda7 100644 --- a/test/jkqtplot_test/TestWidgetGeometry.h +++ b/test/jkqtplot_test/TestWidgetGeometry.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetGraphs.cpp b/test/jkqtplot_test/TestWidgetGraphs.cpp index 9f1b46b041..cf87e543fb 100644 --- a/test/jkqtplot_test/TestWidgetGraphs.cpp +++ b/test/jkqtplot_test/TestWidgetGraphs.cpp @@ -3,7 +3,7 @@ #include #include #include -#include "jkqtpboxplotelements.h" +#include "jkqtplotter/jkqtpboxplotelements.h" diff --git a/test/jkqtplot_test/TestWidgetGraphs.h b/test/jkqtplot_test/TestWidgetGraphs.h index cd6fb65bee..640f42355a 100644 --- a/test/jkqtplot_test/TestWidgetGraphs.h +++ b/test/jkqtplot_test/TestWidgetGraphs.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetImages.h b/test/jkqtplot_test/TestWidgetImages.h index 8198fa2054..7ea8b67020 100644 --- a/test/jkqtplot_test/TestWidgetImages.h +++ b/test/jkqtplot_test/TestWidgetImages.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetLogGraphs.h b/test/jkqtplot_test/TestWidgetLogGraphs.h index 5bd2b267ea..9b45a163bf 100644 --- a/test/jkqtplot_test/TestWidgetLogGraphs.h +++ b/test/jkqtplot_test/TestWidgetLogGraphs.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" diff --git a/test/jkqtplot_test/TestWidgetParamScatterPlots.h b/test/jkqtplot_test/TestWidgetParamScatterPlots.h index caff8b55ee..b9bad502bf 100644 --- a/test/jkqtplot_test/TestWidgetParamScatterPlots.h +++ b/test/jkqtplot_test/TestWidgetParamScatterPlots.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetPeaksPlots.h b/test/jkqtplot_test/TestWidgetPeaksPlots.h index 09d1d94db8..ba04e9b309 100644 --- a/test/jkqtplot_test/TestWidgetPeaksPlots.h +++ b/test/jkqtplot_test/TestWidgetPeaksPlots.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplot_test/TestWidgetRGBImages.h b/test/jkqtplot_test/TestWidgetRGBImages.h index b0a014db83..ece1b8d9ee 100644 --- a/test/jkqtplot_test/TestWidgetRGBImages.h +++ b/test/jkqtplot_test/TestWidgetRGBImages.h @@ -10,14 +10,14 @@ #include #include #include -#include "../../jkqtplotter.h" -#include "../../jkqtpgeoelements.h" -#include "../../jkqtpimageelements.h" -#include "../../jkqtpoverlayelements.h" -#include "../../jkqtpparsedfunctionelements.h" -#include "../../jkqtpbaseelements.h" -#include "../../jkqtpplotsmodel.h" -#include "../../jkqtptools.h" +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpgeoelements.h" +#include "jkqtplotter/jkqtpimageelements.h" +#include "jkqtplotter/jkqtpoverlayelements.h" +#include "jkqtplotter/jkqtpparsedfunctionelements.h" +#include "jkqtplotter/jkqtpbaseelements.h" +#include "jkqtplotter/jkqtpplotsmodel.h" +#include "jkqtplottertools/jkqtptools.h" #define N1 200 #define N2 50 diff --git a/test/jkqtplotter_simpletest_imageplot/README.md b/test/jkqtplotter_simpletest_imageplot/README.md index 31d51040dd..0ebaee1f97 100644 --- a/test/jkqtplotter_simpletest_imageplot/README.md +++ b/test/jkqtplotter_simpletest_imageplot/README.md @@ -84,10 +84,7 @@ int main(int argc, char* argv[]) graph->get_colorBarRightAxis()->set_axisLabel("light intensity [A.U.]"); // determine min/max of data automatically and use it to set the range of the color-scale graph->set_autoImageRange(true); - // you can set the color-scale range manually by using: - // graph->set_autoImageRange(false); - // graph->set_imageMin(0); - // graph->set_imageMax(10); + // 5. add the graphs to the plot, so it is actually displayed @@ -120,4 +117,36 @@ The result looks like this: ![jkqtplotter_simpletest_imageplot](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot.png) +There are several ways to modify the plot: + # You can set the color scale manually (here 0..2), by using + ``` + graph->set_autoImageRange(false); + graph->set_imageMin(0); + graph->set_imageMax(2); + ``` + instead of + ``` + graph->set_autoImageRange(true); + ``` + from above. The result will look like this:
+ ![jkqtplotter_simpletest_imageplot__scale02](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot__scale02.png)
+ Note how the color scale is not used completely, because data really only scales between 0 and 1. + # If you set the color-range to 0.1 .. 0.8 with + ``` + graph->set_autoImageRange(false); + graph->set_imageMin(0.1); + graph->set_imageMax(0.8); + ``` + Then there will be datapoints above or below the range of the colorscale. The default behaviour of the graph is to use the first color of the palette for every pixel with a value below the minimum (here 0.1) and the last color in the palette for every pixel with a value above the maximum.
+ ![jkqtplotter_simpletest_imageplot__smallscalelimitcolor](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot__smallscalelimitcolor.png)
+ You can change this behaviour by `set_rangeMinFailAction(),set_rangeMaxFailAction()` with one of these parameters: + - `JKQTPMathImageLastPaletteColor`: the default behaviour explained above + - `JKQTPMathImageGivenColor`: use a color set by `set_rangeMinFailColor(),set_rangeMaxFailColor()` (here e.g. black for min and grey for max)
+ ![jkqtplotter_simpletest_imageplot__smallscalecolor](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot__smallscalecolor.png) + - `JKQTPMathImageTransparent`: draw pixels transparent
+ ![jkqtplotter_simpletest_imageplot__smallscaletransparent](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot__smallscaletransparent.png) + . +. + + [Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) \ No newline at end of file diff --git a/test/jkqtplotter_simpletest_imageplot_modifier/README.md b/test/jkqtplotter_simpletest_imageplot_modifier/README.md new file mode 100644 index 0000000000..778f2fae7f --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_modifier/README.md @@ -0,0 +1,125 @@ +[Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) + +# JKQtPlotter + +## Simple math image plot +This project (see `./test/jkqtplotter_simpletest_imageplot_modifier/`) creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here `sin(r)`). Then a second image (linearly scaling from 1 in the center to 0 at the borders) is used to modify the first image. The modification can + +The soruce code of the main application is (see `./test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp`): +```c++ +#include +#include +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpimageelements.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + + JKQtPlotter plot; + // 1. create a plotter window and get a pointer to the internal datastore (for convenience) + plot.get_plotter()->set_useAntiAliasingForGraphs(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForSystem(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForText(true); // nicer (but slower) text rendering + JKQTPdatastore* ds=plot.getDatastore(); + + // 2. now we create data for the charts (taken from https://commons.wikimedia.org/wiki/File:Energiemix_Deutschland.svg) + const int NX=150; // image dimension in x-direction [pixels] + const int NY=150; // image dimension in x-direction [pixels] + double image[NX*NY]; // row-major image + double modifier[NX*NY]; // row-major modfier image + + // 2 calculate image of airy disk in a row-major array + double x, y=-static_cast(NY)/2.0; + for (int iy=0; iy(NX)/2.0; + for (int ix=0; ixaddCopiedImageAsColumn(image, NX, NY, "imagedata"); + size_t cModifier=ds->addCopiedImageAsColumn(modifier, NX, NY, "modifier"); + + + // 4. create a graph (JKQTPColumnMathImage) with the column created above as data + // The data is color-coded with the color-palette JKQTPMathImageMATLAB + // the converted range of data is determined automatically because set_autoImageRange(true) + JKQTPColumnMathImage* graph=new JKQTPColumnMathImage(&plot); + graph->set_title(""); + // image column with the data + graph->set_imageColumn(cImage); + // now set the modifier image: + graph->set_modifierColumn(cModifier); + graph->set_autoModifierRange(true); + // ... and specify which image property is modified (here the saturation, but ModifyAlpha for the transparency and ModifyValue from the HSV color-model are also possible): + graph->set_modifierMode(JKQTPMathImageBase::ModifySaturation); + // set size of the data (the datastore does not contain this info, as it only manages 1D columns of data and this is used to assume a row-major ordering + graph->set_Nx(NX); + graph->set_Ny(NY); + // where does the image start in the plot, given in plot-axis-coordinates (bottom-left corner) + graph->set_x(-NX/2.0); + graph->set_y(-NX/2.0); + // width and height of the image in plot-axis-coordinates + graph->set_width(NX); + graph->set_height(NY); + // color-map is "MATLAB" + graph->set_palette(JKQTPMathImageMATLAB); + // determine min/max of data automatically and use it to set the range of the color-scale + graph->set_autoImageRange(true); + + + + + // 5. add the graphs to the plot, so it is actually displayed + plot.addGraph(graph); + + + // 6. set axis labels + plot.get_xAxis()->set_axisLabel("x [{\\mu}m]"); + plot.get_yAxis()->set_axisLabel("y [{\\mu}m]"); + + + // 7. fix axis and plot aspect ratio to 1 + plot.get_plotter()->set_maintainAspectRatio(true); + plot.get_plotter()->set_maintainAxisAspectRatio(true); + + // 8 autoscale the plot so the graph is contained + plot.zoomToFit(); + + // show plotter and make it a decent size + plot.show(); + plot.resize(500,500); + plot.setWindowTitle("JKQTPColumnMathImage"); + + + return app.exec(); +} +``` +The data image (`sin(r/30)`) on its own looks like this:
+![jkqtplotter_simpletest_imageplot_modifier_imageonly](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_modifier_imageonly.png)
+and the modifier image on its own would look like this:
+![jkqtplotter_simpletest_imageplot_modifier_modifieronly](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_modifier_modifieronly.png) + +Combined the two form this plot:
+![jkqtplotter_simpletest_imageplot_modifier](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_modifier.png) + + +See [`test/jkqtplotter_simpletest_imageplot`](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plotted. You can combine all options there with the modifier feature described here. + + +[Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) \ No newline at end of file diff --git a/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp b/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp new file mode 100644 index 0000000000..81ab12633e --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.cpp @@ -0,0 +1,102 @@ +#include +#include +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpimageelements.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + + JKQtPlotter plot; + // 1. create a plotter window and get a pointer to the internal datastore (for convenience) + plot.get_plotter()->set_useAntiAliasingForGraphs(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForSystem(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForText(true); // nicer (but slower) text rendering + JKQTPdatastore* ds=plot.getDatastore(); + + // 2. now we create data for the charts (taken from https://commons.wikimedia.org/wiki/File:Energiemix_Deutschland.svg) + const int NX=150; // image dimension in x-direction [pixels] + const int NY=150; // image dimension in x-direction [pixels] + double image[NX*NY]; // row-major image + double modifier[NX*NY]; // row-major modfier image + + // 2 calculate image of airy disk in a row-major array + double x, y=-static_cast(NY)/2.0; + for (int iy=0; iy(NX)/2.0; + for (int ix=0; ixaddCopiedImageAsColumn(image, NX, NY, "imagedata"); + size_t cModifier=ds->addCopiedImageAsColumn(modifier, NX, NY, "modifier"); + + + // 4. create a graph (JKQTPColumnMathImage) with the column created above as data + // The data is color-coded with the color-palette JKQTPMathImageMATLAB + // the converted range of data is determined automatically because set_autoImageRange(true) + JKQTPColumnMathImage* graph=new JKQTPColumnMathImage(&plot); + graph->set_title(""); + // image column with the data + graph->set_imageColumn(cImage); + // now set the modifier image: + graph->set_modifierColumn(cModifier); + graph->set_autoModifierRange(true); + // ... and specify which image property is modified (here the saturation, but ModifyAlpha for the transparency and ModifyValue from the HSV color-model are also possible): + graph->set_modifierMode(JKQTPMathImageBase::ModifySaturation); + // set size of the data (the datastore does not contain this info, as it only manages 1D columns of data and this is used to assume a row-major ordering + graph->set_Nx(NX); + graph->set_Ny(NY); + // where does the image start in the plot, given in plot-axis-coordinates (bottom-left corner) + graph->set_x(-NX/2.0); + graph->set_y(-NX/2.0); + // width and height of the image in plot-axis-coordinates + graph->set_width(NX); + graph->set_height(NY); + // color-map is "MATLAB" + graph->set_palette(JKQTPMathImageMATLAB); + // determine min/max of data automatically and use it to set the range of the color-scale + graph->set_autoImageRange(true); + + + + + // 5. add the graphs to the plot, so it is actually displayed + plot.addGraph(graph); + + + // 6. set axis labels + plot.get_xAxis()->set_axisLabel("x [{\\mu}m]"); + plot.get_yAxis()->set_axisLabel("y [{\\mu}m]"); + + + // 7. fix axis and plot aspect ratio to 1 + plot.get_plotter()->set_maintainAspectRatio(true); + plot.get_plotter()->set_maintainAxisAspectRatio(true); + + // 8 autoscale the plot so the graph is contained + plot.zoomToFit(); + + // show plotter and make it a decent size + plot.show(); + plot.resize(500,500); + plot.setWindowTitle("JKQTPColumnMathImage"); + + + return app.exec(); +} diff --git a/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.pro b/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.pro new file mode 100644 index 0000000000..b8034f92d0 --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_modifier/jkqtplotter_simpletest_imageplot_modifier.pro @@ -0,0 +1,16 @@ +# source code for this simple demo +SOURCES = jkqtplotter_simpletest_imageplot_modifier.cpp + +# configure Qt +CONFIG += qt +QT += core gui svg +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport + +# output executable name +TARGET = jkqtplotter_simpletest_imageplot_modifier + +# include JKQtPlotter source code +include(../../lib/jkqtplotter.pri) +# here you can activate some debug options +#DEFINES += SHOW_JKQTPLOTTER_DEBUG +#DEFINES += JKQTBP_AUTOTIMER diff --git a/test/jkqtplotter_simpletest_imageplot_nodatastore/README.md b/test/jkqtplotter_simpletest_imageplot_nodatastore/README.md new file mode 100644 index 0000000000..02ee24f6ad --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_nodatastore/README.md @@ -0,0 +1,115 @@ +[Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) + +# JKQtPlotter + +## Simple math image plot without use of central JKQTdatastore +This project (see `./test/jkqtplotter_simpletest_imageplot_nodatastore/`) simply creates a JKQtPlotter widget (as a new window) and adds a color-coded image plot of a mathematical function (here the Airy disk). The image is stored as a simple C-array in row-major ordering and then given to a JKQTPMathImage to visualize it. The data is stored as a pointer directly in the JKQTPMathImage object. There is also a variant JKQTPColumnMathImage of JKQTPMathImage, which references a column in the internal JKQTdatastore and uses the data there for plotting. In both cases data has to be organized as a row-major matrix of values. JKQTPMathImage supports different dataytpes ([u]nit8/16/32/64,float,double see `JKQTPMathImageBase::DataType`) that can be configured e.g. by `set_data()`. + +The soruce code of the main application is (see `./test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp`): +```c++ +#include +#include +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpimageelements.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + + JKQtPlotter plot; + // 1. create a plotter window and get a pointer to the internal datastore (for convenience) + plot.get_plotter()->set_useAntiAliasingForGraphs(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForSystem(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForText(true); // nicer (but slower) text rendering + + // 2. now we create data for the charts (taken from https://commons.wikimedia.org/wiki/File:Energiemix_Deutschland.svg) + const int NX=100; // image dimension in x-direction [pixels] + const int NY=100; // image dimension in x-direction [pixels] + const double dx=1e-2; // size of a pixel in x-direction [micrometers] + const double dy=1e-2; // size of a pixel in x-direction [micrometers] + const double w=static_cast(NX)*dx; + const double h=static_cast(NY)*dy; + double airydisk[NX*NY]; // row-major image + + // 2.1 Parameters for airy disk plot (see https://en.wikipedia.org/wiki/Airy_disk) + double NA=1.1; // numerical aperture of lens + double wavelength=488e-3; // wavelength of the light [micrometers] + + // 2.2 calculate image of airy disk in a row-major array + double x, y=-h/2.0; + for (int iy=0; iyset_title(""); + // set array as datasource, with correct size NX*NY and datatype JKQTPMathImageBase::DataType::DoubleArray + graph->set_data(airydisk, NX, NY, JKQTPMathImageBase::DataType::DoubleArray); + // where does the image start in the plot, given in plot-axis-coordinates (bottom-left corner) + graph->set_x(-w/2.0); + graph->set_y(-h/2.0); + // width and height of the image in plot-axis-coordinates + graph->set_width(w); + graph->set_height(h); + // color-map is "BLUEYELLOW" + graph->set_palette(JKQTPMathImageBLUEYELLOW); + // get coordinate axis of color-bar and set its label + graph->get_colorBarRightAxis()->set_axisLabel("light intensity [A.U.]"); + // determine min/max of data automatically and use it to set the range of the color-scale + graph->set_autoImageRange(true); + // you can set the color-scale range manually by using: + // graph->set_autoImageRange(false); + // graph->set_imageMin(0); + // graph->set_imageMax(10); + + + // 4. add the graphs to the plot, so it is actually displayed + plot.addGraph(graph); + + + // 5. set axis labels + plot.get_xAxis()->set_axisLabel("x [{\\mu}m]"); + plot.get_yAxis()->set_axisLabel("y [{\\mu}m]"); + + + // 6. fix axis and plot aspect ratio to 1 + plot.get_plotter()->set_maintainAspectRatio(true); + plot.get_plotter()->set_maintainAxisAspectRatio(true); + + // 7. autoscale the plot so the graph is contained + plot.zoomToFit(); + + // show plotter and make it a decent size + plot.show(); + plot.resize(600,600); + plot.setWindowTitle("JKQTPMathImage"); + + + return app.exec(); +} +``` + +The result looks like this: + +![jkqtplotter_simpletest_imageplot_nodatastore](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_nodatastore.png) + +See [`test/jkqtplotter_simpletest_imageplot`](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet. + + +[Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) \ No newline at end of file diff --git a/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp b/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp new file mode 100644 index 0000000000..574a06a869 --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.cpp @@ -0,0 +1,96 @@ +#include +#include +#include "jkqtplotter/jkqtplotter.h" +#include "jkqtplotter/jkqtpimageelements.h" + +#ifndef M_PI +#define M_PI 3.14159265358979323846 +#endif + + +int main(int argc, char* argv[]) +{ + QApplication app(argc, argv); + + JKQtPlotter plot; + // 1. create a plotter window and get a pointer to the internal datastore (for convenience) + plot.get_plotter()->set_useAntiAliasingForGraphs(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForSystem(true); // nicer (but slower) plotting + plot.get_plotter()->set_useAntiAliasingForText(true); // nicer (but slower) text rendering + + // 2. now we create data for the charts (taken from https://commons.wikimedia.org/wiki/File:Energiemix_Deutschland.svg) + const int NX=100; // image dimension in x-direction [pixels] + const int NY=100; // image dimension in x-direction [pixels] + const double dx=1e-2; // size of a pixel in x-direction [micrometers] + const double dy=1e-2; // size of a pixel in x-direction [micrometers] + const double w=static_cast(NX)*dx; + const double h=static_cast(NY)*dy; + double airydisk[NX*NY]; // row-major image + + // 2.1 Parameters for airy disk plot (see https://en.wikipedia.org/wiki/Airy_disk) + double NA=1.1; // numerical aperture of lens + double wavelength=488e-3; // wavelength of the light [micrometers] + + // 2.2 calculate image of airy disk in a row-major array + double x, y=-h/2.0; + for (int iy=0; iyset_title(""); + // set array as datasource, with correct size NX*NY and datatype JKQTPMathImageBase::DataType::DoubleArray + graph->set_data(airydisk, NX, NY, JKQTPMathImageBase::DataType::DoubleArray); + // where does the image start in the plot, given in plot-axis-coordinates (bottom-left corner) + graph->set_x(-w/2.0); + graph->set_y(-h/2.0); + // width and height of the image in plot-axis-coordinates + graph->set_width(w); + graph->set_height(h); + // color-map is "BLUEYELLOW" + graph->set_palette(JKQTPMathImageBLUEYELLOW); + // get coordinate axis of color-bar and set its label + graph->get_colorBarRightAxis()->set_axisLabel("light intensity [A.U.]"); + // determine min/max of data automatically and use it to set the range of the color-scale + graph->set_autoImageRange(true); + // you can set the color-scale range manually by using: + // graph->set_autoImageRange(false); + // graph->set_imageMin(0); + // graph->set_imageMax(10); + + + // 4. add the graphs to the plot, so it is actually displayed + plot.addGraph(graph); + + + // 5. set axis labels + plot.get_xAxis()->set_axisLabel("x [{\\mu}m]"); + plot.get_yAxis()->set_axisLabel("y [{\\mu}m]"); + + + // 6. fix axis and plot aspect ratio to 1 + plot.get_plotter()->set_maintainAspectRatio(true); + plot.get_plotter()->set_maintainAxisAspectRatio(true); + + // 7. autoscale the plot so the graph is contained + plot.zoomToFit(); + + // show plotter and make it a decent size + plot.show(); + plot.resize(600,600); + plot.setWindowTitle("JKQTPMathImage"); + + + return app.exec(); +} diff --git a/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.pro b/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.pro new file mode 100644 index 0000000000..4ec689b9d0 --- /dev/null +++ b/test/jkqtplotter_simpletest_imageplot_nodatastore/jkqtplotter_simpletest_imageplot_nodatastore.pro @@ -0,0 +1,16 @@ +# source code for this simple demo +SOURCES = jkqtplotter_simpletest_imageplot_nodatastore.cpp + +# configure Qt +CONFIG += qt +QT += core gui svg +greaterThan(QT_MAJOR_VERSION, 4): QT += widgets printsupport + +# output executable name +TARGET = jkqtplotter_simpletest_imageplot_nodatastore + +# include JKQtPlotter source code +include(../../lib/jkqtplotter.pri) +# here you can activate some debug options +#DEFINES += SHOW_JKQTPLOTTER_DEBUG +#DEFINES += JKQTBP_AUTOTIMER diff --git a/test/jkqtplotter_simpletest_imageplot_opencv/README.md b/test/jkqtplotter_simpletest_imageplot_opencv/README.md index d5b81342f9..30b9e4da64 100644 --- a/test/jkqtplotter_simpletest_imageplot_opencv/README.md +++ b/test/jkqtplotter_simpletest_imageplot_opencv/README.md @@ -122,4 +122,6 @@ The result looks like this: ![jkqtplotter_simpletest_imageplot](https://raw.githubusercontent.com/jkriege2/JKQtPlotter/master/screenshots/jkqtplotter_simpletest_imageplot_opencv.png) +See [`test/jkqtplotter_simpletest_imageplot`](https://github.com/jkriege2/JKQtPlotter/tree/master/test/jkqtplotter_simpletest_imageplot) for a detailed description of the other possibilities that the class JKQTPColumnMathImage (and also JKQTPMathImage) offer with respect to determining how an image is plottet. + [Back to JKQTPlotter main page](https://github.com/jkriege2/JKQtPlotter/) \ No newline at end of file