v3.18.0
v3.18.0 (2025-12-14)
✨ Features
-
imagetool: improve dimension handling, add support for 1D data (2104d92)
1D inputs are now automatically converted and displayed as 2D data, effectively enabling support for 1D data. This also enables the
Open in New Windowbutton in the right-click menu for line profiles. Users can now directly load and analyze 1D datasets like core level spectra.This change also disables automatic squeezing of dimensions of size 1 for <5D data, so that the data is preserved as-is when opened in ImageTool.
-
imagetool: add dynamic cursor colors (0b33b95)
Adds a new feature to ImageTool allowing cursor colors to be set dynamically based on their coordinates. With the new option, cursor colors change dynamically depending on their positions. This feature can be enabled from the "Set Cursor Colors by Coordinate..." menu option under the View menu.
-
manager: add direct removal of windows (5d104ed)
The currently active window can now be directly removed from the ImageTool manager without switching to the manager interface by using the keyboard shortcut
Delete(fn + Backspaceon MacBook keyboards). A confirmation dialog is presented to prevent accidental deletions. -
imagetool: export plots to matplotlib (5f0379f)
Adds ability to export plots from the ImageTool to matplotlib code. The new functionality is available via the right-click context menu on each plot.
-
qsel: allow multiple widths for multiple indices (4424c21)
-
io.plugins.ssrl52: reimplement loader to support dask (#224) (440012a)
Rewrites the SSRL 5-2 data loader to use xarray native methods. Data are now loaded as dask arrays with automatic chunking by default.
-
interactive: add interactive mesh removal tool with UI and integration into ImageTool (7f0a920)
-
analysis: add new
meshmodule for experimental Fourier-based mesh removal (4c5e1c7)
🐞 Bug Fixes
-
imagetool: better instance management, prevent premature closing and memory leaks (9fdbbfd)
-
io.plugin.merlin: ensure region numbers are only processed if region files are found (#230) (8ef0882)
-
manager: fix inconsistent behavior for unarchived tools (bad1406)
-
plotting.plot_slices: also convert axis labels to fancy ones for line plots (aec318f)
-
imagetool: disable errors due to non-plottable associated coordinates (1bb0d0b)
Data with associated coordinates that cannot be converted to float64 (e.g., str) would cause ambiguous errors when displayed. This change ensures that such coordinates are silently skipped.
-
interactive: fix some issues with DataArray handling and colormap settings (9dfc7b8)
-
manager: display progress bar correctly in the packaged version (8b8498d)
-
manager: fix very large DataArrays (>2 GB) failing to send via socket (#221) (607eeac)
⚡️ Performance
-
imagetool: delay associated coords calculation until needed (067a550)
Associated coordinates for each dimension are now not accessed until they are needed for plotting. This improves performance when loading large data with many associated coordinates.
♻️ Code Refactor
-
io.plugins.merlin: automatically complete incomplete motor positions when loading data (#228) (4c8d24f)
Data with incomplete motor positions are now automatically completed using the start and step size, while showing a warning.
-
manager: move show/hide/archive actions from Edit menu to File menu (2eda37c)
-
interactive.utils: update
generate_codeto support multiple assignment (17e8d30)
[main 8747439] bump: version 3.17.0 → 3.18.0
3 files changed, 3 insertions(+), 3 deletions(-)