;i-dZddlZddlZddlmcmZddl m Z m Z ddl m Z ddlmZejdZejZedejZeeejZeee dd idd id  ZeZeeddd dejZ ejZ!ee ddee!dde"ej#$dZ%dej&e%dzZ%e%ej#$dz Z%e%ddddfxxdz cc<e%ddddfxxdz cc<e'e%Gdde Z(Gdde Z)ej*+Ze,e(dge,e)ddge-ee.d d!"Z/e/0e e.d d#"Z1e10e!e.d$d%"Z2e3ed&e2d&e3ed&e/d'e3e2d(e1d'e3e2d(ed(e4d)krej5dSdS)*z This example demonstrates writing a custom Node subclass for use with flowcharts. We implement a couple of simple image processing nodes. N) FlowchartNode)CtrlNode) QtWidgetszFlowchart Custom Node Examplez&pyqtgraph example: FlowchartCustomNodeioinoutdataIndataOut terminals)dr)size)r(<g.@2)r c*eZdZdZdZdZdZddZdS) ImageViewNodez4Node that displays image data in an ImageView widget ImageViewcJd|_tj||dddiidS)Ndatarrr )viewr__init__)selfnames ZC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\pyqtgraph/examples/FlowchartCustomNode.pyrzImageViewNode.__init__As/  dDVd4[,ABBBBBBc||_dS)N)r)r rs r"setViewzImageViewNode.setViewFs  r#Tc|rS|jN|.|jtjddS|j|dSdSdS)N)rr)rsetImagenpzeros)r rdisplays r"processzImageViewNode.processIsh  )ty,| ""28E??33333 ""4(((((  ) ),,r#NT)__name__ __module__ __qualname____doc__nodeNamerr%r+r#r"rr=sT>>HCCC  ) ) ) ) ) )r#rc TeZdZdZdZddddddgdfd ddd d d ddgd fgZdZddZdS)UnsharpMaskNodez5Return the input data passed through an unsharp mask. UnsharpMasksigmasping?gN)valuestepboundsstrengthTg?g{Gz?)r8decr9minStepr:cvtdtdd}tj|||dS)Nr)rr r r )dictrr)r r!rs r"rzUnsharpMaskNode.__init__asFdmmmu~~~  $ ::::::r#c|jd}|jd}||tj|||fzz }d|iS)Nr6r;r )ctrlsr8pggaussianFilter)r r r*r6r;outputs r"r+zUnsharpMaskNode.processks] 7#))++:j)//118b&7u &N&NNO6""r#r,)r-r.r/r0r1 uiTemplaterr+r2r#r"r4r4Zs??H 6S##tMMN Vs4QUbegkalmmnJ;;;######r#r4)Display)Image) Submenu_testsubmenu2submenu3r)rj)pos)rKr5)rrr rr __main__)6r0numpyr( pyqtgraphrBpyqtgraph.flowchart.library flowchartlibraryfclibpyqtgraph.flowchartrr"pyqtgraph.flowchart.library.commonr pyqtgraph.QtrmkQAppapp QMainWindowwinsetWindowTitleQWidgetcwsetCentralWidget QGridLayoutlayout setLayoutfcwidgetw addWidgetrv1v2showrandomnormalrrCsetInputrr4LIBRARYcopy addNodeType setLibrary createNodev1Noder%v2NodefNodeconnectTerminalsr-execr2r#r"rws3 +++++++++////////777777""""""bi/00i;<<<YR    VYTle}IIKKaAq)))R\^^R\^^QQ  yY'' B dE * ** i(((RUBrE\dRUBrE\d  4 )))))D))):#####h###J -    ML>222Oj&L&NOOO g {  2 2r {  4 4r m 00BxL%/222BxL&.111E)$fVn555E)$bm444 z BGIIIIIr#