Changelog
All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.1.4 (2023-02-22)
First inofficial release
First version of the package on PyPi
All main functionality tested
Basic documentation
0.2.0 (2023-04-20)
Second inofficial release
All important part of the documentation are present
This is a test before the first official release 1.0.0
0.2.1 (2023-04-21)
Third inofficial release
Test the final process for the first official release 1.0.0
1.0.0 (2023-04-21)
First official release
All important part of the documentation are present
All main functionality tested
1.0.1 (2023-06-12)
First patch release
New notebook to reproduce the results of the paper
Fixing some minor bugs
Adding fixed stoichiometries in the G matrix
1.1.0 (2024-04-19)
First major update
In the following we refer to an instance of espm.datasets.EDSespm as spim.
Conceptual changes :
In ESpM-NMF
Syntax changes :
In spim.build_G(), the keyword argument to separate high and low energy lines in the G matrix is now elements_dict instead of reference_elt. The dictionary allows atomic number or chemical symbol notation.
When calling espm.estimators.SmoothNMF, prefer the use of spim.model instead of spim.G to pass the EDXS modelling.
- The metadata of the spim can be set in two ways :
with the set functions spim.set_analysis_parameters that replace the existing metadata.
with the add functions spim.add_analysis_parameters that do not replace the existing metadata.
Conceptual changes :
The espm.estimators.SmoothNMF object can take G as a keyword argument. The argument accepts either a numpy.ndarray (that can be called with spim.G) or an instance of espm.models.EDXS (that can be called with spim.model).
When calling, for example, spim.build_G(elements_dict = {‘Fe’ : 4.0}) the Fe lines are split between high and low energy lines. Now, in the simplex constraint and in the quantification, the low energy lines are ignored.
New features :
The espm.datasets.EDSespm.estimate_best_binning can be used to estimate the best binning factor to apply on the data before performing the ESpM-NMF decompostion. Use the output (bb) of this function in spim.rebin(scale = bb ) to apply the binning.
An alternative init for the ESpM-NMF decompostion can be activated by executing spim.custom_init = True. It works only when using G = spim.model in espm.estimators.SmoothNMF.
The spim.print_concentration_report was improved thanks to the prettytable package. Statistical errors on the quantifications are now displayed.
1.1.1 (2024-04-25)
Patch of the 1.1.0
Fixing the version of traits, hyperspy 2.0.0 is not compatible with traits 6.0.0 and above.
1.1.2 (2024-09-09)
Patch of the 1.1.1
Switching back to traits 6.0.0 and above that is now compatible with hyperspy 2.0.0 and above.
Update of the notebooks to be compatible with the new version of the package.
Adding a filter to the generation of the G matrix so that lines outside the energ range are correctly ignored.
1.1.3 (2025-02-05)
Patch of the 1.1.2
Major changes :
The espm.datasets.EDSespm now inherits from the exspy.signals.EDSTEMSpectrum enabling all the corresponding functionalities.
EDXS model : It is possible to add ignored elements such as Cu (ignored_elements = [‘Cu’]), so that it is fitted independently of the mass-thickness. It helps the fitting process for stray X-rays from the sample environment such as the Cu grid.
Fitting of 1D spectra : Added functionalities to fit and quantify 1D spectra.
Energy windows on which the bremsstrahlung is fitted can be set with the select_background_windows gui method. It also displays the fitted background.
Syntax changes :
The methods setting the metadata that are relevant for modelling are now functionning like exspy. The microscope parameters are set using exspy’s set_microscope_parameters method. The metadata of the espm.datasets.EDSespm object can be set using the set_analysis_parameters method.
Currently, the beta_tilt has to be set using data_object.metadata.Acquisition_instrument.TEM.Stage.beta_tilt = value.
Technical changes :
Update of the installation process by using pyproject.toml