Gauss1D

class sherpa.models.basic.Gauss1D(name='gauss1d')[source] [edit on github]

Bases: sherpa.models.model.RegriddableModel1D

One-dimensional gaussian function.

fwhm

The Full-Width Half Maximum of the gaussian. It is related to the sigma value by: FWHM = sqrt(8 * log(2)) * sigma.

pos

The center of the gaussian.

ampl

The amplitude refers to the maximum peak of the model.

See also

Gauss2D, NormGauss1D

Notes

The functional form of the model for points is:

f(x) = ampl * exp(-4 * log(2) * (x - pos)^2 / fwhm^2)

and for an integrated grid it is the integral of this over the bin.

Examples

Compare the gaussian and normalized gaussian models:

>>> m1 = sherpa.models.basic.Gauss1D()
>>> m2 = sherpa.models.basic.NormGauss1D()
>>> m1.pos, m2.pos = 10, 10
>>> m1.ampl, m2.ampl = 10, 10
>>> m1.fwhm, m2.fwhm = 5, 5
>>> m1(10)
10.0
>>> m2(10)
1.8788745573993026
>>> m1.fwhm, m2.fwhm = 1, 1
>>> m1(10)
10.0
>>> m2(10)
9.394372786996513

The normalised version will sum to the amplitude when given an integrated grid - i.e. both low and high edges rather than points - that covers all the signal (and with a bin size a lot smaller than the FWHM):

>>> m1.fwhm, m2.fwhm = 12.2, 12.2
>>> grid = np.arange(-90, 110, 0.01)
>>> glo, ghi = grid[:-1], grid[1:]
>>> m1(glo, ghi).sum()
129.86497637060958
>>> m2(glo, ghi).sum()
10.000000000000002

Attributes Summary

ndim

thawedparhardmaxes

thawedparhardmins

thawedparmaxes

thawedparmins

thawedpars

Methods Summary

apply(outer, *otherargs, **otherkwargs)

calc(pars, xlo, *args, **kwargs)

Evaluate the model on a grid.

get_center()

guess(dep, *args, **kwargs)

Set an initial guess for the parameter values.

regrid(*args, **kwargs)

The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space.

reset()

set_center(pos, *args, **kwargs)

startup([cache])

Called before a model may be evaluated multiple times.

teardown()

Called after a model may be evaluated multiple times.

Attributes Documentation

ndim = 1
thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Documentation

apply(outer, *otherargs, **otherkwargs) [edit on github]
calc(pars, xlo, *args, **kwargs) [edit on github]

Evaluate the model on a grid.

Parameters
  • p (sequence of numbers) – The parameter values to use. The order matches the pars field.

  • *args – The model grid. The values can be scalar or arrays, and the number depends on the dimensionality of the model and whether it is being evaluated over an integrated grid or at a point (or points).

get_center()[source] [edit on github]
guess(dep, *args, **kwargs)[source] [edit on github]

Set an initial guess for the parameter values.

Attempt to set the parameter values, and ranges, for the model to match the data values. This is intended as a rough guess, so it is expected that the model is only evaluated a small number of times, if at all.

regrid(*args, **kwargs) [edit on github]

The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space. An optional argument ‘interp’ enables the user to change the interpolation method.

Examples

>>> import numpy as np
>>> from sherpa.models.basic import Box1D
>>> mybox = Box1D()
>>> request_space = np.arange(1, 10, 0.1)
>>> regrid_model = mybox.regrid(request_space, interp=linear_interp)
reset() [edit on github]
set_center(pos, *args, **kwargs)[source] [edit on github]
startup(cache=False) [edit on github]

Called before a model may be evaluated multiple times.

Parameters

cache (bool, optional) – Should a cache be used when evaluating the models.

See also

teardown()

teardown() [edit on github]

Called after a model may be evaluated multiple times.

See also

setup()