DiamondLightSource / DiamondLightSource/nexgen

Fix non-standard NXpositioner groups

Open
#195 4 comments 0 reactions 1 assignee Claimed by @noemifrisina View on GitHub
NXmx
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.