v3.20.1
v3.20.1 (2026-03-04)
🐞 Bug Fixes
-
kspace: Use arctan2 for correct quadrant in inverse conversion function for very large angles (d34a3f1)
-
analysis.fit: make resolution convolution invariant to descending energy axes (4e7ca4a)
do_convolvepreviously produced physically shifted broadened spectra for descending energy coordinates because kernel generation extended its padded domain assuming ascending order. This caused axis-order-dependent broadening results (for example, shifted Fermi-edge crossing positions) even though the underlying data were identical up to reversal. -
kspace: correct kz point-count resolution spacing for momentum conversion (2e55f0a)
DataArray.kspace.estimate_resolution(..., from_numpoints=True)now uses adjacent-point spacing over inclusive bounds ((max - min) / (N - 1)) instead of dividing byN, which previously underestimatedkzstep size and could generate overly dense defaultkzgrids inconvert(). The change also adds a single-point guard (np.infwhen fewer than two points exist). -
analysis.gold: honor coordinate order for fit-range slicing (f956429)
Patches functions that select the fit range using input parameters to sort the input range to match the coordinate order of the input dataset. This ensures that the fit range is correctly applied regardless of the coordinate order of the input dataset. The affected functions include
edge,poly,spline, andquick_fit. -
analysis.gold: plot FWHM span with correct half-width around fitted center (2479f31)
The fit visualization now shades the true FWHM interval. Previously, the span used center ± resolution, doubling the displayed width. It now uses the correct one (center ± resolution/2).
-
analysis.gold: normalize fixed center parameter calculation in
edge(519f001) -
kspace: add kinetic energy validation to prevent nonphysical values (6bd6f47)
Raises
ValueErrorwhen kinetic energy is nonpositive during resolution estimation and coordinate conversion in kspace tools and accessors. This ensures that users are informed of nonphysical conditions in their data and prevents downstream errors. -
imagetool: properly handle non-uniform descending coordinates (e221a92)
Non-uniform descending coordinates were not handled correctly when indexing by value or when synchronizing with different ImageTools. This commit adds support for non-uniform descending coordinates by reversing the coordinate array and adjusting the index accordingly.
-
ktool: Descending eV axes (common from some loaders) collapsed center range and selected wrong bins, producing wrong preview results (a3442eb)
-
ktool: "Estimate resolution" ignored current UI wf, so estimated momentum resolution could be inconsistent with actual conversion parameters (515262a)
-
ktool: "Estimate bounds" ignored current UI V0/wf, so low-hv and hv-dependent data could get wrong momentum bounds (a57da0c)
-
ktool: fixed a bug where the result could be wrong for data with the energy axis given in kinetic energy. (f310caf)
-
analysis.gold: correct parameter assignment for fixed center in
edge(1521908) -
io: add warning for squeezing dimensions in
save_as_hdf5withigor_compat=True(80ef869)
⚡️ Performance
- ktool: improve memory efficiency and speed by using shallow copies (2ee88a4)
♻️ Code Refactor
-
meshtool: add manager-aware warning for peak detection failure (171d0ad)
-
analysis.mesh: raise an error if invalid peaks are provided or automatic detection fails (14a5500)
-
imagetool: deprecate
coremodule and re-export fromviewerandplot_items(1dcc093) -
imagetool: split viewer internals into focused modules (cc39a81)
-
imagetool: rename core module to viewer (cbb2792)
[main 5357b66] bump: version 3.20.0 → 3.20.1
3 files changed, 20 insertions(+), 20 deletions(-)