;i dZddlZddlZddlmZejdejej Z e de dZ ejae tejd d gd d gat$d dgd d gt$dd gd d ge t$t$dejddat,tt,d ejZete eejdddaejt8ejdt8dt8de e da!tB"de #dde $ej%&da'tNddddfxxd z cc<ej(tNd!a'tNej%&dd"zz a't)tNe*tN+tN,t,-ej(tNd#ej.Z/t0e/1d$d$2d%de 3d&Z4t$j56e4e4d'Z7t8j86e7d(Z9e9t_:e;d)krej<dSdS)*z Demonstrates common image analysis tools. Many of the features demonstrated here are already provided by the ImageView widget, but here we present a lower-level approach that provides finer control over the user interface. N)QtGuiz row-major)imageAxisOrderz!pyqtgraph example: Image Analysis)titleig? g?g)levelpenT)anglemovablerF)yi)colspani )d)sizePg@)rg?)rrg?icttt}t|dddS)Nr)axisT)clear)roigetArrayRegiondataimgp2plotmean)selecteds TC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/examples/imageAnalysis.py updatePlotr'PsA!!$,,HGGHMMqM ! !G.....chttdS)N)isosetLevelisoLinevaluer(r&updateIsocurver/Xs"LL!!!!!r(c|rtddS|}||}}t tj|dtj ddz }t tj|dtj ddz }t||f}t |}||}}td|||||fzdS)z@Show the position, pixel, and value under the mouse cursor. rNrr z1pos: (%0.1f, %0.1f) pixel: (%d, %d) value: %.3g) isExitp1setTitleposrxintnpclipr shaper! mapToParent)eventr4ijvalpposr5rs r&imageHoverEventr@^s ||~~ B ))++C 5577CEEGGqA BGAq$*Q-!+ , ,--A BGAq$*Q-!+ , ,--A q!t*C ??3  D 6688TVVXXqAKKCq!QPQSVFWWXXXXXr(__main__)=__doc__numpyr7 pyqtgraphpg pyqtgraph.QtrsetConfigOptionsmkQAppGraphicsLayoutWidgetwinsetWindowTitleaddPlotr2 ImageItemr!addItemROIraddScaleHandle setZValue IsocurveItemr* setParentItemHistogramLUTItemhist setImageItem InfiniteLiner,vbsetMouseEnabledsetValuenextRowr"setMaximumHeightresizeshowrandomnormalr gaussianFiltersetImage setLevelsminmaxsetData QTransformtr setTransformscale translate autoRanger'sigRegionChangedconnectr/ sigDraggedr@ hoverEvent__name__execr.r(r&rss-;////  b6777 [[r[blnn 3 bfb"X1vC8c3Z(((As8c3Z((( 3 bboCS)))# ar# D "/4S 9 9 9% $ [[[C 3  yZ((RUBrE\brv&& j))C// Ttxxzz488::&&& B dF + +,,,U#s##--c155666 /// Z((( """>*** Y Y Y$! z BGIIIIIr(