Extracted Spectra Format
There are 4 HDUs with EXTNAME=’FLUX’, ‘IVAR’, ‘WAVELENGTH’, and ‘RESOLUTION’
HDU EXTNAME=’FLUX’
2D image with flux[ispec, wavelength] in photons per Angstrom.
No fiber flat fielding or any calibrations have been applied.
Header keywords are propaged from the input image, with the following changes/additions:
NAXIS1 = Number of wavelength bins
NAXIS2 = Number of spectra
SPECMIN = First spectrum
SPECMAX = Last spectrum (inclusive)
NSPEC = NAXIS2 = Number of spectra
WAVEMIN = First wavelength [Angstroms]
WAVEMAX = Last wavelength [Angstroms]
SPECTER = Specter version
IN_PSF = Input spectral PSF
IN_IMG = Input image
HDU EXTNAME=’IVAR’
Inverse variance of extracted spectra, same dimensions as FLUX. Units (photons/A)^-2.
HDU EXTNAME=’WAVELENGTH’
1D array with the wavelength grid in Angstroms. NAXIS1 same as ‘FLUX’ and ‘IVAR’ HDUs.
HDU EXTNAME=’RESOLUTION’
3D array storing the per-fiber band-diagonal elements of the spectroperfectionism “Resolution Matrix”:
NAXIS1 = Number of wavelength bins
NAXIS2 = Number of diagonal bands
NAXIS3 = Number of spectra
The format is designed such that the following python code will create a sparse matrix representation of the resolution matrix R for spectrum i:
nwave = header['NAXIS1']
nband = header['NAXIS2']
offsets = range(nband//2,-nband//2,-1)
R = scipy.sparse.dia_matrix((data[i], offsets), (nwave,nwave))
Also see ex2d_ResMatrix.pdf for how this is created from the divide-and-conquer extractions.
Cross terms between fibers are not stored.