Releases: kmnhan/erlabpy
v3.5.1
v3.5.1 (2025-01-14)
🐞 Bug Fixes
-
restool: improve parameter guessing and copied code formatting (0b33770)
The temperature and center can now be guessed independently.
♻️ Code Refactor
-
plotting: add
literal
option for point label formatting inmark_points_outside
, consistent withmark_points
(db723fd) -
generalize fomatting DataArray to raw HTML (85c735e)
-
analysis.gold: add plot capability to
quick_fit
and deprecate quick_resolution (903450b)Future code shoule use
quick_fit
withplot=True
instead ofquick_resolution
. -
ktool: add work function spinbox (31c5ae8)
-
io.dataloader: adds a
extensions
attribute to data loaders (a819960)Data loaders can now choose to implement an
extensions
attribute that returns a set of file extensions supported by the loader. This reduces the possibility of the user trying to load files with a wrong loader and gives informative error messages. -
io: expose
load_krax
as public API (3508a0a)Adds a new function
erlab.io.utils.load_krax
that can parse MBS deflector maps saved as.krx
.
[main 95508a0] bump: version 3.5.0 → 3.5.1
2 files changed, 2 insertions(+), 2 deletions(-)
v3.5.0
v3.5.0 (2025-01-04)
✨ Features
-
imagetool.manager: implement threaded file loading (feeb06b)
Data are now loaded in the background.
🐞 Bug Fixes
-
plotting: properly expose
__all__
(03cdf89) -
imagetool: inverted state and aspect ratio of axes are now properly restored (321c837)
♻️ Code Refactor
- imagetool: make imagetool respect the most recently used loader and data directory if opened in the manager (df1d550)
[main d31bbbe] bump: version 3.4.0 → 3.5.0
2 files changed, 2 insertions(+), 2 deletions(-)
v3.4.0
v3.4.0 (2025-01-02)
✨ Features
-
introduce
utils.array.sort_coord_order
function (0e694d2)Sorts coordinates order to be prettier! Sorting now applied in various places such as data loaders, ImageTool, and the
qsel
accessor. -
interactive: add
restool
(fd838b1)Adds a new interactive tool
restool
for fitting Fermi-Dirac distributions with a linear background to EDCs averaged over angles. The angle and energy range can be adjusted interactively. -
imagetool.manager: add integration with IPython (cf346b9)
Adds a new action that stores data with the
%store
magic command. With this, it is much more easy to import data processed in the manager into jupyter notebook sessions. -
imagetool.manager: add preview (9fdc63d)
Adds an image preview panel that shows the main image of the selected data.
Also, a new hover preview option can be toggled on to show the preview images when hovering over each item.
🐞 Bug Fixes
-
kspace: properly handle maps with energy given as kinetic (02bce90)
-
io.plugins.erpes: show warning when loading with index is ambiguous (95a88b6)
-
io: fixes loaded data losing their original names (a19f37a)
-
analysis.fit: handle NaN values in linear fit guesses (1aef937)
-
imagetool.manager: fix undefined selection order (4c486e2)
⚡️ Performance
- improve import time (e2a2542)
♻️ Code Refactor
-
reorganize interactive module structure (87a6e89)
-
imagetool: add
update
parameter toapply_func
(fd0238d) -
accessors.kspace: make errors during momentum conversion due to missing coords or attrs more explicit (eb3d01c)
-
imagetool: change argument
use_manager
tomanager
initool()
(0929e5c) -
imagetool: move main window setup from
__init__.py
tomainwindow.py
(0997149)This refactor enhances maintainability and readability by clearly separating the main window setup logic from the package initialization.
-
imagetool: disable manager by default (34e943f)
This update modifies
itool
andqshow
so that tools are opened in the manager only whenuse_manager=True
is explicitly specified.To address the inconvenience, a new
Move to Manager
action with keyboard shortcutCtrl+Shift+M
has been added to theFile
menu of ImageTool windows opened outside the manager when the manager is running. -
make sequence type checking function public and move to
utils
module (0475cfd)Adds
utils.misc.is_sequence_of
, which checks if an object is a sequence of elements of the specified type. -
imagetool: show all axes by default for 4D data (b034477)
-
imagetool: add icons to context menu items that opens a new window (1f548f7)
-
imagetool: streamline window title naming (0f9dcda)
-
replace boilerplate decimal calculation with new
utils.array.effective_decimals
(7873669) -
imagetool: initial migration to QAction (7807174)
Mostly internal changes that reduces duplicate code and makes keyboard shortcuts robust.
-
imagetool.manager: refactor console and jitted functions to private modules to improve startup time (280bfd8)
[main d9524c1] bump: version 3.3.0 → 3.4.0
2 files changed, 2 insertions(+), 2 deletions(-)
v3.3.0
v3.3.0 (2024-12-23)
✨ Features
-
io: improve loader registry repr with descriptions and dynamic formatting (3f43405)
-
io: add descriptions to loaders for better user guidance (7087c04)
-
dtool: add boxcar filter and 1D curvature, along with internal improvements (0bd2b17)
-
analysis.image: add
diffn
function for nth derivative calculation (a70812f)Adds a function that calculates accurate n-th order partial derivatives of DataArrays using findiff.
Also, functions that use derivatives including
curvature
andscaled_laplace
now uses properly scaled derivatives from findiff. As a consequence, the output of these functions may be slightly different. -
analysis.image: add boxcar filter (7475266)
-
analysis.image: add 1D curvature (522d554)
-
io.plugins.erpes: add data loader for our homelab system! (48dcbb4)
-
io.plugins.merlin: allow loading BL4 single file in
ImageTool
file menu (079914e) -
io.dataloader: automatically load in parallel with per-loader threshold (33a8c63)
-
imagetool: add support for DataTree objects (c4c03e3)
🐞 Bug Fixes
-
imagetool.manager: fix dark mode handling and focus management in console (ed81f70)
-
imagetool.manager: bind associated tools to the manager (a38cf7f)
With this change, closing an ImageTool window no longer affects tools such as ktool and dtool opened in that ImageTool.
-
imagetool: make dimension order in exported image data from image plot consistent with the GUI (0ee225b)
-
imagetool: fix issue with selection with multiple binned dimensions (121c968)
-
io.dataloader: adjust condition to handle single file loading (d98c71f)
-
io.plugins.da30: update
DA30Loader
to handle multiple regions in one.pxt
file (1ff8b93)
♻️ Code Refactor
-
io: deprecate choosing loaders with their aliases, closes #76 (464ee45)
-
interactive.utils: improve code generation (2b24e08)
-
replace direct imports with module references (b3ca55c)
-
io.nexusutils: defer error message until actually trying to load nexus files (8eec5aa)
[main aa8d3ed] bump: version 3.2.3 → 3.3.0
2 files changed, 2 insertions(+), 2 deletions(-)
v3.2.3
v3.2.3 (2024-12-19)
🐞 Bug Fixes
-
enforce strict monotonicity check in data loader (513554e)
-
da30: return empty dict instead of None for matches in loader (2d8b8ae)
-
io.dataloader: assign coords also for multifile scan of length 1 (0b14f75)
-
io.plugins.merlin: adjust handling logic for motor scan aborted after one file (1ac25f1)
♻️ Code Refactor
- io: implement lazy loading (da5244a)
[main ec5a479] bump: version 3.2.2 → 3.2.3
2 files changed, 2 insertions(+), 2 deletions(-)
v3.2.2
v3.2.1
v3.2.0
v3.2.0 (2024-12-14)
✨ Features
-
io.dataloader: enhance data combination logic (80f2772)
When given multi-file data with multiple coordinates, the previous behavior was to include every coordinate as a dimension. This is logical for scans such as 4D position-dependent scans, but unnecessary for data like hv and angle dependent scans. Now, the loader will concatenate only along one axis if all motor coordinates are strictly monotonic.
-
constants: add Bohr radius (f8e4ca2)
-
imagetool.manager: enable concatenating selected data (44d61ba)
-
imagetool: add normalization option for 1D plot data (5417a32)
Adds an option to normalize 1D data with its mean to the right-click menu of 1D plots.
-
add lazy-loader support (e5ec658)
Properly implements SPEC 1 lazy-loading to top-level modules and the analysis module. Users can now directly access submodules after importing the top-level module only:
import erlab erlab.analysis.transform.rotate(...)
-
imagetool.manager: add console (470808f)
Adds a python console to the manager that can be triggered from the
View
menu. -
imagetool: add keyboard shortcut to close ImageTool window (97a7533)
-
interactive.imagetool: add info box to manager (0918a5b)
Adds a textbox to ImageTool manager that shows coordinates and attributes of the selected window.
🐞 Bug Fixes
-
kspace: fix broken hv-dependent data momentum conversion (4695583)
Fixes completely wrong implementation of kz-dependent momentum conversion. I can't believe this went unnoticed!
-
imagetool: remove and reapply filter upon transformation (af54a1d)
-
imagetool: fix nonuniform data io and cropping (8b538e6)
-
imagetool: fix wrong cursor position when loading ImageTool state from file (e8191a8)
-
imagetool: resolve menu widgets losing keyboard focus (90f8868)
⚡️ Performance
- imagetool.manager: accelerate opening new windows within the manager (d4380b7)
- delay imports for performance optimization in interactive tools (abac874)
♻️ Code Refactor
-
plotting: update import statements to use
erlab.plotting
directly and deprecateerlab.plotting.erplot
(6a19f6a)The import convention
import erlab.plotting.erplot as eplt
is now deprecated. Users should replace them withimport erlab.plotting as eplt
. -
imagetool: streamline namespace handling and improve layout structure (5506f18)
-
imagetool: move center zero button to context menu (48deb6d)
-
improve cli interface (34a4db1)
-
cleanup some function signatures (b04df05)
-
analysis.fit: enable lazy loading for fit functions (e877e12)
-
imagetool.manager: add ipython-based console (f0b0adf)
-
analysis.gold: adjust resolution plot cosmetics (5d4a486)
-
interactive.colors: minimize number of default colormaps (a4c750c)
Reduces the number of colormaps initially available in ImageTool. All colormaps can be loaded from the right-click menu of the colormap selection widget.
-
interactive.imagetool: simplify method names for clarity (48d0453)
[main 61c7cef] bump: version 3.1.2 → 3.2.0
2 files changed, 2 insertions(+), 2 deletions(-)
v3.1.2
v3.1.2 (2024-12-05)
🐞 Bug Fixes
- plotting: correct axis labels in
plot_array_2d
(2fa358a) - interactive.imagetool: fix selection and io for non-uniform data (5670a15)
- accessors.kspace: fix binding energy detection (ed26162)
- interactive.imagetool: show unarchiving message on double click (d3dd3ee)
- interactive.imagetool: fix saving and loading non-uniform data (73a1d4b)
[main 1f44932] bump: version 3.1.1 → 3.1.2
2 files changed, 2 insertions(+), 2 deletions(-)