Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Software library for X-Ray data analysis

Project Description

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 and FabIO images)
  • histogramming
  • fitting
  • 1D and 2D visualization widgets using multiple backends (matplotlib or OpenGL)
  • an OpenGL-based widget to display 3D scalar field with isosurface and cutting plane
  • an image plot widget with a set of associated tools
  • a unified browser for HDF5, SPEC and image file formats supporting inspection and visualization of n-dimensional datasets.
  • a unified viewer (silx view filename) for HDF5, SPEC and image file formats
  • a unified converter to HDF5 format (silx convert filename)
  • median filters on images (C and OpenCL implementations)
  • image alignement (sift - OpenCL implementation)
  • filtered backprojection and forward projection for tomography

Installation

To install silx, run:

pip install silx

Or with Anaconda on Linux and MacOS:

conda install silx -c conda-forge

To install silx locally, run:

pip install silx --user

Unofficial packages for different distributions are available :

Beside this, we provide a certain number of wheels (pre-compiled binary packages) to be installed onto a pre-existing Python installation:

  • On Windows, binary wheels are available for Python 2.7, 3.5 and 3.6.
  • On MacOS, binary wheels are available for Python 2.7, 3.4, 3.5 and 3.6.
  • On Linux, manylinux1 binary wheels are available for Python 2.7, 3.4, 3.5 and 3.6.

Those builds are made from “up-date” systems at the time of the release, i.e. they use the latest stable version of numpy (and cython). Hence your system should use a fairly recent version of numpy to be compatible with silx. This can be achieved simply by:

pip install numpy --upgrade

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]

Dependencies

The GUI widgets of the silx package depend on the following extra packages:

Most modules and functions dealing with HDF5 input/output depend on:

Parallel algorithms depend on:

The console widgets depend on:

Supported platforms: Linux, Windows, Mac OS X.

Documentation

Documentation of latest release is available at http://www.silx.org/doc/silx/latest/

Documentation of previous releases and 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

Testing

  • Travis CI status:
  • Appveyor CI status:

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

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 by their DOI on Zenodo:

Release History

Release History

This version
History Node

0.6.0

History Node

0.5.0

History Node

0.4.0

History Node

0.3.0

History Node

0.2.0

History Node

0.1.0

Download Files

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting