Skip to content

Load NXdata with auxiliary signals with different dims #304

Description

@jl-wynen

NXdata can contain auxiliary signals in addition to the regular signal. When they are present, we load the whole NXdata group as a Dataset. But the loader requires that all signals and coords share dimensions with the main signal. This is not the case for monitors in ESS files. They now contain a frame_total aux signal that has a different dimension.

There are a couple of options for loading this:

  • Extend the loader to build a dataset with the proper dims
    • Preserves current interface.
    • Potentially tricky to implement.
    • Wastes loading the aux signal if unused in a workflow.
  • Always quietly fall back to loading as a data group
    • This requires updates to the generic nexus workflow to extract and assemble the signal and aux signals.
    • Simplest fix.
    • Wastes loading the aux signal if unused in a workflow.
  • Drop aux signals.
    • This means that group[()] loads the familiar data array.
    • It avoids loading data that will be discarded immediately after in reduction workflows.
    • I don't think we use aux signals anywhere, so this wouldn't actually break anything.
    • But it becomes more difficult to access aux signals in the future.
    • Impl: Detect signal and its coords; drop everything else.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions