Releases: silx-kit/pyFAI
Releases · silx-kit/pyFAI
pyFAI 2023.1
First stable version of pyFAI: v2023.1.
Sources and binary wheels can be found at: https://pypi.org/project/pyFAI/
and at: https://github.com/silx-kit/pyFAI/releases/tag/v2023.1
One of a few ways to install this release with pip:
pip install pyFAI==2023.1.0
Release notes and important changes since 0.21:
- Developer and packager tools:
- Switch build system from
numpy.distutils
tomeson-python
- Keep the former
setup.py
for compatibility reasons: it will be removed in a future release - Drop Python 3.6 (default parameters in namedtuple feature used)
- Require silx 1.1 (for OpenCL), scipy and matplotlib
- Switch build system from
- GUI side:
- several minor improvements in pyFAI-calib2
- Fixed calibration in jupyter-lab
- Core improvements:
- Refactoring of the Geometry class
- Geometry pseudo-inversion optimization
- Improved support from Medipix-based Lambda-detectors
- New detectors from Dectris (Pilatus 900k and Eiger 250k)
- Support Nexus format in output: NXmonpd and NXcansas
- Single-threaded CSC sparse matrix multiplication engine
- Improved uncertainty propagation:
- Refactor error model management (uses enum)
- Hybrid error model (azimuthal for sigma-clipping but reports Poissonian noise)
- Export peakfinder data to the CXI format (used by CrystFEL)
- Improvement in the doc:
- Update installation instructions
- Multi-threaded integration tutorial
- GPU implementation tutorial
- Facts and figures:
- 400+ commits, 100 PR
+with the contribution of:
Clemens Prescher,
Elena Pascal,
Jérôme Kieffer,
Malte Storm,
Marco Cammarata,
Michael Hudson-Doyle,
Picca Frédéric-Emmanuel,
Rodrigo Telles,
Thomas A Caswell,
Tommaso Vinci,
Valentin Valls,
Wout de Nolf.
- 400+ commits, 100 PR
PyFAI v0.21.3
- Support hexagonal pixels in splitbbox and nosplit mode (collaboration with EuXFEL)
- Support extra dtype in OpenCL (contribution from Desy)
- Fix version of setuptools (enables to build pyFAI -> python 3.12)
- Support some of the Lambda detectors from XSpectrum (collaboration with Xmas)
- Restore back compatibility in histoBBox1d and histoBBox2d (contribution from NSLS-II)
- Fix bug in OpenCL distortion correction (collaboration with Soleil)
- Several other bugs fixed
PyFAI version 0.21.2
This is a doc-fix minor release:
Documentation for sparsify-Bragg
and peakfinder
CLI tools were corrected.
PyFAI version 0.21.1
This is a bug-fix release over 0.21:
- fix several cabling issue inside AzimuthalIntegrator, preventing unattended engine-reset
dummy
value was not working properly in Worker- Remove deprecation warning about scipy
- Using silx for median-filter which is faster
- skip 3 tests which are known to be fragile on 32-bit platforms (spotted by debian on i386 and armel)
PyFAI version 0.21.0
- Sigma-clipping allows separation of Bragg/amorphous signal:
- Implementation in Python, Cython and OpenCL with poissonian and azimuthal error-model
- Sparsification, compression of single crystal data
- Application to peak-picking and quality assessment of SSX data
- Analysis of grid-scan to find single crystal
- Single pass variance evaluation in azimuthal bin
- Integration of the Jungfrau detector (ID29)
- 2D integration:
- New integrators with error propagation by default
- Full pixel splitting in addition to BBox and no splitting
- Refactor of all LUT and CSR to share the same code base, makes tests more robust.
- Calibration of experimental setup using Jupyter notebooks
- User interaction with plots in matplotlib (thanks Phil Hans)
- Factorize code between
pyFAI-calib
and jupyter calibration - Tutorial as notebook and video recording
- Parallax correction for thick detector (still experimental, thanks to Vadim)
- Improved tutorial on detector geometry calibration (based on Kabsch alignment)
- Better performances on HPC nodes by limiting simple OpenMP to fewer cores
- Many improvement in test, typos fixed, doc ...
- Deprecate all legacy integrators since the new version sees its matrix complete.
- Supports Python 3.6 ... 3.10 under Windows, MacOS and Linux.
PyFAI version 0.20.0
- One year of development, about 500 commits & 370 files modified.
- Generalization of the new generation 1D integrators (better error propagation)
- Sigma clipping and sparsification of single crystal data (OpenCL only)
- Fix issue introduced with the scipy 1.15 (constrained calibration broken)
- Improved distortion correction (also on GPU, ...)
- Major re-work of the documentation (thanks Thomas Kluyver and Loic Huder)
- Improve the calibration of Pilatus and Eiger detectors based on a grid of holes.
- New cylindrical detector from Rigaku
- Drop deprecated OpenCL integrator
- Support all Eiger2 detectors (thanks Clemens Weninger and Marie Ruat)
- CI: move to Gihub workflow and gitlab-runners (bob) for building (thanks Thomas Vincent).
- Build for debian 10 and 11 (also ubuntu 20.04), drop debian 9
- Remove Python2 related code
- Lower Numpy ABI dependency as much as possible (remains _distortion's C++ code)
- Drop tests for Python 3.5, checked on 3.9 as well.
PyFAI v0.19.0 31/01/2020
- Minor revison with only 150 commits, mainly bug-fixes
- Improvement on the GUI with many small bug-fixes
- Support newer h5py (mode mandatory, [()], ...)
- Build for debian 10 and 11 (also ubuntu 20.04)
- Drop tests for Python 2 and 3.4, checked on 3.8
- Improved compatibility with ImageD11
- Use hdf5plugin to provide hdf5 io-filters in apps
- Rework diffraction mapping tools to use a worker
- New generation azimuthal integrator using CSR algorithm
implemented in Python, Cython and OpenCL. - Sigma-clipping implemented in OpenCL
- Publication on new generation integration, the GUI for
calibration and the goniometers accepted in J. Synch. Rad. - A big thank to Florian from Germany, Bertrand from Xenocs,
Alex from Soleil and Jon from ESRF for their contributions
PyFAI v0.18.0
- Last release with Valentin as he finishes his contract soon
- Almost 800 commits, 60 PR since the last release: this is a huge
release ! - Major rework on all GUIs, mainly pyFAI-calib2 and pyFAI-integrate.
- Possibility to integrate image stacks (i.e. from HDF5), ...
- Rework the method to specify the algorithm, pixel splitting and
implementation
with sensible fall-backs. Also available via the different GUIs - 3D visualization of detectors and experimental setup, useful for non
flat detectors. integrate1d_ng
is available with histogramming without pixel
splitting in
Python, Cython and OpenCL. Now, propagates the variance properly !- IO sub-packages with associated refactoring for ponifile, json,
- Improved management of OpenMP: simplify the code for histograms.
- Improved geometry description and tutorial for writing exchange
with other software (ImageD11, thanks to Carsten Detlefs). - More reliable simple ellipse fitting with tests and doc.
- Better POCL integration (debugged on cuda, x87, Power9, ...)
- Rely on silx mechanics for the build, test, download, GUI,
opencl ... - Many new tutorials, now available on binder-hub: new calibrants,
Pilatus calibration, ... - Fix many issues reported in third-party software (Dioptas, ...)
- Drop support of debian8, Python 2.7 and Python 3.4 on all
platforms. It is likely most functionalities still work but without
guaranty.
PyFAI v0.17.1
Bug-fix release. Allows to build with numpy v1.16
PyFAI v0.17.0
- Only 200 commits in a couple of month, this is a small release
- Fix major bugs in pyFAI-calib2 (double validator, initial guess, ring position)
- Constrains have been added to the geometry fitting of pyFAI-calib2
- New pyFAI-integrate graphical application
- Much better support for user defined detector (HDF5)
- Start the rewrite of all integrators to allow proper error propagation (2D done)
- Factorize the preprocessing steps for many integrators
- Remove tons of code which has been deprecated for years in AzimuthalIntegrator
- Featuring contribution from Soleil and Berkeley
- Stop supporting Python2.7 on Windows
- All scripts are now using Python 3.x (x>=4)
- This is the last release supporting Python 2.7, 3.4 hence debian 8