Skip to content

Refactor metadata not flexible enough #179

@pmneves7

Description

@pmneves7

In the NXcanSAS standard, certain metadata values are specified specifically that are officially part of the NXcanSAS standard. However, additional metadata may be optionally specified when looking at the inherited NX class. For example, the SASsample class has ~10 quantities within it in the NXcanSAS standard, but the inherited NXsample class can have about 60 additional quantities. Further, I can guarantee (because I have looked at the metadata from different instruments) that additional nonstandard optional quantities may be included that are useful to keep with the metadata.

For example, in the GP-SANS metadata, the omega and tilt_angle values are included in the sample metadata. These angles are physical motors that are highly useful to retain in the metadata, but are not part of any standard.

At least as it is implemented in temp_hdf5_reader in the refactor branch, the current dataloader does not look for any parameters not mentioned in the NXcanSAS standard. Further, the current metadata objects only have attributes for a subset of these parameters (and these parameters and where they are stored have moved in different cansas versions).

I suggest that all additional reported quantities in a given group (like SASsample) be included as procedurally generated quantities, copying the name, value, and unit from the hdf5 file reader. That way, additional metadata can be retained and exposed for experiments with unique equipment, samples, and sample environments.

This will also have to be re-evaluated once the cansas 2.0 standard is officially published.

Relevant links:
https://manual.nexusformat.org/classes/applications/NXcanSAS.html
https://manual.nexusformat.org/classes/base_classes/NXsample.html
https://www.cansas.org

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions