hyperspy._components.gaussian module

class hyperspy._components.gaussian.Gaussian(A=1.0, sigma=1.0, centre=0.0, module='numexpr', **kwargs)

Bases: Expression

Normalized Gaussian function component.

\[f(x) = \frac{A}{\sigma \sqrt{2\pi}}\exp\left[ -\frac{\left(x-x_0\right)^{2}}{2\sigma^{2}}\right]\]

Variable

Parameter

\(A\)

A

\(\sigma\)

sigma

\(x_0\)

centre

Parameters:
  • A (float) – Area, equals height scaled by \(\sigma\sqrt{(2\pi)}\). GaussianHF implements the Gaussian function with a height parameter corresponding to the peak height.

  • sigma (float) – Scale parameter of the Gaussian distribution.

  • centre (float) – Location of the Gaussian maximum (peak position).

  • **kwargs – Extra keyword arguments are passed to the Expression component.

fwhm

Convenience attribute to get and set the full width at half maximum.

Type:

float

height

Convenience attribute to get and set the height.

Type:

float

See also

GaussianHF

estimate_parameters(signal, x1, x2, only_current=False)

Estimate the Gaussian by calculating the momenta.

Parameters:
  • signal (Signal1D instance) –

  • x1 (float) – Defines the left limit of the spectral range to use for the estimation.

  • x2 (float) – Defines the right limit of the spectral range to use for the estimation.

  • only_current (bool) – If False estimates the parameters for the full dataset.

Return type:

bool

Notes

Adapted from https://scipy-cookbook.readthedocs.io/items/FittingData.html

Examples

>>> g = hs.model.components1D.Gaussian()
>>> x = np.arange(-10, 10, 0.01)
>>> data = np.zeros((32, 32, 2000))
>>> data[:] = g.function(x).reshape((1, 1, 2000))
>>> s = hs.signals.Signal1D(data)
>>> s.axes_manager[-1].offset = -10
>>> s.axes_manager[-1].scale = 0.01
>>> g.estimate_parameters(s, -10, 10, False)