Skip to content

v3.17.0

Choose a tag to compare

@github-actions github-actions released this 24 Nov 05:46
· 472 commits to main since this release

v3.17.0 (2025-11-24)

✨ Features

  • manager: label watched variables from different notebooks with different colors (413eb00)

  • manager: fully support dask arrays (#216) (46ce5a3)

    Dask-based DataArrays are now fully supported for all ImageTool manager features including notebook integration and data retrieval. If a dask graph includes non-picklable functions, it will be automatically serialized using cloudpickle to ensure compatibility.

    This change introduces incompatibility with older versions of ImageTool manager. The manager will still be able to receive data from older versions, but older versions of the manager will not be able to handle requests from this version.

  • imagetool: add menu for viewing all undo/redo history (3b8fbad)

  • interactive: add magic commands %ktool, %dtool, %goldtool, and %restool for launching various interactive tools from Jupyter notebooks (1c69e3e)

  • manager: show warnings as pop-up (acabaf9)

    Warnings emitted from the code are now shown in the ImageTool manager in dialogs. Also adds logging functionality for debugging.

  • manager: support reloading data containing multiple DataArrays in a single file (1d76d34)

  • io.plugins.merlin: add support for multi-region scans (9293556)

    Multi-region scans are now loaded as DataTrees, with each region as a separate branch. Multi-region motor scans are also supported.

  • io: add support for automatic concatenation of DataTrees (3324a17)

  • imagetool: add polygon ROI support (#202) (dcd9754)

    This commit introduces support for polygonal Regions of Interest (ROIs) in ImageTool. For each image plot, users can now create a polygon or line ROI from the right-click context menu. The created ROI can be manipulated by dragging its vertices. New vertices can be added by clicking on the edges of the polygon, and existing vertices can be removed by right-clicking on them. The right-click context menu of a ROI also includes options such as editing the ROI's coordinates directly, deleting the ROI, and multidimensional slicing of the data along the edges of the ROI or masking within the polygonal area.

  • analysis.gold: allow fermi edge fitting functions to be used with any angle dimension and higher dimensional data (b5f007a)

    Adds an 'along' parameter to the functions like edge, poly, and correct_with_edge to specify which dimension to use for fitting. Previously, these functions assumed an 'alpha' dimension, limiting their applicability.

    With this change, the functions can also fit higher dimensional data; for instance, a 3D DataArray containing hν-alpha-eV data can be passed directly to edge or poly to get a multidimensional fit.

    Dask parallelization is also automatically handled for chunked inputs, as long as the data is not chunked along the energy dimension. Previously, passing a dask array to edge used to fail miserably.

  • manager: allow user to edit keyword arguments when loading data by drag-and-drop (#199) (7fc89db)

    When loading data via drag-and-drop, users can now specify custom keyword arguments for the loader functions.

🐞 Bug Fixes

  • imagetool: make coordinate edit dialog display the full precision of coordinate values (4afa974)

    When editing coordinate values in the image tool, the start and end/step spinboxes were only showing up to 4 decimal places, which could lead to loss of precision. This change updates the dialog to allow full precision input.

  • imagetool: fix coordinate edit dialog reset button not working (66b7427)

  • imagetool: fix state restoration of viewbox autorange and reduce unnecessary refreshes (#214) (27989f1)

  • imagetool: retain keyword arguments to loader function when reloading data (8717bd1)

  • imagetool: retain colorbar reversed state when opening in new window (3c2e14d)

  • imagetool: include watched variable name in code copied from dialogs (1248dfd)

  • imagetool: fix regression with all-NaN data (41d13ed)

  • interactive: ensure compatiblilty with pyqtgraph 0.14.0 (e12cb4e)

    pyqtgraph 0.14.0 introduced changes that affected the behavior of linked views and range updates, which impacted some tools and tests.

  • imagetool: update shortcut for copying cursor values to Ctrl+Shift+C instead of Ctrl+C due to conflict with standard copy action (336cc99)

  • imagetool: apply crop to copied selection code (6f3cf44)

  • manager: unify window close shortcut across all platforms (0d32830)

    Windows sometimes had Ctrl+F4 as the close shortcut. This change makes Ctrl+W the standard close shortcut across all platforms and all interactive windows, improving consistency.

  • analysis.transform.shift: resolve dask chunk size issues when using chunked arrays with shift_coords=True (d6be258)

♻️ Code Refactor

  • imagetool: improve colormap handling logic (00c7b90)

  • interactive: allow closing interactive tools with Ctrl+W (6fdcf86)

  • io: improve error message upon failure during preparing data for combination (f5f5ede)

  • goldtool: use execute like other tools (ab5b80b)

  • manager: use macOS icon on other platforms (da52629)

    Use the current macOS icon for the application window on all platforms to maintain a consistent look and feel across different operating systems.

  • imagetool: change dimension name label buttons to labels (44f4f48)

    The dimension name label buttons in ImageTool actually did nothing, so they have been converted to static labels.

  • analysis.transform.shift: do not prefilter by default since prefiltering messes up shift_coords=True use case (5b671f4)

[main a50951d] bump: version 3.16.2 → 3.17.0
3 files changed, 21 insertions(+), 3 deletions(-)