Hi Jörn,
>
The task is to handle 64Mpx images from a CCD@16bit at 10Hz.
>
As the camera has USB3.0 as interface for readout, it's clear that we have to use binning of 4 or
even 6 to get this frames per second.
64M
pixels * 2 bytes/pixel * 10 frames/s = 1280 MB/s. If you bin 2x2 that is 320 MB/s. USB-3.0 can handle that, I run USB-3.0 cameras at that rate with no problem. That is also a rate that can be sent across a 10 Gbit/s Ethernet link OK.
>
If we would implement all the necesarry analysis code as plugins for areaDetector, what would be the maximum frame rate that can be reliably displayed
in e.g. phoebus?
I don't know the answer for Phoebus. But I just tested with ADSimDetector on Windows. I configured it to generate 4096x4096 UInt16 images at 10 Hz. I displayed those locally in ImageJ
using the PVA plugin. It could only display about 2 frames/s. I then used the ROI plugin to bin 2x2, and configured NDPluginPva to get its data from the ROI plugin. The images being displayed were thus 2048x2048. ImageJ was able to display those at the
full 10 Hz. Unless you have a very large monitor you won't see any difference between 4Kx4K and 2Kx2K images in the display. You can do this same test with Phoebus using ADSimDetector.
>
And is there a difference between CA and pva protocol?
I
have found that PVA puts significantly less CPU load on the areaDetector IOC than CA. I have also found that the ImageJ client is somewhat faster with PVA than CA. If your data is compressible you can using NDPluginCodec to compress it. The ImageJ plugin
can display compressed images. That can greatly reduce the network load.
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: Monday, April 11, 2022 7:39 AM
To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: EPICS areaDetector plugin & phoebus
Hi ,
for a project we want to use openPMD (openpmd.org) as storage format. Has
anybody been working on a areaDetector plugin using openPMD?
In the end we want to use ADIOS2 (adios2.readthedocs.io/en/latest.html) to
transport the data with high speed to a remote server for storage and
processing. Remote server will be used because then the offline analysis can
start immediately without waiting for the data to be copied from the iOC
server to the compute node.
The task is to handle 64Mpx images from a CCD@16bit at 10Hz. As the camera has
USB3.0 as interface for readout, it's clear that we have to use binning of 4
or even 6 to get this frames per second.
If we would implement all the necesarry analysis code as plugins for
areaDetector, what would be the maximum frame rate that can be reliably
displayed in e.g. phoebus? And is there a difference between CA and pva
protocol?
Regards,
Jörn Dreyer
|