Source code for pypeit.scripts.lowrdx_skyspec

"""
This script generates a sky spectrum from a LowRedux IDL save file

.. include common links, assuming primary doc root is up one directory
.. include:: ../include/links.rst
"""

from pypeit.scripts import scriptbase


[docs] class LowRDXSkySpec(scriptbase.ScriptBase):
[docs] @classmethod def get_parser(cls, width=None): parser = super().get_parser(description='Read an IDL save file with a LowRedux sky ' 'spectrum and convert it into a pypeit file.', width=width) parser.add_argument('lowrdx_sky', type=str, default=None, help = 'LowRedux Sky Spectrum (IDL save file)') parser.add_argument('new_file', type=str, default=None, help='PYPIT FITS sky spectrum') return parser
[docs] @classmethod def main(cls, args): from scipy.io.idl import readsav from astropy.io import fits # Initialize the log cls.init_log(args) # Read lrdx_sky = readsav(args.lowrdx_sky) wave = lrdx_sky['wave_calib'] sky = lrdx_sky['sky_calib'] # # Write # prihdu = fits.PrimaryHDU(sky) # prihdu.name = 'FLUX' # hdul = fits.HDUList([prihdu]) # wvhdu = fits.ImageHDU(wave) # hdul.append(wvhdu) # # prihdu.header['NSPEC'] = 1 # prihdu.header['NPIX'] = len(sky) # hdul.writeto(args.new_file, overwrite=True) # Write hdr = fits.Header() hdr['NSPEC'] = (1, 'Number of spectra') hdr['NPIX'] = (len(sky), 'Number of pixels per spectrum') hdu = fits.HDUList([ fits.PrimaryHDU(data=sky, header=hdr), fits.ImageHDU(data=wave, name='WAVE') ]) hdu[0].name = 'FLUX' hdu.writeto(args.new_file, overwrite=True)