Skip to content

Releases: kmnhan/erlabpy

v2.5.1

15 May 13:38
Compare
Choose a tag to compare

v2.5.1 (2024-05-15)

Chore

  • exclude merge commits from semantic release (9179cab)

  • (deps) add dask to optional dependencies (cdc90dd)

  • add coverage configuration (9c1e6a5)

Ci

  • (github) ci changes for testing and coverage (67550d6)

    Parallelized tests for gold.poly, setup Qt testing, and added .codecov.yml config file.

  • (github) update codecov script (5cab279)

  • (github) update test script (7dbb384)

  • (pre-commit) pre-commit autoupdate (#34) (acf3dc5)

Fix

  • (plotting) fixes #35 (a67be68)

    Gradient fill disappears upon adding labels

  • (fit.models) wrong StepEdgeModel guess with DataArray input (6778c8d)

Refactor

  • (plotting) code cleanup (aef10e4)

Test

  • fix tests for interactive (57403f7)

  • add tests for analysis.gold (61d4d36)

v2.5.0

13 May 08:15
Compare
Choose a tag to compare

v2.5.0 (2024-05-13)

Chore

Ci

  • (pre-commit) update commit messages (0321ec1)

Documentation

  • make view button point to github (f968c37)

Feature

  • extended interactive accessor (f6f19ab)

    The qshow accessor has been updated so that it calls hvplot (if installed) for data not supported by ImageTool.
    Also, the qshow accessor has been introduced to Datasets. For valid fit result datasets produced by the modelfit accessor, calling qshow will now show an hvplot-based interactive visualization of the fit result.

  • (itool) make itool accept Datasets (f77b699)

    When a Dataset is passed to itool, each data variable will be shown in a separate ImageTool window.

  • (analysis.image) add multidimensional Savitzky-Golay filter (131b32d)

Fix

  • (itool) add input data dimension check (984f2db)

  • (analysis.image) correct argument order parsing in some filters (6043413)

  • (interactive) improve formatting for code copied to clipboard (d8b6d91)

Refactor

  • (plotting) update clean_labels to use Axes.label_outer (0c64756)

Unknown

  • Merge pull request #33 from kmnhan/dev-2.5 (dc9a9a8)

    2.5 Update

v2.4.2

07 May 12:07
Compare
Choose a tag to compare

v2.4.2 (2024-05-07)

Fix

  • (ktool) resolve ktool initialization problem, closes #32 (e88a58e)

  • (itool) disable flag checking for non-numpy arrays (da6eb1d)

Unknown

v2.4.1

03 May 08:53
Compare
Choose a tag to compare

v2.4.1 (2024-05-03)

Fix

  • (plotting) fix wrong regex in scale_units (d7826d0)

  • fix bug in modelfit parameter concatenation (edaa556)

  • (itool) ensure DataArray is readable on load (5a0ff00)

v2.4.0

02 May 03:44
Compare
Choose a tag to compare

v2.4.0 (2024-05-02)

Chore

  • (deps) update dependencies (37c1b4b)

    Numbagg is now an optional dependency.

Documentation

  • improve documentation (8f23f99)

  • improve io documentation (4369d23)

  • fix PyQt version pinning to resolve build failures on Qt6.7 (433ee9e)

Feature

  • (imagetool) add method to update only the values (ca40fe4)

  • add interpolation along a path (7366ec4)

    The slice_along_path function has been added to analysis.interpolate, which enables easy interpolation along a evenly spaced path that is specified by its vertices and step size. The path can have an arbitrary number of dimensions and points.

Fix

  • (io) remove direct display call in interactive summary (d44b3a5)

    This was causing duplicated plots.

  • (plotting) add some validation checks to plot_array (2e0753c)

    The functions plot_array and plot_array_2d now checks if the input array coordinates are uniformly spaced. If they are not, a warning is issued and the user is informed that the plot may not be accurate.

  • (plotting) increase default colorbar size (3208399)

    The default width argument to nice_colorbar is changed to 8 points. This ensures visibility in subplots, especially when constrained layout is used.

  • delay interactive imports until called (ad15910)

Refactor

  • various cleanup (2b38397)

    Improve docstring formatting and tweak linter settings

Style

Unknown

v2.3.2

25 Apr 17:06
Compare
Choose a tag to compare

v2.3.2 (2024-04-25)

Chore

  • pin PyQt due to tests failing on Qt6.7 (9dee08c)

Fix

  • (io) make summary caching togglable (99b8e22)

    Also fixes a bug where interactive summary plots were duplicated

  • (io) data loader related fixes (da08e90)

    DA30 dataloader now preserves case for attribute names from zip files. Post processing for datasets now works properly

Unknown

  • Merge pull request #24 from kmnhan/pre-commit-ci-update-config (bee9e5a)

    [pre-commit.ci] pre-commit autoupdate

v2.3.1

25 Apr 07:28
Compare
Choose a tag to compare

v2.3.1 (2024-04-25)

Chore

  • (deps) make iminuit and superqt optional (1bbcc24)

  • (deps) reduce dependencies (6a03518)

  • (github) update issue templates (6a2dd50)

  • (deps) update lmfit dependencies to include >1.3.0 (942a810)

Fix

  • (interactive) keep pointer for imagetool, fix typing issues (c98c38e)

  • (kspace) allow explicit coordinate kwargs (fe47efc)

Refactor

  • move characterization to io (9c30f1b)

  • make zip strict (ruff B905) (78bf5f5)

Style

  • add mypy compatible type hints (c97724d)

Unknown

  • Merge pull request #26 from kmnhan/dev (85a60b3)

  • Merge branch 'main' into dev (184afb0)

v2.3.0

22 Apr 14:23
Compare
Choose a tag to compare

v2.3.0 (2024-04-22)

Chore

  • cleanup directory (40e1f8d)

  • customize issue template chooser (0aa7617)

  • update issue templates (5dfb250)

Ci

  • (github) update test requirements (21080cc)

  • (readthedocs) rollback to 3.11 due to bug in python 3.12.0 and 3.12.1 (5eb6152)

Documentation

  • update documentation (ab32920)

    Updated requirements, contrib page, fitting guide. Source button now links to github.

  • fix typo in getting-started.rst (3304a18)

  • fix typos and add compat notes to getting-started (3bb2ac5)

  • add masking section, WIP (0844f6a)

  • add imagetool to user guide (84d3586)

  • update io and plotting documentation and cleanup contributing (b4c4f7c)

  • update badges (5e373f4)

  • enable latexpdf generation (7469271)

Feature

  • (kspace) rewrite conversion with xarray.apply_ufunc (156cef8)

    Momentum conversion now relies on xarray broadcasting for all computations, and objects with extra dimensions such as temperature can be automatically broadcasted. Dask arrays can also be converted.

  • (exampledata) enable specifying seed for noise rng (aa542e8)

  • (interpolate) enable fast interpolation for 1D arrays (ff333a0)

  • make both arguments optional for loader_context (6780197)

  • (kspace) automatically detect kinetic energy axis and convert to binding (bbde447)

  • add more output and parallelization to fit accessor (59b35f5)

    Allows dictionary of DataArrays as parameter to fit accessor. Now, the return Dataset contains the data and the best fit array. Relevant tests have been added.

  • add callable fit accessor using apply_ufunc (11e3546)

    Add a Dataset.modelfit and DataArray.modelfit accessor with similar syntax and output as Dataset.curvefit. Closes #22

  • add option to plot_array_2d so that users can pass non-normalized color array (74cf961)

  • (analysis.gold) add option to normalize energy axis in fitting (3dffad6)

    This improves performance and results when eV is large like ~100eV.

Fix

  • (exampledata) change noise generation parameters (b213f11)

  • (fit) make FermiEdge2dModel compatible with flattened meshgrid-like input arrays (c0dba26)

  • fix progress bar for parallel objects that return generators (23d41b3)

    Tqdm imports are also simplified. We no longer handle is_notebook ourselves, but just import from tqdm.auto

  • (plotting) fix 2d colormaps (8299576)

    Allow images including nan to be plotted with gen_2d_colormap, also handle plot_array_2d colorbar aspect

Refactor

  • fix some type hints (2dfa5e1)

  • (example) move exampledata from interactive to io (1fc7e6c)

    Also add sample data generation for fermi edge

  • refactor accessors as submodule (9fc37bd)

  • rewrite either_dict_or_kwargs with public api (34953d1)

  • move correct_with_edge from era.utilities to era.gold (08a906f)

    Calling from utilities will now raise a DeprecationWarning. The erlab.analysis namespace is unchanged, so the affect will be minimal.

  • qsel now raises a warning upon scalar indexing outside coordinate bounds (d6ed628)

Unknown

  • Merge pull request #23 from kmnhan/dev (4514a23)

    Added new interface for fitting, see #22 for discussions.
    Made loader argument optional for erlab.io.loader_context so it can be used to just change the data directory.
    Momentum conversion has been rewritten using xarray.apply_ufunc, and is now dask-compatible. It also automatically determines the current energy axis (kinetic or binding).

  • Merge remote-tracking branch 'origin/main' into dev (fd8e1ad)

  • Merge pull request #20 from kmnhan/pre-commit-ci-update-config (f1b965e)

    [pre-commit.ci] pre-commit autoupdate

  • [pre-commit.ci] pre-commit autoupdate (7e3a89e)

    updates:

v2.2.2

15 Apr 08:17
Compare
Choose a tag to compare

v2.2.2 (2024-04-15)

Chore

  • cleanup pyproject.toml (0331132)

  • (deps) add ipywidgets to optional dependency group viz (0062966)

Ci

  • (readthdocs) update build python version and add zip format (b2cc6fc)

Documentation

  • (io) add tutorial for writing advanced plugins (11f289e)

  • add ipywidgets to intersphinx mapping (0ee46f8)

Fix

  • (io) unify call signature for summarize (e2782c8)

  • resolve failing tests due to changes in sample data generation (80f0045)

  • (interactive.exampledata) properly generate 2D data (825260c)

Performance

  • (io) speedup merlin summary generation by excluding duplicates (d6b4253)

Refactor

  • (io) allow for more complex setups (f67b2e4)

    LoaderBase.infer_index now returns a second argument, which is a dictionary containing optional keyword arguments to load.

  • (io) provide rich interactive summary (b075a9e)

  • (io) include "Path" column in ssrl loader summary (ae1d8ae)

  • (io) improve array formatting in summary (1718529)

Test

  • add test for dataloader (64cde09)

v2.2.1

14 Apr 04:29
Compare
Choose a tag to compare

v2.2.1 (2024-04-14)

Chore

Documentation

  • rephrase some docstrings (e67597c)

  • add link to changelog (fbb6d32)

  • add ipywidgets as requirement (41024eb)

  • temporarily pin lmfit<1.3.0 to build docs (6b86ac2)

Fix

  • (fit) add sigma and amplitude expressions to MultiPeakModel parameters (3f6ba5e)

  • (fit.minuit) properly handle parameters constrained with expressions (d03f012)

Refactor

  • set informative model name for MultiPeakModel (d14ee9d)

  • add gaussian and lorentzian for consistency (07c0dfb)

Test

  • add tests for fit models (3f9125c)