The silx project aims at providing a collection of Python packages to support the development of data assessment, reduction and analysis applications at synchrotron radiation facilities. It aims at providing reading/writing different file formats, data reduction routines and a set of Qt widgets to browse and visualize data.
The current version provides :
- reading HDF5 file format (with support of SPEC file format)
- histogramming
- fitting
- 1D and 2D visualization using multiple backends (matplotlib or OpenGL)
- image plot widget with a set of associated tools (See changelog file).
- Unified browser for HDF5, SPEC and image file formats supporting inspection and visualization of n-dimensional datasets.
- Unified viewer (silx view filename) for HDF5, SPEC and image file formats
- OpenGL-based widget to display 3D scalar field with isosurface and cutting plane.
- image alignement (sift - OpenCL implementation)
To install silx, run:
pip install silx
To install silx locally, run:
pip install silx --user
On Linux, to install silx with pip, you must install numpy first. Unofficial packages for different distributions are available :
- Unofficial Debian8 packages are available at http://www.silx.org/pub/debian/
- CentOS 7 rpm packages are provided by Max IV at the following url: 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
On Windows, pre-compiled binaries (aka Python wheels) are available for Python 2.7, 3.5 and 3.6.
On Mac OS X, pre-compiled binaries (aka Python wheels) are available for Python 2.7.
The latest development version can be obtained from the git repository:
git clone https://github.com/silx-kit/silx.git cd silx pip install . [--user]
The GUI widgets of the silx package depend on the following extra packages:
- A Qt binding: PyQt5, PyQt4 (using API version 2) or PySide
- matplotlib for the silx.gui.plot package
- PyOpenGL for the silx.gui.plot3d package
Most modules and functions dealing with HDF5 input/output depend on the following extra package: * h5py
Supported platforms: Linux, Windows, Mac OS X.
Documentation of releases is available at https://pythonhosted.org/silx/
Latest documentation (nightly build) is available at http://www.silx.org/doc/silx/
To build the documentation from the source (requires Sphinx), run:
python setup.py build build_doc
To run the tests from the python interpreter, run:
>>> import silx.test
>>> silx.test.run_tests()
To run the tests, from the source directory, run:
python run_tests.py
Some examples are available in the source code repository. For example:
python examples/{exampleName.py}
The source code of silx is licensed under the MIT and LGPL licenses. See the copyright file for details.