Skip to content

v3.0.0

Compare
Choose a tag to compare
@github-actions github-actions released this 06 Nov 13:26
· 130 commits to main since this release

v3.0.0 (2024-11-06)

Breaking Changes

  • Deprecated module erlab.io.utilities is removed. Use erlab.io.utils instead. (e189722)

  • Deprecated module erlab.interactive.utilities is removed. Use erlab.interactive.utils instead. (af2c81c)

  • Deprecated module erlab.characterization is removed. Use erlab.io.characterization instead. (8d770bf)

  • Deprecated module erlab.analysis.utils is removed. Use erlab.analysis.transform.shift and erlab.analysis.gold.correct_with_edge. (0b2ca44)

  • Deprecated alias slice_along_path in erlab.analysis is removed. Call from erlab.analysis.interpolate instead. (305832b)

  • Deprecated aliases correct_with_edge and quick_resolution in erlab.analysis are removed. Call from erlab.analysis.gold instead. (075eaf8)

  • Removed deprecated aliases load_igor_ibw and load_igor_pxp. Use xarray.open_dataarray and xarray.open_dataset instead. (7f07ad2)

  • The default attribute name for the sample temperature is changed to sample_temp from temp_sample. This will unfortunately break a lot of code that relies on the key temp_sample, but will be easy to refactor with find and replace. (32e1cd5)

  • All dataloaders must now add a new keyword argument to load_single, but implementing it is not mandatory.

    Also, dataloaders that implements summary generation by overriding generate_summary must now switch to the new method.

    See the summary generation section in the updated user guide.

    Furthermore, the isummarize method is no longer public; code that uses this method should use summarize instead.

    The usecache argument to the summarize method is no longer available, and the cache will be updated whenever it is outdated. (0f5dab4)

Features

  • io.igor: enable loading experiment files to DataTree (1835be0)

    Added methods to the backend to allow using xarray.open_datatree and xarray.open_groups with Igor packed experiment files. Closes #29

  • add qinfo accessor (eb3a742)

    Adds a qinfo accessor that prints a table summarizing the data in a human readable format. Closes #27

  • interactive.kspace: pass lattice parameters and colormap info to ktool (6830af3)

    Added the ability to pass lattice vectors and colormaps to ktool.

  • interactive.kspace: add circle ROI to ktool (304e1a5)

    Added a button to the visualization tab which creates a circle ROI. The position and radius can be edited by right-clicking on the roi.

  • interactive.colors: add zero center button to right-click colorbar (c037de1)

  • interactive.imagetool: add .ibw and .pxt files to load menu (73c3afe)

  • io.dataloader: allow passing rcParams to interactive summary plot (a348366)

  • io.dataloader: implement automatic summary generation (0f5dab4)

    It is now much easier to implement a summary generation mechanism. This commit also adds a new keyword argument to load_single that can greatly speed up summary generation.

  • io.dataloader: support callable objects in additional_attrs (e209499)

Bug Fixes

  • interactive.imagetool: fix copy cursor value for numpy 2 (dc19c82)
  • io.dataloader: retain selected dimension in interactive summary (9d54f8b)
  • accessors.general: keep associated coords in qsel when averaging (03a7b4a)
  • io.dataloader: ignore old summary files (bda95fc)
  • io.plugins.kriss: fix KRISS ibw file match pattern (7ced571)
  • analysis.gold: retain attributes in quick_resolution (504acdc)
  • do not require qt libs on initial import (118ead6)

Code Refactor

  • io.igor: change wave dimension name handling (3e0586a)

    Waves with both dim and unit labels provided were given a dim label formatted like dim(unit). This update changes this so that the dim label is just dim, and the unit is inserted to coordinate attrs.

  • io: remove deprecated module (e189722)

  • interactive: remove deprecated module (af2c81c)

  • remove deprecated module erlab.characterization (8d770bf)

  • analysis: remove deprecated module (0b2ca44)

  • analysis: remove deprecated alias (305832b)

  • analysis: remove deprecated aliases (075eaf8)

  • interactive.imagetool.manager: add prefix to temporary directories for better identification (e56163b)

  • io.plugins: implement DA30 file identification patterns in superclass (f6dfc44)

  • io: remove deprecated aliases (7f07ad2)

  • change temperature attribute name (32e1cd5)

    Changes temp_sample to sample_temp for all data loaders and analysis code.

  • utils.formatting: change formatting for numpy arrays (95d9f0b)

    For arrays with 2 or more dimensions upon squeezing, only the minimum and maximum values are shown. Also, arrays with only two entries are displayed as a list.

  • io.dataloader: disable parallel loading by default (fed2428)

    Parallel loading is now disabled by default since the overhead is larger than the performance gain in most cases.

  • change some warnings to emit from user level (e81f2b1)

  • io.dataloader: cache summary only if directory is writable (85bcb80)

  • io.plugins: improve warning message when a plugin fails to load (9ee0b90)

  • io: update datatree to use public api (6c27e07)

    Also bumps the minimum supported xarray version to 2024.10.0.

  • io.dataloader: make RegistryBase private (df7079e)

  • io.dataloader: rename loader registry attribute default_data_dir to current_data_dir (d87eba7)

    The attribute default_data_dir has been renamed to current_data_dir so that it is consistent with current_loader. Accessing the old name is now deprecated.

    Also, the current_loader and current_data_dir can now be assigned directly with a syntax like erlab.io.loaders.current_loader = "merlin".

Performance

  • io.plugins.da30: faster summary generation for DA30 zip files (22b77bf)

  • io.igor: suppress igor2 logging (5cd3a8c)

  • analysis.interpolate: extend acceleration (84daa88)

    The fast linear interpolator now allows more general interpolation points like interpolating 3D data on a 2D grid. This means that passing method='linearfast' to DataArray.interp is faster in many cases.

[main 2c41bb1] bump: version 2.12.0 → 3.0.0
2 files changed, 5 insertions(+), 2 deletions(-)