Skip to content

v2.10.0

Compare
Choose a tag to compare
@github-actions github-actions released this 08 Oct 06:38
· 176 commits to main since this release

v2.10.0 (2024-10-08)

Features

  • io.plugins: add loader for beamline ID21 ESM at NSLS-II (c07e490)

    This commit adds a new data loader for beamline ID21 ESM at NSLS-II, Brookhaven National Laboratory.

  • io.dataloader: add formatters (2ee9a4a)

    A new attribute named formatters and a new method get_formatted_attr_or_coord has been added to loaders. This allows custom per-attribute pretty-printing behavior.

  • io: add parallel argument to load (88cd924)

  • io: add xarray backend for igor files (1fe5ca5)

    .pxt, .pxp, and .ibw files can now be opened with xarray methods such as xr.open_dataset and xr.open_dataarray. See the updated user guide for more information.

Bug Fixes

  • io.dataloader: properly reorder coordinates (3ebfb0f)

    Coordinate order was broken for loaders which assign coordinates in inherited post_process. This is now fixed, and returned data will be consistently ordered with respect to the mapping, with the dimension coordinates coming first.

  • erlab.io.plugins.maestro: temporary fix for xarray issue (c2d04a3)

  • io.plugins.da30: properly handle output types (6297aba)

    The DA30 loader now tries to return a dataset from .zip files only when there are no coordinate conflicts. In the case of conflicts, the loader will return a DataTree.

    Also, single region DA30 .pxt files will now return a DataArray consistent with the equivalent .ibw file.

  • interactive.fermiedge: allow transposed input to fermi edge fitting tool (dcae75e)

  • interactive.imagetool: retain attrs when exporting slice (1bed572)

    When accessing the data of a single slice from the right-click menu of ImageTool, the attributes of the original data are now kept. This allows saved slices or data opened in other tools to retain their attributes.

  • resolve gui script not working on windows with conda (62253d0)

  • io.dataloader: clear plot before loading in interactive summaries (21d6dea)

  • plotting.general: fix plot_slices compatibility with slice object as argument (5948a7b)

  • io: disable memmapping when loading data (c39da1b)

    Memmapping seemed to interfere loading multiple files when called through ipywidgets.

Code Refactor

  • io.utils: use pathlib in get_files (b7a0f5b)

  • io.plugins.merlin: combine ImageTool file menu into single entry (6e28ac2)

  • io: add postprocessing and validation for DataTree objects (3fb3ff5)

  • io: add warning when file is ambiguous (8daabb8)

  • io: remove renaming steps from load_single in multi-file loaders (542f4f2)

    Combining before renaming coords should be more straightforward

  • io: allow missing alpha coord (c9deed4)

    Validation checks will not warn about missing detector angle, allowing XPS measurements.

  • io.dataloader: only allow real file or folder names as input (b9a59cc)

    The previous behavior allowed passing f_001.pxt to load f_001_S001.pxt, f_001_S002.pxt... but this was confusing since there is no file named f_001.pxt. This commit disallows such input.

  • cleanup erplot namespace (007eedb)

  • io: implement metaclass (e787b1c)

    Whenever the identify() method failed to find any files, subclasses had to explicitly raise FileNotFoundError. This resulted in a lot of boilerplate code and ambiguous error messages. Now, all subclasses can just return None in identify() when no files are found. The appropriate error is automatically raised.

  • io.igor: raise OSError on load fail (6c7a4c4)

  • move dataloader cell formatting implementation to utils module (0f2cb1c)

  • io: deprecate calling igor functions from top level namespace (bb8af7c)

    Calling erlab.io.load_wave and erlab.io.load_experiment is deprecated. When writing new code, use xarray.load_dataarray and xarray.load_dataset instead.

Performance

  • interactive.imagetool: improve manager speed (891c4ee)

[main 04f06a0] bump: version 2.9.1 → 2.10.0
2 files changed, 6 insertions(+), 2 deletions(-)