Page tree

How to read and write DOOCS properties with Python:

Here is a link to an extensive documentation of the  python3 client interface to DOOCS  and the link to the  IPython notebook on which the documentation is based.

In the following there is a short introduction to a few basic first steps:

Quickstart - Pydoocs

How to read Train IDs at FLASH synchronous readout

It is possible to pass the trainID (historically called macropulse) in pydoocs read methode and ensure related data. For this purpose the DAQmonitor provides a ring buffer. An example how to read the data from the ring buffer can be found in the repository

In development - Conda virtual enviroments

There are currently efforts to build a pydoocs conda package and distribute and manage python on the FLASH user consoles via virtual enviroments. On this way it is possible to use pydoocs on the Maxwell cluster and the corresponding JupyterHub.


There are basic examples explained via jupyter notebooks for accessing camera images and ADC traces. Further examples will be added gradually.


for images

Returns the camera images as seen on the jDDD panel (including e.g. ROIs):

Returns the raw camera image:

for ADC traces

Returns the whole trace which is acquird from the ADC:
doocspath ='FLASH.FEL/ADC.ADQ.BL1/EXP1.CH01/CH00.TD'

Returns the trace which is written to DAQ (the range is adjustable via jDDD) :
doocspath ='FLASH.FEL/ADC.ADQ.BL1/EXP1.CH01/CH00.DAQ.TD'

Big caveat: anaconda5

As this is an quite big caveat it is possible to compile pydoocs yourself and is done for all linux console in the FLASH1 &2 hall.

With the introduction of pydoocs as a conda package this will be redundant in the near future.

  • No labels