/silx

ScIentific Library for eXperimentalists

Primary LanguagePythonOtherNOASSERTION

silx toolkit

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)

Installation

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 :

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]

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 the following extra package: * h5py

Supported platforms: Linux, Windows, Mac OS X.

Documentation

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

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 are available in the source code repository. For example:

python examples/{exampleName.py}

License

The source code of silx is licensed under the MIT and LGPL licenses. See the copyright file for details.