Skip to content

Latest commit

 

History

History
170 lines (120 loc) · 10.1 KB

File metadata and controls

170 lines (120 loc) · 10.1 KB

Roadmap for EasyReflectometry

This documents the planned roadmap for the EasyReflectometry project (containing both EasyReflectometryApp and EasyReflectometryLib) between now and the start of 2027. Certain tasks may depend on other Easy-family projects (in particular EasyCore) which will be be noted, where relevant.

Note that this chart should only be used to understand the planned features and a vague timeline for EasyReflectometry development.

gantt
    title EasyReflectometry Roadmap Nov 2023-Jan 2027
    dateFormat  YYYY-MM
    axisFormat  %Y-%m
    todaymarker off

    section General
    Improved GUI :a1, 2023-12, 24w
    # Resolution smearing :a2, after a1, 8w
    Resolution smearing :a2, 2024-01, 8w
    Video Tutorials :a3, after a2, 8w
    File IO :a4, after c2, 16w
    Ready for real users: milestone, m1, after a1, 2min

    section New functionality
    Mixed area models :b1, after m1, 10w
    Bayesian analysis :b3, 2025-01, 30w
    ESS integration :b2, after b3, 10w
    Ready for first ESS instruments :milestone, m2, 2025-11, 2min
    ESS Start of User Operation :milestone, m3, 2026-11, 2min

    section Hard Condensed Matter
    Magnetism support :c1, after m1, 40w
    Spin asymmetry and polarisation analysis :c2, after m2, 30w

    section Item Library
    # Bilayer item :d1, 2024-01, 8w
    Material gradient :d2, after b1, 7w
    Mixed surfactant layer :d3, after d2, 8w
    Bilayer with embedded protein :d4, 2025-07, 16w
    Mixed bilayer item :d5, after c2, 8w
Loading

Above we include a Gannt chart showing the roadmap. Each epic in this chart can be correlated with a heading below which details it. In time, each epic will be populated with a series of issues relating to the part of the Easy-family of projects that it pertains to. Issues that are general to EasyReflectometry (i.e. those related to interaction with the userbase) will be defined as EasyReflectometryApp issues.

Epics details

Improved GUI / User experience enhancement

The aim of this epic is to improve the user experience in EasyReflectometry. Currently, there are a performance issues and user-unfriendly interfaces that should be improved. This has the additional benefit of reducing technical debt. This includes work such as improving visualisations and adding code signing.

Resolution smearing

Currently, we only support a constant Gaussian $q$-resolution function. However, many reflectometry analysis libraries support $q$-dependent Gaussian resolution and even arbitrary function resolutions.

File IO

This epic will enable greater interoperability with other analysis packages and plotting software. This includes adding functionality for a ORSO model definition file (to be defined) and the ability to output easily data from EasyReflectometry for plotting in other packages

Video tutorials

Short video tutorials to accompany example projects. These can be hosted on YouTube or similar and linked to from easyreflectometry.org.

Also, create example project files based on existing notebooks. See: #159

Mixed area models

refnx has the functionality to produce an incoherent sum of two different models. This is important in accounting for non-uniform films/surfaces.

ESS integration

This means integration with the SciCat data catalogue, such that ESS data can be easily loaded to EasyReflectometry. Additionally, it will include the use of scipp as a data storage object and plopp plotting functionality.

Bayesian analysis

Bayesian sampling methods are becoming a more and more important tool in reflectometry analysis. While it may be possible to enable this by outputting models built in EasyReflectometry to refl1d or refnx Python environments, it would be cleaner to have the functionality available in EasyReflectometry. This would involve significant EasyCore work, in addition to the development of an EasyApp pane for sampling visualisaton (also beneficial to a potential EasyQens).

Magnetism support

This will begin with enabling the magnetism functionality available in refl1d, concurrent to which the graphical user interface will be designed with input from the relevant user communities.

Spin asymmetry and polarisation analysis

Enabling the analysis of difference between different spin flipper state

Item library

Here we collect all the issues related to the item library objects. Note that more items can be developed based on user requirements.

Phospholipid bilayer.

Material layer that describes a gradient (with a couple of different function forms) of one material present in another.

Using the mixed models functionality, making it possible to define more than one surfactant in a layer.

A bilayer item but with some concentration of protein embedded in the layer. Initially the protein describe would be basic (linking potentially to the protein-SLD calculator) but in future this could be expanded to include the protein-SLD calculator functionality or data from crystallographic or simulation results.

Using the mixed area models functionality, making it possible to define more than one phospholipid type in a bilayer.