# NormGauss2D¶

class sherpa.models.basic.NormGauss2D(name='normgauss2d')[source]

Two-dimensional normalised gaussian function.

fwhm

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

xpos

The center of the gaussian on the x0 axis.

ypos

The center of the gaussian on the x1 axis.

ellip

The ellipticity of the gaussian.

theta

The angle of the major axis. It is in radians, measured counter-clockwise from the X0 axis (i.e. the line X1=0).

ampl

The amplitude refers to the integral of the model over the range -infinity to infinity for both axes.

Notes

The functional form of the model for points is:

f(x0,x1) = 4 * log(2) * ampl * exp(-4 * log(2) * r(x0,x1)^2)
-------------------------------------------------
pi * fwhm * fwhm * sqrt(1 - ellip * ellip)

r(x0,x1)^2 = xoff(x0,x1)^2 * (1-ellip)^2 + yoff(x0,x1)^2
-------------------------------------------
fwhm^2 * (1-ellip)^2

xoff(x0,x1) = (x0 - xpos) * cos(theta) + (x1 - ypos) * sin(theta)

yoff(x0,x1) = (x1 - ypos) * cos(theta) - (x0 - xpos) * sin(theta)


The grid version is evaluated by adaptive multidimensional integration scheme on hypercubes using cubature rules, based on code from HIntLib ([1]) and GSL ([2]).

References

 [1] HIntLib - High-dimensional Integration Library http://mint.sbg.ac.at/HIntLib/
 [2] GSL - GNU Scientific Library http://www.gnu.org/software/gsl/

Attributes Summary

Methods Summary

 apply(outer, *otherargs, **otherkwargs) calc(*args, **kwargs) Evaluate the model on a grid. get_center() guess(dep, *args, **kwargs) Set an initial guess for the parameter values. regrid(*arrays) reset() set_center(xpos, ypos, *args, **kwargs) startup() Called before a model may be evaluated multiple times. teardown() Called after a model may be evaluated multiple times.

Attributes Documentation

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars

Methods Documentation

apply(outer, *otherargs, **otherkwargs)
calc(*args, **kwargs)[source]

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]
guess(dep, *args, **kwargs)[source]

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(*arrays)
reset()
set_center(xpos, ypos, *args, **kwargs)[source]
startup()

Called before a model may be evaluated multiple times.

teardown()

Called after a model may be evaluated multiple times.

setup()