LiquidDiffract v1.2.4
Major Changes
-
Compute χ2 Map Toolbox
This new toolbox allows the user to compute a map of χ2 from the data and two chosen parameters.
Options are:- ρ
- b (background scaling factor)
- rmin
- No. iterations
Options for setting parameter, normalising χ2, 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(Qmin) at 0 <= Q < Qmin
- 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
- A changelog
- Unit tests / functional tests for core module.
runpython -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"] - Deprecated support for python < 3.8
Python 3.8 support maintained via importlib_resources. Support will be dropped in next release.