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 * a unified converter to HDF5 format (*silx convert filename*) Installation ------------ To install silx (and all its dependencies), run: .. code-block:: bash pip install silx[full] To install silx with a minimal set of dependencies, run: .. code-block:: bash pip install silx Or using Anaconda on Linux and MacOS: .. code-block:: bash 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. 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: - Travis CI status: |Travis 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| .. |Travis Status| image:: https://travis-ci.org/silx-kit/silx.svg?branch=master :target: https://travis-ci.org/silx-kit/silx?branch=master .. |Appveyor Status| image:: https://ci.appveyor.com/api/projects/status/qgox9ei0wxwfagrb/branch/master?svg=true :target: https://ci.appveyor.com/project/ESRF/silx?branch=master .. |zenodo DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.591709.svg :target: https://doi.org/10.5281/zenodo.591709