/silx

silx toolkit

Primary LanguagePythonMIT LicenseMIT

silx toolkit

The purpose of the silx project is to provide a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. silx aims to provide reading/writing tools for different file formats, data reduction routines and a set of Qt widgets to browse and visualise data.

The current version features:

  • Support of HDF5, SPEC and FabIO images file formats.

  • OpenCL-based data processing: image alignment (SIFT), image processing (median filter, histogram), filtered backprojection for tomography, convolution

  • Data reduction: histogramming, fitting, median filter

  • A set of Qt widgets, including:

    • 1D and 2D visualization widgets with a set of associated tools using multiple backends (matplotlib or OpenGL)
    • OpenGL-based widgets to visualize data in 3D (scalar field with isosurface and cut plane, scatter plot)
    • a unified browser for HDF5, SPEC and image file formats supporting inspection and visualization of n-dimensional datasets.
  • a set of applications:

    • a unified viewer (silx view filename) for HDF5, SPEC and image file formats

      silxView

    • a unified converter to HDF5 format (silx convert filename)

Installation

To install silx (and all its dependencies), run:

pip install silx[full]

To install silx with a minimal set of dependencies, run:

pip install silx

Or using Anaconda on Linux and MacOS:

conda install silx -c conda-forge

Unofficial packages for different distributions are available:

Detailed installation instructions are available in the documentation.

Documentation

The documentation of latest release and the documentation of the nightly build are available at http://www.silx.org/doc/silx/

Testing

silx features a comprehensive test-suite used in continuous integration for all major operating systems:

  • Github Actions CI status: Github Actions Status
  • Appveyor CI status: Appveyor Status

Please refer to the documentation on testing for details.

Examples

Some examples of sample code using silx are provided with the silx documentation.

License

The source code of silx is licensed under the MIT license. See the LICENSE and copyright files for details.

Citation

silx releases can be cited via their DOI on Zenodo: zenodo DOI