-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
order of producers are neglected #93
Comments
Hi Daniel, there should only be a single producer for each type. If you have multiple functions that return, e.g., a Can you provide an example where you want to use the order of providers to select which one gets used? |
H @jl-wynen , Many thanks for your prompt reply! In the meantime, I also found your design decision clearly stated in the docs. I fully agree that from a design point of view and also for an established analysis routine, your concept is well-chosen and also safe. In our case, we e.g. often handle images from scientific CCD. In that case, after reading the data, we have many functions/produces all working on the same data type before reducing/transforming the images. Sticking to the examples of your docs, we are talking about e.g. cleaning, subtracting, scaling, ROI selection, and binning of the data. During beamtime, one might play a bit with the order of these steps, e.g. Maybe you have some concepts for such kinds of requirements. When initially thinking about designing our own |
Relying on the order is straightforward when you have a linear chain. But what about providers that take multiple inputs? You also need to consider whether the providers are actually able to consume data that has been processed in different ways. A simple example is
Here, the |
thanks for this clarification. at the end I wanted to be sure about your design philosophy so we can discuss about is applicability for our needs. diving deeper into your extensive documentation and examples I also found |
The |
I'd like to link to some real-life examples of Sciline use, which may be clearer than the slightly abstract documentation: |
thanks a lot. these examples are already very close to our workflows |
Hi scliline team,
Playing around, I learned that the order of producers is not respected in the pipeline. Instead, the order of the producers in the pipeline is determined solely from the type hints.
In many applications, it can be desired to easily change the order of producers which accept and return the same data type (e.g scipp Dataset). With the current restriction, one needs to change the producer's code (type hints) instead of only changing the order in the list of producers.
Best
Daniel
The text was updated successfully, but these errors were encountered: