XSModel

class sherpa.astro.xspec.XSModel(name, pars=())[source] [edit on github]

Bases: sherpa.models.model.RegriddableModel1D

The base class for XSPEC models.

It is expected that sub-classes are used to represent the five different types of XSPEC model (additive, multiplicative, convolution, pile up, mixing, and tables), although not all are currently supported in Sherpa.

Notes

The XSPEC models are evaluated on a one-dimensional, integrated, contiguous grid. When the calc method is called with both low and high bin values, the arrays are converted into a single array matching the XSPEC calling convention - that is elo_0, elo_1, …, elo_n for n bins (so the last value is the upper edge of the last bin) - adding in any bins to account for a non-contiguous input. This array is used to evaluate the model, and then the return value is created by removing any extra bins that had to be added to account for non-contiguous input values.

If used on an unbinned dataset, so only one array is sent to calc, then the input values are taken to match the XSPEC calling convention - i.e. a contiguous grid where the last element represents the upper edge of the last bin. This means that for an input grid of n points, the returned array will contain n values, but the last element will be zero.

Attributes Summary

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars
version_enabled

Methods Summary

apply(outer, *otherargs, **otherkwargs)
calc(pars, xlo, *args, **kwargs)
get_center()
guess(dep, *args, **kwargs) Set an initial guess for the parameter values.
regrid(*arrays, **kwargs) The class RegriddableModel1D allows the user to evaluate in the requested space then interpolate onto the data space.
reset()
set_center(*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

thawedparhardmaxes
thawedparhardmins
thawedparmaxes
thawedparmins
thawedpars
version_enabled = True

Methods Documentation

apply(outer, *otherargs, **otherkwargs) [edit on github]
calc(pars, xlo, *args, **kwargs) [edit on github]
get_center() [edit on github]
guess(dep, *args, **kwargs) [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(*arrays, **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(*args, **kwargs) [edit on github]
startup(cache) [edit on github]

Called before a model may be evaluated multiple times.

See also

teardown()

teardown() [edit on github]

Called after a model may be evaluated multiple times.

See also

setup()