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
- 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 Debian10 and Ubuntu20.04 packages are available at http://www.silx.org/pub/linux-repo/
- 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.
The documentation of latest release and the documentation of the nightly build are available at http://www.silx.org/doc/silx/
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.
The source code of silx is licensed under the MIT license. See the LICENSE and copyright files for details.