Added example for SCS.
Hi @carinanc, I added the notebook. It is not tested, because I don't know which run I could use to test it.
For training in [1], we would need one run with grating ("navitar"), PES and XGM. For training in [2], we would need one run with the Viking, PES and XGM, plus the Viking calibration runs taken by SCS.
In both cases, the training run should be with 1 pulse, but the run there has multiple pulses. The inference run, does not need to include Viking or grating and can include multiple pulses. For that we only need the PES and XGM and the file produced from training (the "*.joblib" file).
For the inference, I need to provide the bunch pattern table information if there are multiple pulses, which I do by just reading it from the data.
All here is bound to crash so far, because have not tested it, but I wrote the skeleton using SCS's toolbox, so it is in a language they understand.
Also in this branch: the VSConfig
class from pes_to_spec.config
can be used to read the PES configurations in a given run or several runs and compare the configurations with another. In this way, we could determine if there is a mismatch in the training and inference configurations. This could also be used to add this in CalCat, @schmidtp