Releases: xraypy/xraylarch
0.9.81
0.9.80
Several of the changes here represent the start of an effort to make the Larix GUI more configurable, especially for non XAS tasks, allowing for additional optional Analysis Tasks to be added for certain types of data and analyses. This is a work-in-progress.
General bugfixes:
- allow shorter pre-edge range, selecting by number of energy points (#517)
- fix bug reading very short XDI files (#519)
- remove _larch argument from write_ascii() (#521)
- tweak scaling and fitting tolerances used for XRF fitting.
- scale reconstructed tomography data to have the same mean value as the original sinogram.
- fix many Numpy uses that have been deprecated in Numpy2.
- require Numpy<2, at least until other packages (pymatgen, scikit-image) support it.
- drop requirement for peakutils, add function to reproduce peakutils.peak_indices
- improve debugtime utility, use tabulate module for output.
- add support for Python 3.12, and drop testing of Python 3.8.
Larix features and fixes:
- Feffit Panel: fixes for handling cases with no data, to allow EXAFS simulations without data.
- Feffit Panel: fix plotting individual paths (#515).
- PCA Panel: fix plotting of group with model and other plot variations (#520).
- fix getting config when a datagroup might be missing.
- Add splash screen at startup
- Better placement of Plot window at startup.
- support enabling wx inspection.
- better sizing of results pages, and Parameters windows on all platforms
- reorganize menus to have more drop-down menus with fewer, better organized categories.
- Analysis Panels/Tabs can be re-arranged or removed.
- Analysis Panels can be selected or deselected from the Preferences Menu.
- remove "XY data" (was "raw data") from XAS Normalization Panel
- reading general "XY data" (was "raw data") into separate Panel
- "Spin Arrows" to in/decrement numbers are now acceptably sized on Linux/Gtk3.
- Horizontal Lines are shown on macOS.
XRF Fitting interface:
- fix many display issues, especially on Linux.
0.9.79
Several of the changes here represent the start of an effort to make the Larix GUI more configurable, especially for non XAS tasks, allowing for additional optional Analysis Tasks to be added for certain types of data and analyses. This is a work-in-progress.
General bugfixes:
- allow shorter pre-edge range, selecting by number of energy points (#517)
- fix bug reading very short XDI files (#519)
- remove _larch argument from write_ascii() (#521)
- tweak scaling and fitting tolerances used for XRF fitting.
- scale reconstructed tomography data to have the same mean value as the original sinogram.
- fix many Numpy uses that have been deprecated in Numpy2.
- require Numpy<2, at least until other packages (pymatgen, scikit-image) support it.
- drop requirement for peakutils, add function to reproduce peakutils.peak_indices
- improve debugtime utility, use tabulate module for output.
- add support for Python 3.12, and drop testing of Python 3.8.
Larix features and fixes:
- Feffit Panel: fixes for handling cases with no data, to allow EXAFS simulations without data.
- Feffit Panel: fix plotting individual paths (#515).
- PCA Panel: fix plotting of group with model and other plot variations (#520).
- fix getting config when a datagroup might be missing.
- Add splash screen at startup
- Better placement of Plot window at startup.
- support enabling wx inspection.
- reorganize menus to have more drop-down menus with fewer, better organized categories.
- Analysis Panels/Tabs can be re-arranged or removed.
- Analysis Panels can be selected or deselected from the Preferences Menu.
- remove "XY data" (was "raw data") from XAS Normalization Panel
- reading general "XY data" (was "raw data") into separate Panel
- "Spin Arrows" to in/decrement numbers are now acceptably sized on Linux/Gtk3.
- Horizontal Lines are shown on macOS.
XRF Fitting interface:
- fix many display issues, especially on Linux.
0.9.78
Bug fixes only:
- more fixes for reading in Larix Sessions with Feffit, Pre-edge Peak results.
- Larix Feffit: better recall and fill in FT window parameters and displayed windows for results.
- Larix displays more accurate times in the list of auto-saved sessions.
- better handling of NaNs when importing and sorting XAS data.
0.9.76
Bug fixes, mostly for Larix GUI application
Larix Bug fixes:
- fix critical bug in 0.9.75 for saving and loading projects with lmfit Models, such as pre-edge peak fitting.
- several tweaks and fixes for peak-fitting with step functions, reflecting changes in lmfit 1.3.0
- fixes for scaling non-xas data, including using pin icon to pick scale, and fixes for merging non-xas data
- more safety checks on fit for energy alignment
- use dict.get() with default for plot selection to avoid error messages with broken groups
- remove deleted groups from _xasgroups when loading session that had been cleared
Larch code bug fixes:
- fixes for interpolation data with non-stricly-increasing x
- merge_groups: skip interpolation for raw data with non-increasing x
- find_e0: add sanity checks for handling out-of-strict-order mu(E) data
Doc and Maintenance:
- updated doc to more uniformly refer to Larix as "Larix" or "Larix (was XAS Viewer)".
0.9.75
General
- using miniforge3 and mamba as "normal" installer.
- bash installer properly installs "xraylarch[larix]".
- 1D XRD viewer can use, set, unset mask when reading XRD TIFF images.
- cleanup "plugins", "modules", other out-dated code.
- work towards "XasDataSource" to generalize the API for reading XAS data.
- better reading of ESRF Bliss data.
Jupyter Notebook examples:
- better handling of plotting with plotly_xafsplots now having many more working functions
- add example of plotting XAFS data with wxPython/wxmplot/larch plotting calls
- add Feffit example with Jupyter and plotly.
- update repr_html for Larch group to better display in Jupyter.
- update ReadAthena example.
- add example of reading data and writing Athena Projet files.
- add PCA exmple.
- add example to read Larix Session
XAFS processing improvements:
- improve removing of duplicate energies
- more careful setting of smoothing to fine E0.
- E0 and edge are guessed earlier in the "data installation" phase.
- better remember element/edge from configuration.
- use interpolated univariate spline for cubic spline in interp()
- speed up autobk, delay and separate calculation of delta_chi
- feffit will call autobk_delta_chi() if needed when initializing feffit dataset
- add refine_bkg option to feffit_dataset to allow refining background during fit
- update feffit examples
- add feffit_conf_maps() for making confidence/parameter ellipse maps.
- tweaks to feffit report.
- updates for using lmfit's conf_interval2d()
- continued migration from larch ParameterGroup to lmfit Parameters object.
- hash dataset, use in Path parameter names to make finding expressions more robust
- CIF to Feff: allow seeding RNG to make results with partial occupancy reproducible.
- fixes for use of deprecated scikit-learn function arguments.
Larix Bug Fixes:
- improvements in save/restore of Larix sessions.
- better(?) showing of selection on checkbox select of file.
- more consistent button labels
- deglitching dialog fixes, and now show points that will be removed.
- column_file_reader: add plot selected columns to multicolumn selected on columnfile importer
- normalization_panel: correctly force 'norm' for plots.
- normalization_panel: "auto" normalization polynomial now sets and shows its automated choice.
- normalization_panel: improvements to using "last arguments" used to call XAFS functions to set normalization config
- exafs_panel: fix error with "Copy to Selected"
- exafs_panel: fix error with processing all groups on Select All.
- exafs_panel: add "name and save these plotting options"
- exafs_panel: plot bkg(E) can now show location of E_k0.
- feffit_panel: avoid very slow loading.
- feffit_panel: add warning when rmin goes below rbkg
- feffit_panel: allow specifyitng kweight used for plots.
- feffit_panel: add refine background checkbox, allow plotting of bkg-refined data.
0.9.74
0.9.73
[Added or changed features]
- use of a setuptools
pyproject.toml
andsetup.cfg
, includingsetuptools_scm
for version info. - 'extras_require' for adding optional pacakges. Larch will no longer try to install any packages at runtime.
- much less agressive about installing
pyepics
, and can be used if installed, but is not installed by default. - Larix moved
load pre-edge peak model
from menu to Pre-edge Peak Page. - Larix reverted flattening to "closer to" Athena style -- may still be "in progress".
- Feffit: better ignore
reff
Path Parameter value as a potential fitting Parameter. - Feffit: add several more per-path "magic Path Parameters", like 'reff' that
can be used in Path Parameter expressions: 'nleg', 'degen', 'rmass',
'rnorman', 'gam_ch', 'rs_int', 'vint', 'vmu', 'vfermi'.
[Bug Fixes, Code improvements]
- better handling of cases where pymatgen cannot parse a CIF file.
- set pyFAI.use_opencl to False to avoid warning messages
- many fixes to usage of GitHub Actions CI : now testing with mamba installer
- remove
_larch
argument when saving Athena Project files or CSV files (GH 474). - Larix/Feffit: fix bug in which not all variables were shown (see GH 473).
- Larix/Background Subtraction: better getting of rbkg (and ek0) from data
group, not default value (say, 1.0 for rbkg) (GH - Larix/Dialogs: fix bug in smoothing dialog, and better preserving of "zoomed view" for several data-processing dialogs.
- More fixes to Struct2XAS codes.
0.9.72
A few new features, and several bug fixes and improvements:
[Added or changed features]
- XAS Viewer (a naming demonstrating that Matt is poor at naming things) has been renamed "Larix".
- Structure information (from CIFs or data from the Materials Project) can now be converted to inputs for FDMNES. (PR #458). See the Jupyter Notebook example at https://github.com/xraypy/xraylarch/blob/master/examples/Jupyter/struct2xas_examples.ipynb. This should be viewed as ongoing work, but real progress has been made here, thanks to @beatrizfoschi @maurov @Ameyanagi @mretegan
- Binary Installers have been updated for all platforms, and are now based on Python 3.11.5.
- Significant improvements to Larch_XRD1D to read calibration files, integrate XRD images, display 1D XRD patterns, save XY outputs, and compare XRD patterns to crystal structures from the AMCSD database.
- Improvements in handling Bliss data, especially from ESRF BM16.
- Some improvements in Plotly plotting.
- Several cleanups and purging of the legacy
_larch
argument for many python functions. - Some cleanups of XRF fitting results and generating XRF fitting scripts.
- Feffit reports now use floating-point formatting with strings of length 10 (was 11, led to many 1-digit diffs in outputs).
[Bug Fixes, Code improvements]
- fix for setting e0 with very badly formatted data.
- layout tweaks for Larix/XAS Viewer, especially for Linux/Gtk3.
- better checking of formula parsing for CIF formulas
- more gracefully closing AMCSD sqlite, avoiding crashes.
- more fixes to energy calibration.
- better defaults for normalization parameters when reading in data.
- several fixes in reading and working with Session Files and saved Feff calculations and Feffit results.
- better detection of non-default values for kstep in EXAFS routines.
- more uniform use of a single
mkdir
function.
0.9.71
Mostly bug fixes, mostly for XAS Viewer:
- reading data and finding E0 for data with repeated or even "almost repeated" energy points
- more improvements to finding "small energy step" value when finding E0.
- fix reading of XAS in degrees.
- update to supported usage of polynomial fitting with numpy
- fix remembering of energy ranges for LinCombo and other XANES processing panels.
- E0 is now separate for XANES / Normalization ('.e0') and for EXAFS extraction ('.ek0'), defaulting to the same value.
- Groups can now be iterated over!
Several other smaller bugfixes!