dependabot[bot] on github_actions
ericpre on RELEASE_next_minor
Bump softprops/action-gh-releas… Merge pull request #3072 from h… (compare)
dependabot[bot] on github_actions
Bump softprops/action-gh-releas… (compare)
%matplotlib widgettogether with the
hyperspy-gui-ipywidgetspackage. The plot is then displayed inline and I can also add the background region by clicking and dragging on the spectrum window.
%matplotlib widget import hyperspy.api as hs import numpy as np s = hs.signals.Signal1D(np.arange(1024)) s.remove_background()
[ [1,2,3], [1,2,3,4], ]
I am performing data analysis on EDXS data. For the analysis I need some parameters such as sample thickness, elements in the sample, etc .. Depending on the microscope that was used (and the corresponding acquisition software) these parameters are not all filled in the metadata.
Is there a way to set the metadata parameters so that the previous values are not overwritten and only the empty ones are filled ?
I know it is possible to do that for elements using
s.add_elements(["Si"]), but I couldn't find the same function for microscope parameters for example.
Hi everyone, I am trying use SamFire for EELS model fitting, After reading the documentation and the source code a bit, I still have few question about how to set up properly. I currently have the setup as:
# to fit 5% of the pixels to estimate the starting values shape = (s_eels.axes_manager.navigation_axes.size, s_eels.axes_manager.navigation_axes.size) mask = np.random.choice([0, 1], size=shape, p=[0.05, 0.95]) m.multifit(mask=mask, optimizer='lm', bounded=True,iterpath='serpentine',kind='smart') # then start samfire samf = m.create_samfire(workers=2, ipyparallel=False) *#create samfire* samf.metadata.goodness_test.tolerance = 0.3 *#set a sensible tolerance* samf.refresh_database() # here is to refresh the stragtegy or the pixel fitted? it reads bit contradictory from the documentation and the source code samf.start(optimizer='lm', loss_function='ls', bounded=True,iterpath='serpentine',kind='smart', optional_components=['Mn_L3','O_K','PowerLaw']) *#start fitting*
The fitting results have following issues:
Only the already
m.multfit() fitted pixels have sensible values, the others does not have a good fit. I also tried fitting some pixels with
smart_fit() which gives similar results. This can be verified with
m.red_chisq.plot() (see attached).
The vacuum pixels yiled growth for the powerlaw fitting of the pre-edge range, due to the noise, and the edge components fail as well as there should be none. Thus, I have all the components as optional but this is not the solution. Is it possible to switch off the fitting for the vacuum, I guess one can use mask.
One quesiton about the elemental component intensity for mapping, I saw discussion in #2562, is it possible to have the absolute intensity or show the H-S cross-section under the given microscope condition? As I want to know their exact product to calculate the partial cross-section…
One final question about the fine structure coefficient when
m.enable_fine_structure(), are those a combination of gaussians? Can we acess the gaussian height, width and centre? I currently counldn’t find docs about the values in the fine_structure_coefficient, but see sometimes their values are negative and the plot indeed shows negetive gaussian correspondingly to fit the curve (which occurs even after forcing all edge component to be possitive), does the negative values make sense? If it is gaussian combination, it will be really helpful to have the acess to their values (instead of making gaussian models oneself), which can be used for computing white line for example.
I am happy to give a minimum example if that could be helpful. Many thanks for your helps!