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  2016  2017  2018  2019  <20202021  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  2016  2017  2018  2019  <20202021  2022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: EPICS QT question
From: Mark Rivers via Tech-talk <tech-talk at aps.anl.gov>
To: Jörn Dreyer <j.dreyer at hzdr.de>
Cc: "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov>
Date: Thu, 24 Sep 2020 16:29:07 +0000

Hi Jörn,

 

> One solution would be to implement all the magic math we use as plugins for areaDetector 

> and combine them to the necessary chain. 

> But the machine we use to read the camera is not powerful enough (Odroid XU1) to do that. 

> What would be the performance if we would run the plugins on a separate machine? 

 

What you propose is quite reasonable.  The camera IOC would need to run the NDPluginPva, which is quite efficient.  Here is a screen shot where it is processing 784 frames/s of 1024x1024 Float32 images = 3.2 GB/s.

 

 

You can then run an IOC on a more powerful machine with the pvaDriver.  Here is a screen shot when it is processing 303 frame/s of 1024x1024 Float32 images = 1.2 GB/s.

 

 

Of course you need to make sure the network link between the machines can handle the required bandwidth.

 

> And how to make sure that they all are in sync?

 

Can you explain what you mean by that?

 

Mark

 


From: Tech-talk <tech-talk-bounces at aps.anl.gov> on behalf of Jörn Dreyer via Tech-talk <tech-talk at aps.anl.gov>
Sent: Thursday, September 24, 2020 8:53 AM
To: tech-talk at aps.anl.gov
Subject: EPICS QT question

 

Hi,

 

I'm currently developing an application based on EPICS QT. This toolkit makes things so much easier than using PyQwt which I have used before for the first version of the app. The app reads a picture from a camera, displays the original and does some processing of the image like fouriertransforms,  peak finding and fitting etc.

 

To make sure the analyzed pictures and the camera image are in sync, I wanted to read the image data from a PvaClient and display it in an QEImage.Then do all the math and display the results in other QEImage widgets.

But unfortunately the set(Pva)Image function is private.

 

One solution would be to implement all the magic math we use as plugins for areaDetector and combine them to the necessary chain. But the machine we use to read the camera is not powerful enough (Odroid XU1) to do that. What would be the performance if we would run the plugins on a separate machine? And how to make sure that they all are in sync?

 

Are there any experiences with such a scenario?

 

Regards

 

Jörn Dreyer

 


Replies:
Re: EPICS QT question Jörn Dreyer via Tech-talk
References:
EPICS QT question Jörn Dreyer via Tech-talk

Navigate by Date:
Prev: EPICS QT question Jörn Dreyer via Tech-talk
Next: StreamDevice "type punning" floating point conversion Eric Norum via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
Navigate by Thread:
Prev: EPICS QT question Jörn Dreyer via Tech-talk
Next: Re: EPICS QT question Jörn Dreyer via Tech-talk
Index: 1994  1995  1996  1997  1998  1999  2000  2001  2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  <20202021  2022  2023  2024 
ANJ, 25 Sep 2020 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·