DiamondLightSource / DiamondLightSource/nexgen
Fix non-standard NXpositioner groups
- Dominant language
- Python
- Stars
- 2
- Forks
- 9
- PR merge metrics
- No merged PRs in 30d
Description
The writer for `NXsample` is writing transformations groups as `NXpositioner`, eg.
```
h5ls -vd file.nxs/entry/sample/
sample_phi Group
Attribute: NX_class scalar
Type: 12-byte null-padded ASCII string
Data:
"NXpositioner"
Location: 1:39098
Links: 1
```
which contains
```
h5ls -v file.nxs/entry/sample/sample_phi
phi Dataset {75}
phi_end Dataset {75}
phi_increment_set Dataset {SCALAR}
```
While NXsample might accept an NXpositioner group, these do not follow the standard, see [here](https://manual.nexusformat.org/classes/base_classes/NXpositioner.html#nxpositioner), and are actually NXtransformations groups.
Options to fix:
1. Make `NXpositioner` groups indicating axes into `NXtransformations` group.
2. Keep the `NXpositioner` group but move the axis_name fields into a further `NXtransformations`, making the tree look like `/entry/sample/sample_phi/transformations/phi`
3. Remove the `NXpositioner` groups altogether and have all the relevant information only in `/entry/sample/transformations`
Contributor guide
Assessment
This issue has not been assessed yet.