Skip to content

Refactor Datastore to use scipp.DataGroup #94

@AndrewSazonov

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?

Metadata

Metadata

Assignees

No one assigned

    Labels

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

    Projects

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions