summaryrefslogtreecommitdiff
path: root/README.rst
diff options
context:
space:
mode:
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst135
1 files changed, 43 insertions, 92 deletions
diff --git a/README.rst b/README.rst
index a7ccdf5..b6ab6c2 100644
--- a/README.rst
+++ b/README.rst
@@ -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