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 2020 2021 2022 2023 2024 <2025> | 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 2020 2021 2022 2023 2024 <2025> |
<== Date ==> | <== Thread ==> |
---|
Subject: | Re: Using NDPluginGather to collect NDArrays from multiple detectors? |
From: | Mark Rivers via Tech-talk <tech-talk at aps.anl.gov> |
To: | Jörn Dreyer <j.dreyer at hzdr.de>, "tech-talk at aps.anl.gov" <tech-talk at aps.anl.gov> |
Date: | Tue, 25 Feb 2025 14:24:42 +0000 |
Hi Jörn,
Please set each camera so it is acquiring continuously at 1 Hz. Then send a screen shot of the Gather plugin, which should have an Array Rate = 3.
Set the HDF5 plugin to Stream mode with NumCapture=100. Then press the Capture Start button to start streaming. It should save 3 arrays per second for 33 seconds and then close the file. Send a screenshot of the HDF5 screen after you press the Capture Start
button.
Mark
From: Jörn Dreyer <j.dreyer at hzdr.de>
Sent: Tuesday, February 25, 2025 2:25 AM To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>; Mark Rivers <rivers at cars.uchicago.edu> Subject: Re: Using NDPluginGather to collect NDArrays from multiple detectors? Hi Mark,
I checked the requirements and all are fullfilled: 1) all detectors are created in the same IOC: ># Adding Basler cameras. Modify the second parameter acording to the camera name. >aravisConfig("$(PORT1)", "Basler-acA640-100gm-xxxxxxxx") >aravisConfig("$(PORT2)", "Basler-acA640-100gm-yyyyyyyy") >aravisConfig("$(PORT3)", "Basler-acA640-120gm-zzzzzzzz") 2) All cameras are of the same type, so the image size is the same (659 * 494) and of the same datatype (UINT8). The attributes are the standard set. I did not add any. I attached the screenshots of my NDPluginGather and NDPluginFileHDF5 settings. There are no errors reported from the HDF5 plugin, but still only one image shows up in the output. If I do a dump of the file structure, I get: h5dump -n test_007.h5 HDF5 "test_007.h5" { FILE_CONTENTS { group / group /entry group /entry/data dataset /entry/data/data group /entry/instrument group /entry/instrument/NDAttributes dataset /entry/instrument/NDAttributes/BayerPattern dataset /entry/instrument/NDAttributes/NDArrayEpicsTSSec dataset /entry/instrument/NDAttributes/NDArrayEpicsTSnSec dataset /entry/instrument/NDAttributes/NDArrayTimeStamp dataset /entry/instrument/NDAttributes/NDArrayUniqueId group /entry/instrument/detector group /entry/instrument/detector/NDAttributes dataset /entry/instrument/detector/NDAttributes/ColorMode dataset /entry/instrument/detector/data -> /entry/data/data group /entry/instrument/performance dataset /entry/instrument/performance/timestamp } } I tried the capture and the single mode. Always there is only one image in the file. I used the commonPluginsExample.cmd with some modifications to be able to use the same file for all three cameras. The Gather Plugin is from the first camera. Regards, Jörn Am Mittwoch, 19. Februar 2025, 17:35:20 Mitteleuropäische Normalzeit schrieb Mark Rivers: > Hi Jörn, > > In principle NDPluginGather can do what you are asking. There are 2 restrictions: > > > 1. > All of the detectors must be running in the same IOC, i.e. the same process. > 2. > All of the detectors must be producing NDArrays with the same dimensions, data type, and attributes. > > The second restriction is due to the way the HDF5 plugin works. In Stream mode it saves a single dataset of dimensions [Nx, Ny, Nimages]. The datatype of that dataset and also the attribute datasets are determined by the first array it receives. All subsequent arrays must be the same. If not, you should see an error at the IOC shell and on the OPI screen. > > If your setup meets these restrictions and you are still having problems, then please send screenshots of the Gather and HDF5 plugin screens. > > 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: Wednesday, February 19, 2025 2:21 AM > To: tech-talk at aps.anl.gov <tech-talk at aps.anl.gov> > Subject: Using NDPluginGather to collect NDArrays from multiple detectors? > > Hi, > > I would like to write the images from multiple detectors into a single file. > Therefor I tried to setup an NDPluginGather and connected the Array ports to the asynArray's of the detectors. > The output of this was connected to an NDPluginFileHDF5. But in the resulting HDF5 file was only one image. > > I gues I misunderstood the functionality of NDPluginGather. > Looking at the documentation it seems as if it seems that it can only collect data from Plugins (Attributes). > > Is there a way to achieve that, or do I have to live with one file per detector? > > Regards > > Jörn > > > -- Dr. Jörn Dreyer HIBEF DAQ + Controls Institut für Strahlenpysik Abt. FWKX Tel: +49 351 260 3263 Fax: +49 351 260 123263 Helmholtz-Zentrum Dresden - Rossendorf e.V. (HZDR) Bautzner Landstr. 400 | 01328 Dresden | Germany Tel: +49 (0) 351 260 1234 http://www.hzdr.de Vorstand: Prof. Dr. Sebastian M. Schmidt, Dr. Diana Stiller Vereinsregister: VR 1693 beim Amtsgericht Dresden |