exspy.utils.eels#

effective_angle(E0, E, alpha, beta)

Calculates the effective collection angle

get_edges_near_energy(energy[, width, ...])

Find edges near a given energy that are within the given energy window.

get_info_from_edges(edges)

Return the information of a sequence of edges as a list of dictionaries

iMFP_angular_correction(density, ...)

Estimate the effect of limited collection angle on EELS mean free path

iMFP_Iakoubovskii(density, electron_energy)

Estimate electron inelastic mean free path from density

iMFP_TPP2M(electron_energy, density, M, N_v, E_g)

Electron inelastic mean free path using TPP-2M.

Utility functions for EELS analysis.

exspy.utils.eels.eels_constant_dielectric(s, zlp, t)#

Calculate the constant of proportionality (k) in the relationship between the EELS signal and the dielectric function. dielectric function from a single scattering distribution (SSD) using the Kramers-Kronig relations.

\[S(E)=\frac{I_{0}t}{\pi a_{0}m_{0}v^{2}}\ln\left[1+\left(\frac{\beta} {\theta_{E}}\right)^{2}\right]\Im(\frac{-1}{\epsilon(E)})= k\Im(\frac{-1}{\epsilon(E)})\]
Parameters:
  • zlp ({number, BaseSignal}) – If the ZLP is the same for all spectra, the intengral of the ZLP can be provided as a number. Otherwise, if the ZLP intensity is not the same for all spectra, it can be provided as i) a Signal of the same dimensions as the current signal containing the ZLP spectra for each location ii) a Signal of signal dimension 0 and navigation_dimension equal to the current signal containing the integrated ZLP intensity.

  • t ({None, number, BaseSignal}) – The sample thickness in nm. If the thickness is the same for all spectra it can be given by a number. Otherwise, it can be provided as a Signal with signal dimension 0 and navigation_dimension equal to the current signal.

Returns:

k

Return type:

Signal instance

exspy.utils.eels.effective_angle(E0, E, alpha, beta)#

Calculates the effective collection angle

Parameters:
  • E0 (float) – electron beam energy in keV

  • E (float) – energy loss in eV

  • alpha (float) – convergence angle in mrad

  • beta (float) – collection angle in mrad

Returns:

effective_angle – The effective collection angle in mrad.

Return type:

float

Notes

Code translated to Python from Egerton (second edition) page 420

exspy.utils.eels.get_edges_near_energy(energy, width=10, only_major=False, order='closest')#

Find edges near a given energy that are within the given energy window.

Parameters:
  • energy (float) – Energy to search, in eV

  • width (float) – Width of window, in eV, around energy in which to find nearby energies, i.e. a value of 10 eV (the default) means to search +/- 5 eV. The default is 10.

  • only_major (bool) – Whether to show only the major edges. The default is False.

  • order (str) – Sort the edges, if ‘closest’, return in the order of energy difference, if ‘ascending’, return in ascending order, similarly for ‘descending’

Returns:

edges – All edges that are within the given energy window, sorted by energy difference to the given energy.

Return type:

list

exspy.utils.eels.get_info_from_edges(edges)#

Return the information of a sequence of edges as a list of dictionaries

Parameters:

edges (str or iterable) – the sequence of edges, each entry in the format of ‘element_subshell’.

Returns:

info – A list of dictionaries with information corresponding to the provided edges.

Return type:

list

exspy.utils.eels.iMFP_Iakoubovskii(density, electron_energy)#

Estimate electron inelastic mean free path from density

Parameters:
  • density (float) – Material density in g/cm**3

  • beam_energy (float) – Electron beam energy in keV

Returns:

inelastic_mean_free_path – The inelastic mean free path in nanometers.

Return type:

float

See also

exspy.utils.eels.iMFP_TPP2M, exspy.utils.eels.angular_correction

Notes

For details see Equation 9 in reference [*].

exspy.utils.eels.iMFP_TPP2M(electron_energy, density, M, N_v, E_g)#

Electron inelastic mean free path using TPP-2M.

Parameters:
  • electron_energy (float) – Electron beam energy in keV

  • density (float) – Material density in g/cm**3

  • M (float) – Molar mass in g / mol

  • N_v (int) – Number of valence electron

  • E_g (float) – Band gap in eV

Returns:

inelastic_mean_free_path – The inelastic mean free path in nanometers.

Return type:

float

Notes

For details see reference [].

exspy.utils.eels.iMFP_angular_correction(density, beam_energy, alpha, beta)#

Estimate the effect of limited collection angle on EELS mean free path

Parameters:
  • density (float) – Material density in g/cm**3

  • beam_energy (float) – Electron beam energy in keV

  • alpha (float) – Convergence and collection angles in mrad.

  • beta (float) – Convergence and collection angles in mrad.

Returns:

correction – The correction factor on the mean free path due to the collection angle.

Return type:

float

Notes

For details see Equation 9 in reference [].