You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
It is important to realize that these are recurrent requirements, spanning file-based and stream-based workflows, and this is a generic problem that will affect all techniques/instruments.
At the same time, the merge / accumulate operations are not always performed, and it is not clear in advance at which point in a workflow a scientist will want/need to merge. We also have to ensure that merging is easy or almost transparent for scientists, without requiring in-depth knowledge, or the ability to modify workflows in a complicated manner.
I therefore propose to add customization points at which merges can be performed into workflows. I thing typically there may be a handful of such points, e.g., (1) concat right after loading, (2) concat/sum before normalization, (3) average after normalization.
By default no-op accumulation providers (taking only a single input, not a sciline.Series) would be part of the workflow.
The package would provide a set of commonly used accumulators suitable for insertion at these points. These would, e.g., take sciline.Series as input, and require replacing a param by a param table.
Multiple accumulation points may be used simultaneously, e.g., to merge banks before normalization and average over runs after normalization. In this case there would be two parameter tables.
Open points
My hope is that by making this explicit in the workflow, we can use that functionality for the streaming case, without having to write complicated or custom just for the sake of live-reduction. The details require some more thought.
Overview
Over the past months it has become very cleat that workflow need to be able to merge data in various ways:
It is important to realize that these are recurrent requirements, spanning file-based and stream-based workflows, and this is a generic problem that will affect all techniques/instruments.
At the same time, the merge / accumulate operations are not always performed, and it is not clear in advance at which point in a workflow a scientist will want/need to merge. We also have to ensure that merging is easy or almost transparent for scientists, without requiring in-depth knowledge, or the ability to modify workflows in a complicated manner.
I therefore propose to add customization points at which merges can be performed into workflows. I thing typically there may be a handful of such points, e.g., (1) concat right after loading, (2) concat/sum before normalization, (3) average after normalization.
sciline.Series
) would be part of the workflow.sciline.Series
as input, and require replacing a param by a param table.Open points
My hope is that by making this explicit in the workflow, we can use that functionality for the streaming case, without having to write complicated or custom just for the sake of live-reduction. The details require some more thought.
References
Related: #49, scipp/esspolarization#19, scipp/beamlime#131
Example
This is not complete, but I hope it helps illustrating the point:
The text was updated successfully, but these errors were encountered: