Metadata-Version: 2.1
Name: silx
Version: 2.0.1
Summary: Software library for X-ray data analysis
Home-page: http://www.silx.org/
Author: data analysis unit
Author-email: silx@esrf.fr
License: MIT
Classifier: Development Status :: 5 - Production/Stable
Classifier: Environment :: Console
Classifier: Environment :: MacOS X
Classifier: Environment :: Win32 (MS Windows)
Classifier: Environment :: X11 Applications :: Qt
Classifier: Intended Audience :: Education
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Programming Language :: Cython
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Topic :: Scientific/Engineering :: Physics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.7
License-File: LICENSE
Requires-Dist: numpy<2,>=1.21.6
Requires-Dist: packaging
Requires-Dist: h5py
Requires-Dist: fabio>=0.9
Provides-Extra: full
Requires-Dist: pyopencl; extra == "full"
Requires-Dist: Mako; extra == "full"
Requires-Dist: qtconsole; extra == "full"
Requires-Dist: matplotlib>=3.1.0; extra == "full"
Requires-Dist: PyOpenGL; extra == "full"
Requires-Dist: python-dateutil; extra == "full"
Requires-Dist: PyQt5; extra == "full"
Requires-Dist: hdf5plugin; extra == "full"
Requires-Dist: scipy; extra == "full"
Requires-Dist: Pillow; extra == "full"
Requires-Dist: bitshuffle; extra == "full"
Provides-Extra: doc
Requires-Dist: pydata_sphinx_theme; extra == "doc"
Requires-Dist: sphinx; extra == "doc"
Requires-Dist: sphinx-autodoc-typehints; extra == "doc"
Requires-Dist: sphinx-panels; extra == "doc"
Requires-Dist: nbsphinx; extra == "doc"
Requires-Dist: pandoc; extra == "doc"
Requires-Dist: pillow; extra == "doc"
Provides-Extra: test
Requires-Dist: pytest; extra == "test"
Requires-Dist: pytest-xvfb; extra == "test"
Requires-Dist: pytest-mock; extra == "test"
Requires-Dist: bitshuffle; extra == "test"


silx toolkit
============

.. |silxView| image:: http://www.silx.org/doc/silx/img/silx-view-v1-0.gif
   :height: 480px

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.
*silx* aims to provide reading/writing tools for different file formats, data reduction routines
and a set of Qt widgets to browse and visualise data.

The current version features:

* 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 file formats.
* OpenCL-based data processing: image alignment (SIFT),
  image processing (median filter, histogram),
  filtered backprojection for tomography,
  convolution
* 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
  
    |silxView|

  * a unified converter to HDF5 format (*silx convert filename*)


Installation
------------

To install silx (and all its dependencies), run:

.. code-block:: bash

    pip install silx[full]

To install silx with a minimal set of dependencies, run:

.. code-block:: bash

    pip install silx

Or using Anaconda on Linux and MacOS:

.. code-block:: bash

    conda install silx -c conda-forge

Unofficial packages for different distributions are available:

- Unofficial Debian10 and Ubuntu20.04 packages are available at http://www.silx.org/pub/linux-repo/
- 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

`Detailed installation instructions <http://www.silx.org/doc/silx/dev/install.html>`_
are available in the documentation.

Documentation
-------------

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:

- Github Actions CI status: |Github Actions Status|
- Appveyor CI status: |Appveyor Status|

Please refer to the `documentation on testing <http://www.silx.org/doc/silx/dev/install.html#testing>`_
for details.

Examples
--------

Some examples of sample code using silx are provided with the
`silx documentation <http://www.silx.org/doc/silx/dev/sample_code/index.html>`_.


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.

Citation
--------

*silx* releases can be cited via their DOI on Zenodo: |zenodo DOI|

.. |Github Actions Status| image:: https://github.com/silx-kit/silx/workflows/CI/badge.svg
   :target: https://github.com/silx-kit/silx/actions
.. |Appveyor Status| image:: https://ci.appveyor.com/api/projects/status/qgox9ei0wxwfagrb/branch/master?svg=true
   :target: https://ci.appveyor.com/project/ESRF/silx?branch=master
.. |zenodo DOI| image:: https://zenodo.org/badge/DOI/10.5281/zenodo.591709.svg
   :target: https://doi.org/10.5281/zenodo.591709
