# Box2D¶

class sherpa.models.basic.Box2D(name='box2d')[source]

Two-dimensional box function.

The model is flat between the limits, where it is set to the ampl parameter. Outside this range the model is zero.

xlow

The lower edge of the box (x0 axis).

xhi

The upper edge of the box (x0 axis).

ylow

The lower edge of the box (x1 axis).

yhi

The upper edge of the box (x1 axis).

ampl

The amplitude of the box.

Notes

The functional form of the model for points is:

f(x0,x1) = ampl if xlow <= x0 <= xhi
ylow <= x1 <= yhi
= 0       otherwise


and for an integrated grid it is:

f(x0lo,x0hi,x1lo,x1hi)
= 0            if x0hi <= xlow or x0lo >= xhi
or x1hi <= ylow or x1lo >= yhi
= ampl * g     where g is the fraction of the pixel
that falls within the region


This behavior is different to how the amplitude is handled in other models, such as Const2D.

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(*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()
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(*args, **kwargs)
startup()

Called before a model may be evaluated multiple times.

teardown()

Called after a model may be evaluated multiple times.

setup()