Skip to content

European-XFEL/Karabo-Hdf5Writer

Repository files navigation

HDF5Writer: A simple Data Acquistion Device for Karabo...

Karabo Badge PyPI - Version PyPI - Python Version PyPI - License PyPI - Wheel GitHub language count GitHub top language GitHub contributors GitHub commit activity GitHub Repo stars

... that is extra-data compliant.

Outline

This HDF5Writer device will ingest any data that Karabo can produce (well, except tables that is), and store it into HDF5 files which are extra-data compliant.

All data is stored "as if it were fast-data", i.e. no cloning takes place for slow data, as it would in the full EuXFEL DAQ. This simplifies data bookkeeping substantially.

In order to be compliant with extra-data needs, a fake :slow channel specifier is introduced for slow data, and top-level data nodes are created for any data source. A RUN data section is not created!

A resulting file structure might thus look like:

├INDEX
│ ├FOO
│ │ └BAR
│ │   ├test-mdl-08c59409-61fe-4745-afd8-186a82d1bcd6:output
│ │   │ └data
│ │   │   ├count  [uint64: 9]
│ │   │   └first  [uint64: 9]
│ │   └test-mdl-08c59409-61fe-4745-afd8-186a82d1bcd6:slow
│ │     └data
│ │       ├count  [uint64: 9]
│ │       └first  [uint64: 9]
│ ├flag   [int32: 9]
│ ├origin [int32: 9]
│ ├timestamp      [uint64: 9]
│ └trainId        [uint64: 9]
├INSTRUMENT
│ └FOO
│   └BAR
│     ├test-mdl-08c59409-61fe-4745-afd8-186a82d1bcd6:output
│     │ └data
│     │   └node
│     │     └ndarray      [int32: 1 × 100 × 200]
│     └test-mdl-08c59409-61fe-4745-afd8-186a82d1bcd6:slow
│       └data
│         ├node
│         │ ├counter      [uint32: 9]
│         │ └counterReadOnly      [uint32: 9]
│         ├state  [256-byte ASCII string: 9]
│         └vectors
│           └stringProperty       [256-byte ASCII string: 9 × 10]
└METADATA
    ...

Interface

The interface is intended to be compatile to the EuXFEL DAQ in terms of states and commands. Currently, no "Pause" funtionality is implemented.

About

An Extra-data compatible Hdf5 writer for Karabo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages