diff options
Diffstat (limited to 'README.rst')
-rw-r--r-- | README.rst | 135 |
1 files changed, 43 insertions, 92 deletions
@@ -2,127 +2,77 @@ silx toolkit ============ -The silx project aims at providing a collection of Python packages to support the +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. It aims at providing reading/writing different file formats, data reduction routines -and a set of Qt widgets to browse and visualize data. +and a set of Qt widgets to browse and visualise data. -The current version provides: +The current version features: -* reading `HDF5 <https://www.hdfgroup.org/HDF5/>`_ file format (with support of - `SPEC <https://certif.com/spec.html>`_ file format and +* Support of `HDF5 <https://www.hdfgroup.org/HDF5/>`_, + `SPEC <https://certif.com/spec.html>`_ and `FabIO <http://www.silx.org/doc/fabio/dev/getting_started.html#list-of-file-formats-that-fabio-can-read-and-write>`_ - 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 + images file formats. +* OpenCL-based data processing: image alignment (SIFT), + image processing (median filter, histogram), + filtered backprojection for tomography +* 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, run:: +To install silx, run: + +.. code-block:: bash pip install silx -Or with Anaconda on Linux and MacOS:: +Or using Anaconda on Linux and MacOS: + +.. code-block:: bash conda install silx -c conda-forge -To install silx locally, run:: - - pip install silx --user - -Unofficial packages for different distributions are available : +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/ +- 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 -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 ------------- - -* `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: - -* `h5py <http://www.h5py.org/>`_ - -Parallel algorithms depend on: - -* `PyOpenCL <https://documen.tician.de/pyopencl/>`_ - -The console widgets depend on: - -* `ipython <https://ipython.org/>`_ -* `qtconsole <https://pypi.python.org/pypi/qtconsole>`_ - - -Supported platforms: Linux, Windows, Mac OS X. +`Detailed installation instructions <http://www.silx.org/doc/silx/dev/install.html>`_ +are available in the documentation. 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 <http://www.sphinx-doc.org>`_), run:: - - python setup.py build build_doc +The documentation of `latest release <http://www.silx.org/doc/silx/latest/>`_ and +the documentation of `the nightly build <http://www.silx.org/doc/silx/dev>`_ 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| -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 +Please refer to the `documentation on testing <http://www.silx.org/doc/silx/dev/install.html#testing>`_ +for details. Examples -------- @@ -134,13 +84,14 @@ Some examples of sample code using silx are provided with the License ------- -The source code of silx is licensed under the MIT license. -See the `LICENSE <https://github.com/silx-kit/silx/blob/master/LICENSE>`_ and `copyright <https://github.com/silx-kit/silx/blob/master/copyright>`_ files for details. +The source code of *silx* is licensed under the MIT license. +See the `LICENSE <https://github.com/silx-kit/silx/blob/master/LICENSE>`_ and +`copyright <https://github.com/silx-kit/silx/blob/master/copyright>`_ files for details. Citation -------- -silx releases can be cited by their DOI on Zenodo: |zenodo DOI| +*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 |