EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024  Index 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Script BOY IntensityGraph to show areaDetector output of variable size
From: Phil Atkin <[email protected]>
To: "Pearson, Matthew R." <[email protected]>, Bruno Martins <[email protected]>
Cc: "[email protected] list" <[email protected]>
Date: Wed, 20 Apr 2016 17:04:24 +0100
Thanks to both of you.
Could one of you give me a pointer on how to create such a rule?

Thanks

Phil

On 20/04/2016 16:56, Pearson, Matthew R. wrote:
Hi Phil,

We do the same as Bruno mentions.

Data Height (ArraySize1_RBV)
Data Width (ArraySize0_RBV)

where the PVs are from the StdArray plugin.

In addition you’ll also need to have additional rules for setting the X and Y axis Min and Max values. These rules use the PVs from the detector driver that knows about binning and ROI selection:

X Axis Min - (MinX_RBV)
Y Axis Min - (MinY_RBV)
X Axis Max (MinX_RBV + ArraySizeX_RBV)
Y Axis Max (MinY_RBV + ArraySizeY_RBV)

We also use a another rule that defines the maximum intensity (the Maximum property) based on a PV. Then we have a Scaled Slider widget to change the intensity.

Cheers,
Matt


Data Acquisition and Control Engineer
Spallation Neutron Source
Oak Ridge National Lab


On Apr 20, 2016, at 9:26 AM, Bruno Martins <[email protected]> wrote:

Hi Phil,

You can create two rules, for the data_width and data_height properties, that look at the $(P)ArraySize0_RBV and $(P)ArraySize1_RBV PV's

HTH,

Bruno

On Wed, Apr 20, 2016 at 6:44 AM, Phil Atkin <[email protected]> wrote:
Thanks Gabriela,

- but I guess my question was ambiguous.  If I understand correctly, your script adjusts the height of the IntensityGraph widget so that its aspect ratio matches the image.

But the IntensityGraph will not display anything at all unless I set its Data Height and Data Width properties to match the attached array.  Do you have something to accomplish this?

Also: I have no idea how to actually attach the code or make it run at an appropriate time.  Can you point me at documentation that describes this?

Thanks

Phil


On 20/04/2016 11:34, [email protected] wrote:
this is the very simple python script that I use:

from org.csstudio.opibuilder.scriptUtil import PVUtil

imageWidget        = display.getWidget('Image')
imageXSizeWidget   = display.getWidget('X-Size')
imageYSizeWidget   = display.getWidget('Y-Size')

try :
     imageXSizePV   = imageXSizeWidget.getPV()
     imageYSizePV   = imageYSizeWidget.getPV()

     nImageRows    = PVUtil.getLong(imageYSizePV)
     nImageColumns = PVUtil.getLong(imageXSizePV)

     imageWidget.setPropertyValue('graph_area_width', 512)
     imageWidget.setPropertyValue('graph_area_height', (512.0/nImageColumns)*nImageRows)

except :
     pass



Phil Atkin <[email protected]> ha scritto:

Hi,

I'm using BOY IntensityGraph to show a (stdArray) output image from an areaDetector driver/plugin.
The size of my array changes quite a bit.
Can someone tell me (in laborious detail if necessary, please) how to set up scripts or "embedded rules" on the IntensityGraph to cope with a variable-sized image?

Thanks!

Phil







Replies:
Re: Script BOY IntensityGraph to show areaDetector output of variable size Pearson, Matthew R.
References:
Re: Script BOY IntensityGraph to show areaDetector output of variable size gabriele . salvato
Re: Script BOY IntensityGraph to show areaDetector output of variable size Phil Atkin
Re: Script BOY IntensityGraph to show areaDetector output of variable size Bruno Martins
Re: Script BOY IntensityGraph to show areaDetector output of variable size Pearson, Matthew R.

Navigate by Date:
Prev: Re: Script BOY IntensityGraph to show areaDetector output of variable size Pearson, Matthew R.
Next: Re: How to use registry to replace vxWorks symLib? Andrew Johnson
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
Navigate by Thread:
Prev: Re: Script BOY IntensityGraph to show areaDetector output of variable size Pearson, Matthew R.
Next: Re: Script BOY IntensityGraph to show areaDetector output of variable size Pearson, Matthew R.
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  <20162017  2018  2019  2020  2021  2022  2023  2024 
ANJ, 15 Jul 2016 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·