Major Changes
- **Compute *χ<sup>2</sup>* Map Toolbox**
This new toolbox allows the user to compute a map of *χ<sup>2</sup>* from the data and two chosen parameters.
Options are:
- *ρ*
- *b* (background scaling factor)
- *r*<sub>min</sub>
- No. iterations
Options for setting parameter, normalising *χ<sup>2</sup>*, and plotting the data are provided.
Computed data can be saved or the plot directly exported as an image.
- **Optional corrections for self-shielding attenuation factor**
Optional corrections for self-shielding presuming a slab-type geometry can be made in the *Background Subtraction* tab. More complex geometries (e.g. cylindrical, including a container, etc.) may be added if there is demand.
- **Support for Qt 6 via qtpy**
This gives support for all major Qt bindings (PyQt5, PyQt6, PySide2 and PySide6). PyQt6 preferred over PySide6.
Minor Changes
- Option to plot self-scattering/compton scattering to compare against _I(Q)_ in the data/optimisation UI
- Automatic plotting of _αI(Q)_ to compare with _f(Q)_
- Optional zero-shift corrections in background subtraction tab
- Rebinned _I(Q)_ data is now filled with _I(Q<sub>min</sub>)_ at _0 <= Q < Q<sub>min</sub>_
- Auto rebinning when data and background have different ranges or step sizes
- More robust peak search for finding integration limits in structural information tab
- Refactored form factor / average scattering functions for memory efficiency and speed.
Creation of large arrays for compositions with many components is now avoided.
- Support for user input of fractional chemical compositions added for Faber-Ziman method. This avoids users having to multiply their formulae to get integer number of atoms. Ashcroft-Langreth structure factors set to only support molecular compositions.
(fixes issue 1)
- Minor improvements to user interface, including logic, optimisations, and bugfixes
- Minor optimisations to core modules
Bug Fixes
- Removed non-implemented chemical species
- Fixed breaking bug in _2θ_ to _Q_ conversion toolbox
- Updated usage of code deprecated in dependencies
- Fixed small errors in LiquidDiffract/scripts/
- Fixed rebinning errors when raw data has nans
- Minor bugfixes in core modules
Development Changes
- This changelog!
- Unit tests / functional tests for core module.
run `python -m unittest discover ./tests - v`
- Unit tests run remotely on push to develop branch via github actions.
Test matrix of:
os: [ubuntu-latest, macos-latest, windows-latest]
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
- Dropped support for python < 3.8
Python 3.8 support maintained via importlib_resources. Support will be dropped in next release.