sherpa.astro.ui.ungroup(id=None, bkg_id=None)

Turn off the grouping for a PHA data set.

A PHA data set can be grouped either because it contains grouping information, which is automatically applied when the data is read in with load_pha or load_data, or because the group_xxx set of routines has been used to dynamically re-group the data. The ungroup function removes this grouping (however it was created).

  • 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.

  • bkg_id (int or str, optional) – Set to ungroup 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.


Turn on the grouping for a PHA data set.


PHA data is often grouped to improve the signal to noise of the data, by decreasing the number of bins, so that a chi-square statistic can be used when fitting the data. After calling ungroup, anything that uses the data set - such as a plot, fit, or error analysis - will use the original data values. Models should be re-fit if ungroup is called; this may require a change of statistic depending on the counts per channel in the spectrum.

The grouping is implemented by separate arrays to the main data - the information is stored in the grouping and quality arrays of the PHA data set - so that a data set can be grouped and ungrouped many times, without losing information.

The grouped field of a PHA data set is set to False when the data is not grouped.

If subtracting the background estimate from a data set, the grouping applied to the source data set is used for both source and background data sets.


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


Ungroup the data in the default data set:

>>> ungroup()
>>> get_data().grouped

Ungroup the first background component of the ‘core’ data set:

>>> ungroup('core', bkg_id=1)
>>> get_bkg('core', bkg_id=1).grouped