Skip to content

v3.20.1

Choose a tag to compare

@github-actions github-actions released this 04 Mar 23:23
· 236 commits to main since this release

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_convolve previously 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 by N, which previously underestimated kz step size and could generate overly dense default kz grids in convert(). The change also adds a single-point guard (np.inf when 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, and quick_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 ValueError when 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_hdf5 with igor_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 core module and re-export from viewer and plot_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(-)