v2.10.0
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 methodget_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 asxr.open_dataset
andxr.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 aDataTree
.Also, single region DA30
.pxt
files will now return aDataArray
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 loadf_001_S001.pxt
,f_001_S002.pxt
... but this was confusing since there is no file namedf_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 raiseFileNotFoundError
. This resulted in a lot of boilerplate code and ambiguous error messages. Now, all subclasses can just returnNone
inidentify()
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
anderlab.io.load_experiment
is deprecated. When writing new code, usexarray.load_dataarray
andxarray.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(-)