We do not have separate messages for the state machine anymore
but derive all the information from the stream itself. This
also causes the statistics to change -> it is now run
oriented instead of statistics modulo.
This container is meant to run and test the jf-live-writer
locally without the need to install the PHDF5 library in
your local environment. Follow the instructions in
the README file.
Now the base phdf5 image is separated from the jf-live-writer
build. This is to allow for debug images of jf-live-writer to
be created without the need to go over the base image creation
process.
jf-live-writer requires PHDF5, which is not very popular
on development machines. If you want to enable this, you have
to pass BUILD_JF_LIVE_WRITER=ON to cmake. See the README.
Docker container for jf-live-writer. This is needed due to the
phdf5 library needed by this component. If you are not willing
to install it on your machine, please use this.
The live writer will listen to the stream of pulse_ids coming
from the sf-stream in order to determine the writing delay
it needs to apply. (we will wait 1 second after the data was
written to try to read it back)
We do not rely on start_pulse_id and pulse_id_step to
calculate the next image as we don't care which image this
will be - we write whatever we receive. This will allow us
to use an external driver for the pulses we desire to write.
The live writer has been changed to operate on the number of
desired pulses instead of the start and stop pulse_id. This
makes more sense in the context of live retrieval since the
stop pulse id has not been yet observed and the user would
need to calculate it anyway.
In comparison with the normal writer, the block operations
have been dropped and the buffering of metadata is not sparse
anymore. Direct chunk writing used for data and buffering +
dump at end for metadata.
The difference between the normal and the LiveImageAssembler
is that the live one can process each image individually,
sacrificing storage performance for writing flexibility -
the user can decide live exactly which frames to write.