sherpa.astro.ui.set_quality(id, val=None, bkg_id=None)

Apply a set of quality flags to a PHA data set.

A quality value of 0 indicates a good channel, otherwise (values >=1) the channel is considered bad and can be excluded using the ignore_bad function, as discussed in 1.

  • id (int or str, optional) – The identifier for the data set to use. If not given then the default identifier is used, as returned by get_default_id.

  • val (array of int) – This must be an array of quality values of the same length as the data array.

  • bkg_id (int or str, optional) – Set if the quality values should be associated with the background associated with the data set.


sherpa.utils.err.ArgumentErr – If the data set does not contain a PHA data set.

See also


Fit one or more data sets.


Return the quality array for a PHA data set.


Exclude channels marked as bad in a PHA data set.


Load the quality array from a file and add to a PHA data set.


Apply a set of grouping flags to a PHA data set.


The function does not follow the normal Python standards for parameter use, since it is designed for easy interactive use. When called with a single un-named argument, it is taken to be the val parameter. If given two un-named arguments, then they are interpreted as the id and val parameters, respectively.

The meaning of the quality column is taken from 1, which says that 0 indicates a “good” channel, 1 and 2 are for channels that are identified as “bad” or “dubious” (respectively) by software, 5 indicates a “bad” channel set by the user, and values of 3 or 4 are not used.



“The OGIP Spectral File Format”,


Copy the quality array from data set 2 into the default data set, and then ensure that any ‘bad’ channels are ignored:

>>> qual = get_data(2).quality
>>> set_quality(qual)
>>> ignore_bad()

Copy the quality array from data set “src1” to the source and background data sets of “src2”:

>>> qual = get_data("src1").quality
>>> set_quality("src2", qual)
>>> set_quality("src2", qual, bkg_id=1)