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:
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:
To install silx (and all its dependencies), run:
pip install silx[full]
To install silx with a minimal set of dependencies, run:
pip install silx
Or using Anaconda on Linux and MacOS:
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 are available in the documentation.
The documentation of latest release and the documentation of the nightly build are available at http://www.silx.org/doc/silx/
silx features a comprehensive test-suite used in continuous integration for all major operating systems:
Please refer to the documentation on testing for details.
Some examples of sample code using silx are provided with the silx documentation.
The source code of silx is licensed under the MIT license. See the LICENSE and copyright files for details.
silx releases can be cited via their DOI on Zenodo:
# Pho
`powershell
pyenv local 3.9.13
pyenv exec python -m ensurepip --default-pip
pyenv exec python -m pip install --upgrade pip
pyenv exec python -m pip install virtualenv venv
pyenv exec python -m venv .venv # make new virtual environment
deactivate
.venv\Scripts\activate
.venv\Scripts\python -m ensurepip --default-pip
.venv\Scripts\python -m pip install --upgrade pip
.venv\Scripts\python -m pip install -r requirements.txt
`
`
.venv\Scripts\python -m pip uninstall silx
.venv\Scripts\python -m pip install -r requirements-dev.txt
.venv\Scripts\python -m pip install .
`
`
.venv\Scripts\python -m build --wheel
.venv\Scripts\python -m pip install dist/silx*.whl
`
`
.venv\Scripts\python -m pip install . # Make sure to install the same version as the source
sphinx-build doc/source/ build/html
`
# Manual Try: .. ```powershell .. .. set VCVARSALL_BAT="C:Program Files (x86)Microsoft Visual Studio2019CommunityVCAuxiliaryBuildvcvarsall.bat" .. set VCVARSALL_BAT="C:Program FilesMicrosoft Visual Studio2022CommunityVCAuxiliaryBuildvcvarsall.bat" .. call %VCVARSALL_BAT% amd64
# ONLY WORKING BELOW THIS LINE: # Only got working in x64 Native Tools Command Prompt for VS 2022: ```powershell ****************************************************************** ** Visual Studio 2022 Developer Command Prompt v17.10.5 ** Copyright (c) 2022 Microsoft Corporation ****************************************************************** [vcvarsall.bat] Environment initialized for: 'x64'
C:Program FilesMicrosoft Visual Studio2022Community>cd C:UsersphoreposSpike3DWorkEnvsilx (.venv) C:UsersphoreposSpike3DWorkEnvsilx>cd C:UsersphoreposSpike3DWorkEnvsilx (.venv) C:UsersphoreposSpike3DWorkEnvsilx>deactivate (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptsactivate (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptspython -m ensurepip --default-pip (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptspython -m pip install --upgrade pip build setuptools (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptspython -m pip uninstall silx (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptspython -m pip install -r requirements-dev.txt (.venv) C:UsersphoreposSpike3DWorkEnvsilx>.venvScriptspython -m pip install . ```
# Building wheel .whl
`powershell
.venv\Scripts\python -m build --wheel
Successfully built silx-2.1.1a0-cp39-cp39-win_amd64.whl
`
# Building documentation ```powershell cd doc # change to doc folder make.bat html make.bat dirhtml make.bat singlehtml
make.bat json make.bat htmlhelp make.bat qthelp make.bat man ``` Outputs are created in "C:UsersphoreposSpike3DWorkEnvsilxdocbuildsinglehtmlindex.html"