DiamondLightSource / DiamondLightSource/nexgen
Move scan calculations out of nexgen
- Dominant language
- Python
- Stars
- 2
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
As a user of nexgen I would like to provide the scan details myself rather than the current system of the scan being assumed as part of the goniometer structure. I propose that we provide this using `scanspec` as it's an existing library which makes it easy to construct scans.
Nexgen should probably still be responsible for creating the additional omega scan values (when none are provided) as this is a quirk of the nexus structure that omega values are always required so shouldn't be exposed to the user.
## Acceptance Criteria
* `nexgen` can be called with a full scan specification and will write this
* The detail around the scan in the gonio structure (e.g. increment, start and end) becomes optional
* `nexgen` will create the omega scan part if this hasn't already been provided
* There are unit tests covering all the above
## Note
* Currently i24 still relies on nexgen to build the scan, if this is still the case when this ticket is done then create a new one for removing the scan generation code once no longer required by i24
Contributor guide
Assessment
This issue has not been assessed yet.