You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactoring of the integrator classes:
- Azimuthal integrator moved to pyFAI.integrator.azimuthal
- Most common code into pyFAI.integrator.common (including a lot of deprecated stuff)
- New sub-module dedicated to fiber/surface diffraction (pyFAI.integrator.fiber)
- Engine loading is now in pyFAI.integrator.load_engines
- Those are all (still) sub-classes of each-other but it will change in the futrure where they will need to be promoted to transfer all the geometry and enable other's class feature. For example: ai.promote("FiberIntegrator") or ai.promote("GeometryRefinement")
Refactoring of the handling of the serialization of the pyFAI-integrate GUI and pyFAI.worker.Worker into a JSON file.
- Use a dataclass defined in pyFAI.io.integration_config.WorkerConfig to manage all parameters to configure the Worker
- New format version 5, enables the handling of sigma-clip & median filtering
- Provides better compatibility with Ewoks
Median filtering for 1D filtering:
- includes quantile average
- available in Python, Cython & OpenCL
- Performances charts for sigma-clip & median filter.
New FiberIntegrator class for grazing-incidence/fiber scattering data (former fiber/gi methods in a new API)
- FiberIntegrator located in pyFAI.integrator.fiber
- Usage tutorial in doc/source/usage/tutorial/FiberGrazingIncidence.ipynb or https://www.silx.org/doc/pyFAI/dev/usage/tutorial/FiberGrazingIncidence.html
- integrate2d_grazing_incidence method to display qIP - qOOP patterns. New API with minimum inputs
- integrate1d_grazing_incidence method to perform qIP or qOOP slices. New API with minimum inputs
- Corrected equations to handle incident_angle and tilt_angle parameters
- 8 possible sample_orientation (1-8), to rotate and flip the qIP-qOOP maps (or other units)
- integrate2d_polar to represent the polar angle (arctan(qOOP/qIP)) versus the q modulus
- integrate1d_polar to integrate the polar angle map (vertical or horizontal)
- integrate2d_exitangles to reshape the diffraction pattern into horizontal and vertical exit angles, with the origin in the sample horizon
- integrate1d_exitangles to perform an integration across one of the exit angles
- Faster calculation with numexpr package formulas
New MultiGeometryFiber in pyFAI.multi_geometry
- Analog to MultiGeometry class.
- Instead of taking a list of AzimuthalIntegrators, it takes a list of FiberIntegrators
- Access to integrate1d and integrate2d grazing_incidence/fiber methods
- New tutorial of usage in doc/source/usage/tutorial/MultiGeometry/MultiGeometryFiber.ipynb`
Tool to rebin 2d-result into 1d-result (pyFAI.containers.rebin1d)
pyFAI-diffmap-view now displays the motor position in the the map.
Change documentation template to pydata
Several bug-fixes & better code coverage
Supports python 3.9 to 3.13. The GIL-free version on python 3.13 is untested.
Tested by the developers on Windows (amd64), linux (amd64, arm64 and ppc64le) and MacOS (amd64 and arm64). Thanks to Debian for extending this matrix.
More than 500 commits, by Thomas Vincent, Loic Huder, Edgar Gutierrez Fernandez and Jérôme Kieffer