sherpa.astro.ui.unpack_table(filename, ncols=2, colkeys=None, dstype=<class 'sherpa.data.Data1D'>)

Unpack a FITS binary file into a data structure.

  • filename – Identify the file to read: a file name, or a data structure representing the data to use, as used by the I/O backend in use by Sherpa: a TABLECrate for crates, as used by CIAO, or a list of AstroPy HDU objects.

  • ncols (int, optional) – The number of columns to read in (the first ncols columns in the file). The meaning of the columns is determined by the dstype parameter.

  • colkeys (array of str, optional) – An array of the column name to read in. The default is None.

  • dstype (optional) – The data class to use. The default is Data1D and it is expected to be derived from sherpa.data.BaseData.


The class of the returned object is controlled by the dstype parameter.

Return type:


See also


Load a FITS binary file as a data set.


Set a data set.


Unpack an ASCII file into a data structure.


Read in the first two columns of the file, as the independent (X) and dependent (Y) columns of a data set:

>>> d = unpack_table('sources.fits')

Read in the first three columns (the third column is taken to be the error on the dependent variable):

>>> d = unpack_table('sources.fits', ncols=3)

Read in from columns ‘RMID’ and ‘SUR_BRI’:

>>> d = unpack_table('rprof.fits', colkeys=['RMID', 'SUR_BRI'])

The first three columns are taken to be the two independent axes of a two-dimensional data set (x0 and x1) and the dependent value (y):

>>> d = unpack_table('fields.fits', ncols=3,
...                  dstype=Data2D)

When using the Crates I/O library, the file name can include CIAO Data Model syntax, such as column selection. This can also be done using the colkeys parameter, as shown above:

>>> d = unpack_table('rprof.fits[cols rmid,sur_bri,sur_bri_err]',
...                  ncols=3)