summaryrefslogtreecommitdiff
path: root/README.rst
blob: 38ce3683cf7cde7b3b442c883d02fe2b7da5a666 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
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 <https://www.hdfgroup.org/HDF5/>`_  file format (with support of `SPEC <https://certif.com/spec.html>`_ 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 <https://github.com/silx-kit/silx/blob/master/CHANGELOG.rst>`_).
* 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 :

- 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]

Dependencies
------------

* `Python <https://www.python.org/>`_ 2.7, 3.4 or above.
* `numpy <http://www.numpy.org>`_

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

* A Qt binding: `PyQt5, PyQt4 <https://riverbankcomputing.com/software/pyqt/intro>`_ (using API version 2) or `PySide <https://pypi.python.org/pypi/PySide/>`_
* `matplotlib <http://matplotlib.org/>`_ for the silx.gui.plot package
* `PyOpenGL <http://pyopengl.sourceforge.net/>`_ for the silx.gui.plot3d package

Most modules and functions dealing with `HDF5 <https://www.hdfgroup.org/HDF5/>`_ input/output depend on the following extra package:
* `h5py <http://www.h5py.org/>`_

* `ipython <https://ipython.org/>`_ and `qtconsole <https://pypi.python.org/pypi/qtconsole>`_ is required by silx.gui.console.py

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 <http://www.sphinx-doc.org>`_), 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 <https://github.com/silx-kit/silx/blob/master/copyright>`_ for details.

.. |Travis Status| image:: https://travis-ci.org/silx-kit/silx.svg?branch=master
   :target: https://travis-ci.org/silx-kit/silx
.. |Appveyor Status| image:: https://ci.appveyor.com/api/projects/status/qgox9ei0wxwfagrb/branch/master?svg=true
   :target: https://ci.appveyor.com/project/ESRF/silx