Skip to main content

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.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: Travis Status

  • Appveyor CI status: Appveyor 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: zenodo DOI

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

silx-0.6.1.tar.gz (9.5 MB view hashes)

Uploaded Source

Built Distributions

silx-0.6.1-cp36-cp36m-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.6m Windows x86-64

silx-0.6.1-cp36-cp36m-manylinux1_x86_64.whl (6.5 MB view hashes)

Uploaded CPython 3.6m

silx-0.6.1-cp36-cp36m-macosx_10_7_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.6m macOS 10.7+ x86-64

silx-0.6.1-cp35-cp35m-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 3.5m Windows x86-64

silx-0.6.1-cp35-cp35m-manylinux1_x86_64.whl (6.4 MB view hashes)

Uploaded CPython 3.5m

silx-0.6.1-cp35-cp35m-macosx_10_7_x86_64.whl (4.3 MB view hashes)

Uploaded CPython 3.5m macOS 10.7+ x86-64

silx-0.6.1-cp34-cp34m-manylinux1_x86_64.whl (6.5 MB view hashes)

Uploaded CPython 3.4m

silx-0.6.1-cp27-cp27mu-manylinux1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 2.7mu

silx-0.6.1-cp27-cp27m-win_amd64.whl (2.9 MB view hashes)

Uploaded CPython 2.7m Windows x86-64

silx-0.6.1-cp27-cp27m-manylinux1_x86_64.whl (6.2 MB view hashes)

Uploaded CPython 2.7m

silx-0.6.1-cp27-cp27m-macosx_10_7_x86_64.whl (3.3 MB view hashes)

Uploaded CPython 2.7m macOS 10.7+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page