Skip to content

v3.15.0

Choose a tag to compare

@github-actions github-actions released this 18 Oct 00:37
· 618 commits to main since this release

v3.15.0 (2025-10-18)

✨ Features

  • imagetool: auto-compute small dask arrays (4b10312)

    When loading data into the imagetool, if the data is a dask array and its size is below a certain threshold (configurable via erlab.interactive.options["io/compute_threshold"] or the settings GUI), the data will be automatically computed into memory. Default threshold is 2048 MB.

    Additionally, adds a "Load Into Memory" action to the File menu in ImageTool only visible for chunked arrays which calls .compute() on the data when triggered.

  • io.plugins.erpes: cache .zip files as HDF5 files for faster loading (412fdc4)

    When loading a .zip file, cache it as an .h5 file in a hidden cache directory. This speeds up subsequent loads of the same file. Also, DA maps are now always loaded as chunked (dask) arrays, improving scalability for large data.

  • manager: show child tools (ff1f9b1)

    When opening analysis tools (e.g., dtool, ktool, ...) from an imagetool in the manager, the child tools are now displayed in the manager as well. When saving and loading the workspace, the state of these child tools is also preserved.

    This change also enables the user to cherry-pick which tools to save when saving the workspace, or to load only a subset of tools from a saved workspace.

    Note that this change accompanies many changes across the whole interactive module under the hood. Although workspaces saved with older versions should still be loadable, workspaces saved with this version will not be loadable in older versions, with ambiguous error messages.

  • interactive: add show_traceback utility function that displays error messages with highlighted tracebacks (6798f83)

  • manager: enable reindexing tools (62b41a4)

    Adds a new action to reset all indices of ImageTools in the manager in the order they appear.

  • manager: enhance integration with Jupyter notebooks (69ef2af)

    Adds a new magic command %watch to monitor and sync data between ImageTool manager and Jupyter notebooks. This feature allows users to easily update data in the notebook when changes are made in the ImageTool window and vice versa, facilitating a smoother workflow for data analysis and visualization.

    Also adds a new function, erlab.interactive.imagetool.manager.fetch which allows users to fetch a copy of the data in a specific ImageTool window in the manager by its index.

  • utils.hashing: add utilities for hashing xarray DataArrays (#172) (4fc1f5f)

    Adds a new module that provides fingerprint_dataarray, a function to generate a unique fingerprint for xarray DataArrays. This is useful for quickly comparing data and checking for changes.

🐞 Bug Fixes

  • io.plugins.maestro: fix concurrent access to cache dir (21f5df8)

  • manager: update icons in menubar on system appearance change (eb357a3)

  • io: make igor datatree backend compatible with xarray 2025.9.1 (8d8eab5)

  • manager: improve compatibility with numpy <2.3 (9019613)

    Note that from this version, the ImageTool manager is no longer compatible with previous versions of erlab.

  • io: suppress xarray warnings due to new defaults introduced in pydata/xarray#10062 (#175) (2f1cd64)

⚡️ Performance

  • manager: micro-optimizations to file loading mechanism (be1c624)

  • explorer: micro-optimization for data explorer rendering, might be effective on windows (0f6ef67)

♻️ Code Refactor

  • imagetool: add icons for some menu actions and buttons (b232640)

  • explicitly remove support for Qt5 (995c96b)

  • io: use dask for parallel loading (081c706)

    This commit changes the parallel loading mechanism from joblib to dask. The parallel_kwargs attribute for loaders are now ignored. In order to configure parallel loading, users should set up the dask client accordingly.

  • manager: allow using the Enter key (Return on macOS) to open selected items (83ef7bc)

  • manager: set workspace file default extension to .itws to avoid confusion with regular HDF5 files (6455528)

  • new ImageTool Manager icon for macOS (c15ce26)

  • io.plugins.erpes: add new temperature sensors (b56f2b0)

  • use pydantic for user configuration handling (#179) (252bf14)

    Changed the internal implementation of ImageTool user configuration handling, making future maintenance easier.

  • utils.formatting: make some private formatting functions public (da28dd5)

[main beab9fb] bump: version 3.14.1 → 3.15.0
3 files changed, 3 insertions(+), 3 deletions(-)