ewoksdata 0.6#

ewoksdata provides utilities for data access by ewoks workflows.

ewoksdata has been developed by the Software group of the European Synchrotron.

Getting started#

pip install ewoksdata

Iterate over the data from one Bliss scan during or after acquisition#

from ewoksdata.data.bliss import iter_bliss_scan_data

filename = "/data/id31/inhouse/id312210/id31/20221001/testpyfai/testpyfai_0001/testpyfai_0001.h5"
scan_nr = 38

with iter_bliss_scan_data(
    filename, scan_nr, lima_names=["p3"], counter_names=["mondio"], retry_timeout=10
) as bliss_scan_data_iterator:
    for data in bliss_scan_data_iterator:
        print(data["p3"]) # Contains lima data
        print(data["mondio"]) # Contains counter data

Warning

To ensure you get as many data points as scan points, make sure to specify at least one counter.

Also, to ensure that the file is closed after iterating on the scan data, make sure to use the iterator as a context manager as shown.

Iterate from a certain index of a Bliss scan during or after acquisition#

from ewoksdata.data.bliss import iter_bliss_data

filename = "/data/id31/inhouse/id312210/id31/20221001/testpyfai/testpyfai_0001/testpyfai_0001.h5"
scan_nr = 38
start_index = 5

with iter_bliss_data(
    filename, scan_nr, lima_names=["p3"], counter_names=["mondio"], retry_timeout=10, start_index=start_index
) as bliss_data_iterator:
    for index, data in bliss_data_iterator:
        print(data["p3"]) # Contains lima data
        print(data["mondio"]) # Contains counter data

Warning

To ensure you get as many data points as scan points, make sure to specify at least one counter.

Also, to ensure that the file is closed after iterating on the scan data, make sure to use the iterator as a context manager as shown.