Skip to content

Refactor Datastore to use scipp.DataGroup #94

Description

@AndrewSazonov

The current Datastore implementation is based on numpy arrays. With the planned move to scipp, we should refactor Datastore to use scipp.DataGroup (and DataArray where appropriate).

Benefits:

  • Native support for uncertainties and masks (useful for excluded regions)
  • Cleaner grouping of related arrays (measured, calculated, background, etc.)
  • Better consistency with other EasyScience components that are moving to scipp

This was touched on in #88 (review), but needs a dedicated discussion and design decision.

Open questions:

  • Should we map each array (e.g., measured intensities) directly to DataArray entries in the DataGroup?
  • Should recalculated fields (e.g., calculated intensities, background, d_spacing, etc.) also be stored in the DataGroup, or always computed on demand?
  • Is the overall datastore.py structure (BaseDatastore, PowderDatastore, SingleCrystalDatastore) still sufficient, or do we anticipate larger design changes?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    [priority] ⚠️ label neededAutomatically added to issues without a [priority] label[scope] ⚠️ label neededAutomatically added to issues and PRs without a [scope] label

    Projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions