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
- 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
- a unified converter to HDF5 format (silx convert filename)
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:
- Unofficial Debian9 packages are available at http://www.silx.org/pub/debian/
- CentOS 7 rpm packages are provided by Max IV at: http://pubrepo.maxiv.lu.se/rpm/el7/x86_64/
- Fedora 23 rpm packages are provided by Max IV at http://pubrepo.maxiv.lu.se/rpm/fc23/x86_64/
- Arch Linux (AUR) packages are also available: https://aur.archlinux.org/packages/python-silx
Detailed installation instructions are available in the documentation.
silx features a comprehensive test-suite used in continuous integration for all major operating systems:
Please refer to the documentation on testing for details.
Some examples of sample code using silx are provided with the silx documentation.