SEES Software Policy

Scope

This policy applies to the following:

    • Software used to acquire data at the SEES supported beamlines.
    • Software developed by SEES staff for data processing and analysis at these beamlines.
    • Software developed by SEES staff for subsequent off-site data analysis

The remainder of this document refers to the software within this scope as “SEES software”.

Goals

    • SEES software should follow FAIR (Findable, Accessible, Interoperable and Reusable) principles.
    • Facilitate re-use of SEES software across SEES beamlines and with the larger community.
    • Ensure that SEES software is well-documented.
    • Ensure long-term access to SEES software to enable reprocessing and data integrity checks.

Policies

The following policies are aspirational. While not all SEES software currently follows these policies, SEES will work to bring all SEES software into compliance over time.

Findable and Accessible

    • SEES will maintain a catalog of all SEES software on the SEES Web site with links to the code and documentation.
    • SEES software will be hosted on publicly accessible servers (e.g. GitHub) and can thus be found with Web searches.
    • SEES software will use publicly available software languages (e.g. Python, C/C++) whenever possible. In cases where proprietary languages are used (e.g. MATLAB, IDL) a version of the software that can be used with a free run-time license should be provided.
    • SEES software will including licensing information that specifies how the software can be modified and shared. The license will be based on open source principles with rare exceptions.
    • SEES software will follow established standards for release tags, e.g. the Semantic Versioning scheme of Major.Minor.Patch, or Year.Month.Patch.
    • SEES software packages will be assigned a globally unique and persistent identifier, with each released version being assigned a distinct identifier. These will created either through the University of Chicago DataCite account or a third-party service, such as Zenodo.
    • SEES software should have documentation that describes the package in sufficient detail that a new user can quickly begin to use it. The documentation will include a description of the changes in each release.

Interoperable

    • SEES software will produce raw and processed data that is accompanied by rich metadata, including information about the sample, data collection configuration, and data processing steps.
    • SEES software will write and read data in using standards based formats (e.g. HDF5, NeXus, JSON).
      • SEES software should produce HDF5 files that are compliant with the technique-specific NeXus metadata standards, where appropriate
      • SEES will work with the NeXus community to extend and enhance these standards to capture as much metadata as possible in a standard format.
    • SEES will provide tools to convert the standard data format files (e.g. HDF5) to formats required by standard data analysis software (TIFF, CBF, text formats, etc.)

Reusable

    • SEES will work towards common software for the same technique on the SEES beamlines.
    • SEES will use established community supported software when possible.
    • SEES software will be written, documented, and maintained in way that encourages its use, development, and support outside of SEES.

SEES Software Catalog

Acronyms

CMT Computed Microtomography

 

Data and Software

This page lists resources for software for the collection, visualization, and analysis of the kinds of data that SEES users collect.  This includes tools developed by SEES staff, or in collaboration with SEES staff, or just tools that we find highly useful for working with synchrotron beamlines.

This will be a living document  suggestions are welcome!

Data Collection Software

X-ray Diffraction Software

X-ray Imaging Software

 

X-ray Spectroscopy Software

Data Resources