XSTableModel

class sherpa.astro.xspec.XSTableModel(filename, name='xstbl', parnames=(), initvals=(), delta=(), mins=(), maxes=(), hardmins=(), hardmaxes=(), nint=0, addmodel=False, addredshift=False)[source] [edit on github]

Bases: sherpa.astro.xspec.XSModel

Interface to XSPEC table models.

XSPEC supports loading in user-supplied data files for use as a table model 1. This class provides a low-level way to access this functionality. A simpler interface is provided by read_xstable_model and sherpa.astro.ui.load_xstable_model.

Parameters
  • filename (str) – The name of the FITS file containing the data for the XSPEC table model; the format is described in 2.

  • name (str) – The name to use for the instance of the table model.

  • parnames (sequence) – The parameter names. This corresponds to the “NAME” column from the “PARAMETER” block of the input file. Any invalid characters in each name will be replaced by the ‘_’ character.

  • initvals (sequence) – The initial values for each parameter. This corresponds to the “INITIAL” column from the “PARAMETER” block of the input file.

  • delta (sequence) – The delta value for each parameter. This corresponds to the “DELTA” column from the “PARAMETER” block of the input file.

  • mins (sequence) – The valid range of each parameter. These correspond to the “BOTTOM”, “TOP”, “MINIMUM”, and “MAXIMUM” columns from the “PARAMETER” block of the input file.

  • maxes (sequence) – The valid range of each parameter. These correspond to the “BOTTOM”, “TOP”, “MINIMUM”, and “MAXIMUM” columns from the “PARAMETER” block of the input file.

  • hardmins (sequence) – The valid range of each parameter. These correspond to the “BOTTOM”, “TOP”, “MINIMUM”, and “MAXIMUM” columns from the “PARAMETER” block of the input file.

  • hardmaxes (sequence) – The valid range of each parameter. These correspond to the “BOTTOM”, “TOP”, “MINIMUM”, and “MAXIMUM” columns from the “PARAMETER” block of the input file.

  • nint (int) – The first nint parameters are marked as thawed by default, the remaining default to frozen.

  • addmodel (bool) – Is this an additive model (True) or multiplicative model (False)? It should be set to the value of the “ADDMODEL” keyword of the primary header of the input file.

  • addredshift (bool) – If True then a redshift parameter is added to the parameters. It should be set to the value of the “REDSHIFT” keyword of the primary header of the input file.

References

1

https://heasarc.gsfc.nasa.gov/xanadu/xspec/manual/XSappendixLocal.html

2

https://heasarc.gsfc.nasa.gov/docs/heasarc/ofwg/docs/general/ogip_92_009/ogip_92_009.html

Attributes Summary

cache

The maximum size of the cache.

ndim

A one-dimensional model.

thawedparhardmaxes

The hard maximum values for the thawed parameters.

thawedparhardmins

The hard minimum values for the thawed parameters.

thawedparmaxes

Access to the maximum limits for the thawed parameters

thawedparmins

Access to the minimum limits for the thawed parameters

thawedpars

Access to the thawed parameters of the model

version_enabled

Methods Summary

apply(outer, *otherargs, **otherkwargs)

cache_clear()

Clear the cache.

cache_status()

Display the cache status.

calc(p, *args, **kwargs)

Calculate the model given the parameters and grid.

fold(**kwargs)

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()

Reset the parameter values.

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

cache = 5

The maximum size of the cache.

ndim = 1

A one-dimensional model.

thawedparhardmaxes

The hard maximum values for the thawed parameters.

thawedparhardmins

The hard minimum values for the thawed parameters.

thawedparmaxes

Access to the maximum limits for the thawed parameters

thawedparmins

Access to the minimum limits for the thawed parameters

thawedpars

Access to the thawed parameters of the model

version_enabled = True

Methods Documentation

apply(outer, *otherargs, **otherkwargs) [edit on github]
cache_clear() [edit on github]

Clear the cache.

cache_status() [edit on github]

Display the cache status.

Information on the cache - the number of “hits”, “misses”, and “requests” - is displayed at the INFO logging level.

Example

>>> pl.cache_status()
 powlaw1d.pl                size:    5  hits:   633  misses:   240  check=  873
calc(p, *args, **kwargs)[source] [edit on github]

Calculate the model given the parameters and grid.

Notes

XSPEC models must always be evaluated with low and high bin edges. Although supported by the XSPEC model interface the ability to evaluate using an XSPEC-style grid (n+1 values for n bins which we pad with a 0), we do not allow this here since it complicates the handling of the regrid method.

Keyword arguments are ignored.

fold(**kwargs)[source] [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(*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]

Reset the parameter values.

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

startup