hyperspy._components.gaussian module

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

Bases: hyperspy._components.expression.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 http://www.scipy.org/Cookbook/FittingData

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)