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

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

A group is indicated by a sequence of flag values starting with 1 and then -1 for all the channels in the group, following the OGIP standard.

Changed in version 4.15.1: The filter is now re-calculated to match the new grouping scheme. If the data is already grouped then the filter will be displayed, so it can be reviewed to see if it remains sensible (as repeated changes to the grouping column can increase the number of noticed channels).

  • 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 grouping values of the same length as the data array.

  • bkg_id (int or str, optional) – Set to group 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 grouping flags for a PHA data set.


Turn on the grouping for a PHA data set.


Adaptively group to a minimum number of counts.


Adaptively group to a minimum signal-to-noise ratio.


Group into a fixed number of bins.


Group into a minimum number of counts per bin.


Group into a minimum signal-to-noise ratio.


Group into a fixed bin width.


Load the grouping scheme from a file and add to a PHA data set.


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


Turn off the grouping for 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 grouping column is taken from the OGIP standard, which says that +1 indicates the start of a bin, -1 if the channel is part of group, and 0 if the data grouping is undefined for all channels.


K. A. Arnaud, I. M. George & A. F. Tennant, “The OGIP Spectral File Format”


Copy the grouping array from data set 2 into the default data set and ensure it is applied:

>>> grp = get_grouping(2)
>>> set_grouping(grp)
>>> group()

Copy the grouping from data set “src1” to the source and the first background data set of “src2”:

>>> grp = get_grouping("src1")
>>> set_grouping("src2", grp)
>>> set_grouping("src2", grp, bkg_id=1)
>>> group("src2")