Recent Releases of lg4x-v2

lg4x-v2 - 2.4.1: Bug fixes

Bug fixes:

  • Error handling if file import fails was improved to prevent GUI crashes.
  • Fixes an issue with self-referencing of lmfit.parameters when using expressions and adds proper error handling there. (related to #117 ).

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.4.0...2.4.1

- Python
Published by Julian-Hochhaus 7 months ago

lg4x-v2 - DarkMode-Update

This Release finally introduces the dark mode. In addition, several bugs were fixed and many aspects of the GUI creation were structured better, e.g. so that the creation of single-window and two-window mode is simplified and unified.

What's Changed

  • Modifications of the GUI by @Julian-Hochhaus.
  • Add more publications by @kevinsmia1939.
  • Formatting code and modifying to make it run with uv run with black by @Hexanders.
  • Bug fixing by @Julian-Hochhaus

See the full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.3.1...2.4.0

Announcement:

An advanced version of open-source XPS fitting software is available from binary and github developed by Gwilherm Kerherve. The software uses a very similar approach to LG4X/LG4X-V2, combining an even more user-friendly GUI with the models and optimization algorithms implemented in LMFIT/lmfitxps. Please check it out!

I will work together with Gwilherm to improve and develop KherveFitting, and I highly recommend checking it out!

- Python
Published by Julian-Hochhaus 8 months ago

lg4x-v2 - 2.3.1

Fixes mixup of Gaussian and Lorentzian FWHMs. In the GUI, instead of the Gaussian FWHM, the Lorentzian FWHM was displayed. However, no error was made in the exported fit_report or during the calculation.

Compare: Commit 35b67f0ce302a70b0f1abe9f4cab8037cdcfc2a9

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.3.0...2.3.1

- Python
Published by Julian-Hochhaus 11 months ago

lg4x-v2 - 2.3.0

What's Changed

  • Modified the requirements.txt to include the latest release of lmfitxps, which adds full support for fitting while using the binding energy scale
  • Fix config directory for Flatpak by @kevinsmia1939 in https://github.com/Julian-Hochhaus/LG4X-V2/pull/99
  • Add more publications by @kevinsmia1939 at https://github.com/Julian-Hochhaus/LG4X-V2/pull/101 and 43a75b122447ce48a7a67438b58195353352ee39
  • Warn rather than fail if vamas file ends before experiment terminator by @govynnus in https://github.com/Julian-Hochhaus/LG4X-V2/pull/103
  • use scipy.integrate.simpson by @govynnus in https://github.com/Julian-Hochhaus/LG4X-V2/pull/104
  • Modified the exported parameters and values in the exported .txt parameters/fit-info file as well as in the .csv exported results file. ( 37e960a ; 40e0f998a96ab192fbc809d2d03c856522629767 ; 2fd58695ce5eae382712101fc8258c1aeab57fd5, 23ffbdbbe61e14e21ac7aa1fe4ab4c8a21e8cef4)
  • fixed some bugs, that user settings were not saved (55db5391c70862bf6ad3765af4775e57ac2d5253; 974c901d3d87a8131cafb12f49d4eac01387922e)
  • fixed a bug in the fwhm calculation of the gds: ConvGaussianDoniachSinglett-Model (1a73820e7aab6d583620502a4aa00a59e1e5bc13)

New Contributors

  • @govynnus made their first contribution in https://github.com/Julian-Hochhaus/LG4X-V2/pull/103

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.2.1...2.3.0

- Python
Published by Julian-Hochhaus about 1 year ago

lg4x-v2 - Release 2.2.1

Forgot to update metainfo for the flathub repo.

- Python
Published by Julian-Hochhaus over 1 year ago

lg4x-v2 - 2.2.0

What's Changed

  • Import Menu: Added an import menu that allows users to import data that doesn't follow the simple format:

| energy | intensity | |-------------|----------------| | data energy | data intensity | | ... | ... |

This enhancement was suggested by @andrefahl in #97.

  • Settings Option: Introduced a settings option that enables users to modify and save preferences related to the GUI appearance and data import.

  • Two-Window Mode: Added a two-window mode as requested by @Hexanders in #89.

  • GUI Customization: Made several GUI options, such as window resolution and table width, accessible to users. This feature will be expanded in future updates. The topic was initially mentioned by @erdzeichen in #89.

  • Dependency Update: Updated requirements to use lmfitxps>=2.4.1, which offers improved support for data using the binding energy scale.

  • Bug Fixes: Various bugs were addressed by @kevinsmia1939 and @Julian-Hochhaus.

Full Changelog: 2.1.5...2.2.0

- Python
Published by Julian-Hochhaus over 1 year ago

lg4x-v2 - Release Version 2.1.5

Patch Release

Only several errors were fixed compared to the last release

What's Changed

  • small bug in periodic table found by @kevinsmia1939 fixed in 6889e2b2d9571ce8f7c4d7e9a6a0731c54817842
  • started using of bumpver for version control in 989a3112def739774c549e23507e23226b70ce3e
  • adapted to the restructuring of lmfitxps package
  • explicitly set the local settings to overwrite user system settings to prevent unexpected behavior with which values are accepted as valid input in ff93135a3242cff89c4cd22c837a8451f361859c by @Julian-Hochhaus
  • fixed error handling and implemented logging in ac5d07c5129d652cab24c2ed40273d6f05203bce

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/v2.1.0...2.1.2

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.1.1...2.1.2

Patch 2.1.5:

  • Changed log file-size to 4MB
  • Preventing crash by adding error handling as issued by @SHilgers in #88

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/2.1.3...2.1.5

- Python
Published by Julian-Hochhaus over 2 years ago

lg4x-v2 - Release v2.1.0

What's New (Major changes)

  • The fitting process was moved to its own thread, thereby enabling us to kill the fitting process from the GUI if the optimization takes too long. Thereby implementing the long-standing suggestion by @Hexanders in https://github.com/Julian-Hochhaus/LG4X-V2/issues/5. Implemented in https://github.com/Julian-Hochhaus/LG4X-V2/commit/a552ec58b035bde0cf5508da422b02b92e4396ac
  • All user-defined models were moved to an external package called lmfitxps, which is available via pip and on github.
  • @kevinsmia1939 created a logo and added several files (desktop file, metainfo) in preparation for publishing the software on flathub in https://github.com/Julian-Hochhaus/LG4X-V2/pull/79

What's New (Minor changes)

  • Tables are now members of the class EditableHeaderTableWidget, which inherits from QtWidgets.QTableWidget and enables the user to edit table headers. Thereby, components used in the fit can now be renamed. In addition, clicking on the table header now opens a dialog, where the user can choose to remove selected components from the fit model. If header names are changed, the program checks for duplicates and renames components if necessary. Implemented by @Julian-Hochhaus in https://github.com/Julian-Hochhaus/LG4X-V2/commit/94f72a3876a5c5f8aa7c716af01920a7148a33f0, https://github.com/Julian-Hochhaus/LG4X-V2/commit/3bad8ce8e42bf48432faac2d69dffa91f1db2397, and https://github.com/Julian-Hochhaus/LG4X-V2/commit/ddd4364391413a30bc2452b0e4e3e1e9e9dc4d2c
  • Names of components are now exported to the pars.dat file so that the user is able to individually name fit components and later reuse the saved parameters belonging to specific identified and named fit components as suggested by @kevinsmia1939 and implemented by @Julian-Hochhaus in https://github.com/Julian-Hochhaus/LG4X-V2/commit/90b466ba943e7e5e8f648a85db0efe7a24fe325f.
  • Further improved the support for .vms files. Importing more information from VAMAS, such as excitation energy. See https://github.com/Julian-Hochhaus/LG4X-V2/commit/5564c6b9ec0a550447a6d737ac1efc832569459d
  • The static Shirley background is now calculated using the same Model as the active one as suggested by @kevinsmia1939 . In addition, the static backgrounds are now exported as well and are displayed in the plot too. See Issue https://github.com/Julian-Hochhaus/LG4X-V2/issues/66 and commits https://github.com/Julian-Hochhaus/LG4X-V2/commit/369940b3ac4fd6b6b537d4c69c5b9b4a0a9d7516, https://github.com/Julian-Hochhaus/LG4X-V2/commit/666b40357d5c80650cbb3302bbe9f606a9b806b0, and https://github.com/Julian-Hochhaus/LG4X-V2/commit/88d1c3f9a089335219491f4c6b71969f53edf050

Bugs solved

  • Fix ValueError if - is used in input fields by @kevinsmia1939 in https://github.com/Julian-Hochhaus/LG4X-V2/pull/50
  • Made sure, that the bg_mod variable is always set to None and caught all cases when bg_mod is not used in the model, solving Issue https://github.com/Julian-Hochhaus/LG4X-V2/issues/52 reported by @kevinsmia1939. Fixed by @Julian-Hochhaus in https://github.com/Julian-Hochhaus/LG4X-V2/commit/7532e1d9bacf398aa6130f8fca24162570415272.
  • zeros and NaN in the input data and in ModelResult are now caught, preventing the program from crashing as reported by @kevinsmia1939 in https://github.com/Julian-Hochhaus/LG4X-V2/issues/55 and fixed by @Julian-Hochhaus in https://github.com/Julian-Hochhaus/LG4X-V2/commit/a77a20accc8b93cab6f647ab20562be45c2eb5ca
  • Pressing Refresh in the periodic table caused crashes due to a small typo. Issue https://github.com/Julian-Hochhaus/LG4X-V2/issues/58 resolved by commit https://github.com/Julian-Hochhaus/LG4X-V2/commit/21035237
  • removing constraints on fit parameters to enable the use of kinetic energy scale as well as binding energy scale, limits for the asymmetry parameter are now set based on which energy scale is used (see Issue https://github.com/Julian-Hochhaus/LG4X-V2/issues/71, https://github.com/Julian-Hochhaus/LG4X-V2/issues/59, and https://github.com/Julian-Hochhaus/LG4X-V2/issues/73 by @kevinsmia1939 and commits https://github.com/Julian-Hochhaus/LG4X-V2/commit/124e375746bf519c68b9f372bfdd50d64051c0b0, https://github.com/Julian-Hochhaus/LG4X-V2/commit/884631f6f6dae4b6e50acfa7b8d8a4e053c0a5a7, and https://github.com/Julian-Hochhaus/LG4X-V2/commit/164385ac3f5565cf2898e853f7a232e2e56d3efa)
  • several bugs with the calculation of FWHM's as well as areas using binding energy scale were solved by @kevinsmia1939 and @Julian-Hochhaus , see https://github.com/Julian-Hochhaus/LG4X-V2/commit/24d60f306352414f1b2c844ab75bfdb6304f04ed, https://github.com/Julian-Hochhaus/LG4X-V2/commit/9d021e8416dd8f53fffa185b76e0a40bd7230d14, and https://github.com/Julian-Hochhaus/LG4X-V2/commit/ea8ffb8a772082725847b9ee780f63f1d17f6492

New Contributors

  • @kevinsmia1939 made his first contribution in https://github.com/Julian-Hochhaus/LG4X-V2/pull/50. In addition, he put outstanding effort in improving the program by submitting various suggestions and issues as well as contributing to the code. In addition, he designed a logo and prepared the publication as flatpak. Thanks for your effort!

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/98c992e...70f37b1

- Python
Published by Julian-Hochhaus over 2 years ago

lg4x-v2 - Release V2.0.4

This version introduces the option to apply multiple different background at the same time to the fit. In addition, the slope background as proposed by A. Herrera-Gomez et al. was introduced.

New Features:

  • The possibility to use multiple different BG's in the same fit was introduced. This is especially useful, if combination of backgrounds is necessary ( e.g. for multi-layer materials)
  • The Slope-BG as proposed by A. Herrera-Gomez et al. was introduced. In combination with the functionality that multiple backgrounds can now be combined, backgrounds like the Slope-Shirley-BG as proposed by J. Vegh and A. Herrera-Gomez et al. are now accesible to the user.
  • reformatted the database on which the periodic table for identifying elements in survey spectra is based using the mendeleev-package.
  • redesigned the periodic table used for identifying elements in broad range survey spectra.
  • Modified the user input validation that was introduced in v2.0.3 so that the user is now able to enter nothing/empty strings
  • added the option to use the exported _fit.csv files as input
  • added Info/Help section to the menubar
  • started adapting the documentation to the new features introduced by LG4X-V2
  • created a Code of Conduct

Bugs fixed:

  • reloading of old parameters when updating the tougaard cross section as mentioned in #45 was fixed
  • fixed the functionality of the append method for importing additional parameter sets for components
  • changed style of the the matplotlib to seaborn-v0_8-colorblind, because the old seaborn style was no longer accesible

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/v2.0.3...v2.0.4

- Python
Published by Julian-Hochhaus almost 3 years ago

lg4x-v2 - Release V2.0.3

  • Simulation mode was introduced (If no data is present, the current given parameters are plotted against an artificial dataset with intensity set to random numbers)
  • timestamp of last successful fit added to status bar
  • user input validation of xmin, xmax, hv, wfand all input tables (for background, components and limits) was introduced
  • added an indicator light, depending on the status of limits (red: limit reached, yellow: limit reached but limit at zero, probably no problem, could simply mean that amplitude reached 0 during fit, e.g. component not necessary for fit, green: limit in use and everything is fine, grey: limits not in use)

several bugs fixed: - asymmetry of gds-model was not set to fixed even if checked - using active shirley bg, the exported bg in the .csv file was only the polynomial bg - fixed problems with unsetting expressions for gamma and sigma parameter which was caused by inconsistencies in lmfitas discussed here. - removed bug, that the choosen background was changed when the cross-section was set

Full Changelog: https://github.com/Julian-Hochhaus/LG4X-V2/compare/v2.0.2...v2.0.3

- Python
Published by Julian-Hochhaus almost 3 years ago

lg4x-v2 - Release version for citation

- Python
Published by Julian-Hochhaus almost 3 years ago

lg4x-v2 - Extended functionality and user-defined models

-Added user-defined models such as doniach-sunjic convoluted with a gaussian kernel and fermi distribution convoluted with a gaussian kernel -Added fit-metadata such as fwhm and peak area to the GUI -Added fit statistics to the GUI (number of evals, chisqr, redchi, etc.)

- Python
Published by Julian-Hochhaus almost 4 years ago