Skip to content

Plan to consolidate Nexus loading code #38332

@robertapplin

Description

@robertapplin

Describe the outcome that is desired.
Mantid currently uses multiple mechanisms to load in data. This is outlined in the following issue mantidproject/roadmap#21

These mechanisms primarily involve using the Nexus API library to load data, however this library is now unsupported. We therefore no longer want to use it, and it would be preferable to use the HDF5 API directly. This would provide us with several other benefits which were not previously available when using Nexus API, and could result in a performance improvement when loading data.

To do this switch, the following plan was discussed with @peterfpeterson and @martyngigg .

Describe any solutions you are considering

After this work is done we are in a position to investigate what functionality we want to expose/add to improve the performance of reading/writing hdf5-based nexus files.

Things still to be decided:

  • Where do the various FileDescripttor, NexusFileDescriptor, and NexusHDF5FileDescriptor go and should they have a hierarchy?
  • Do we still want to have objects know how to serialize/deserialize themselves to nexus? If so, should we keep the nexus subpackage unaware of mantid objects (e.g. Kernel, API)

Metadata

Metadata

Assignees

No one assigned

    Labels

    EpicUsed for issues and PRs that are managed under the ISIS Epic WorkstreamMaintenanceUnassigned issues to be addressed in the next maintenance period.

    Type

    No type

    Projects

    Status

    Release 6.14

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions