Roadmap

A few ideas how to develop the project further, currently a list as a reminder for the main developers themselves, in no particular order, though with a tendency to list more important aspects first:

Before starting implementation

For version 0.1

  • Data model for user-facing measurement and eveH5 file components

    • data model for scan and setup (both from SCML file) may come later

  • basic interface for packages operating on data

    • packages: evedataviewer, radiometry

  • import of most current eveH5 files, covering the entire information available

Todos

A list of todos, extracted from the code and documentation itself, and only meant as convenience for the main developers. Ideally, this list will be empty at some point.

Todo

Shall the constructor be slightly changed, so that loading a file becomes standard? May be more convenient for the users. To retain testability, one could think of an additional parameter, like so:

def __init__(self, filename="", load=True):
    ...
    if load:
        self.load()

This would just need an (anyway necessary) check for the filename to be present in the load() method.

original entry

Todo

In light of the newly added scan modules layer and the necessary mapping of datasets to scan modules: Where and how to check whether creating position (count)s during reading the SCML did work (consistency check) and where to actually distribute the datasets to the scan modules?

Probably the best way is to first map all datasets from main to dataset objects within the mapper, and only afterwards (deep)copy these dataset objects where necessary and distribute them to the scan modules, adding the preprocessing step selecting position counts to the respective importer(s).

When exactly the MPSKIP scans are dealt with needs to be decided. Definitely, the general mapping of datasets needs to be done first, as only this creates and maps the special SkipData dataset necessary to carry out the tasks of the mpskip module.

original entry

Todo

  • Decide whether all data need to be ordered according to their first axis (monitor data and measure data), and if only the latter, implement the sorting in the MeasureData.get_data() method. Otherwise, implement it here.

  • Make this method version-aware, i.e. handle situation with new eveH5 v8 schema where data are stored as single dataset in HDF5, no longer as separate datasets. Should be rather easy, as this would mean only one importer with “data” as value?

original entry

Todo

  • Decide whether all data need to be ordered according to their first axis (monitor data and measure data), and if only the latter, implement the sorting in the MeasureData.get_data() method. Otherwise, implement it here.

  • Make this method version-aware, i.e. handle situation with new eveH5 v8 schema where data are stored as single dataset in HDF5, no longer as separate datasets. Should be rather easy, as this would mean only one importer with “data” as value?

original entry

Todo

  • Decide whether all data need to be ordered according to their first axis (monitor data and measure data), and if only the latter, implement the sorting in the MeasureData.get_data() method. Otherwise, implement it here.

  • Make this method version-aware, i.e. handle situation with new eveH5 v8 schema where data are stored as single dataset in HDF5, no longer as separate datasets. Should be rather easy, as this would mean only one importer with “data” as value?

original entry

Todo

Implement mapping of positions for axes using plugins as step function. The reason for not yet having implemented this case: these axes need to have access to another reference axis, and the current implementation cannot guarantee this axis being present.

original entry

Todo

Extend Metadata classes to contain all relevant attributes from the SCML/setup description. This should already include metadata regarding the actual devices used not yet available from the SCML/XML but relevant for a true traceability of changes in the setup.

original entry