In [33]:
%matplotlib inline
In [28]:
# imports
from pkg_resources import resource_filename
from importlib import reload
from matplotlib import pyplot as plt
import os
import numpy as np
from scipy.io import readsav
from astropy import units
from astropy.table import Table
from linetools import utils as ltu
from linetools.spectra import xspectrum1d as xspec
from pypeit import utils
from pypeit.core.wave import airtovac
from pypeit.core.wavecal import waveio
from pypeit.core.wavecal import autoid
from pypeit.core.wavecal import templates, qa
from pypeit.spectrographs import util
In [30]:
xidl_file = '/home/xavier/local/idl/xidl/Spec/Longslit/calib/linelists/lris_blue_400_d560.sav'
In [31]:
xidl_dict = readsav(xidl_file)
In [32]:
nspec = xidl_dict['archive_arc'].shape[0]
npix = xidl_dict['archive_arc'].shape[1]
nspec, npix
Out[32]:
In [33]:
xidl_dict['calib']['FUNC']
Out[33]:
In [54]:
slit = 19 # blue; ends at 5510
slit = 14 # very red
calib = xidl_dict['calib'][slit]
wv_air = templates.cheby_val(calib['FFIT'], np.arange(npix),
calib['NRM'], calib['NORD'])
wv_vac = airtovac(wv_air*units.AA)
In [55]:
plt.clf()
ax=plt.gca()
ax.plot(wv_vac, xidl_dict['archive_arc'][slit])
plt.show()
In [110]:
xidl_file = '/home/xavier/local/idl/xidl/Spec/Longslit/calib/linelists/lris_blue_1200.sav'
xidl_dict = readsav(xidl_file)
In [111]:
nspec = xidl_dict['archive_arc'].shape[0]
npix = xidl_dict['archive_arc'].shape[1]
nspec, npix
Out[111]:
In [60]:
xidl_dict['calib']['FUNC'][0]
Out[60]:
In [89]:
slit = 19 # blue
slit = 7 # red
slit = 40 # super blue
slit = 44 # reddest
calib = xidl_dict['calib'][slit]
wv_air = templates.cheby_val(calib['FFIT'], np.arange(npix),
calib['NRM'], calib['NORD'])
wv_vac = airtovac(wv_air*units.AA)
In [90]:
plt.clf()
ax=plt.gca()
ax.plot(wv_vac, xidl_dict['archive_arc'][slit])
plt.show()
In [171]:
xidl_file = '/home/xavier/local/idl/xidl/Spec/Longslit/calib/linelists/deimos_600.sav'
xidl_dict = readsav(xidl_file)
In [172]:
nspec = xidl_dict['archive_arc'].shape[0]
npix = xidl_dict['archive_arc'].shape[1]
nspec, npix
Out[172]:
In [173]:
xidl_dict['calib']['FUNC']
Out[173]:
In [186]:
# Standard
slit = 0 # blue chip
#slit = 1 # red chip
calib = xidl_dict['calib'][slit]
wv_air = templates.poly_val(calib['FFIT'], np.arange(npix),
calib['NRM'])
wv_vac = airtovac(wv_air*units.AA)
wv_vac[0], wv_vac[-1]
Out[186]:
In [188]:
plt.clf()
ax=plt.gca()
ax.plot(wv_vac, xidl_dict['archive_arc'][slit])
plt.show()
In [192]:
outpath=resource_filename('pypeit', 'data/arc_lines/reid_arxiv')
outroot='keck_deimos_830G.fits'
outfile = os.path.join(outpath, outroot)
In [193]:
tbl = Table.read(outfile)
In [195]:
plt.clf()
ax = plt.gca()
ax.plot(tbl['wave'], tbl['flux'])
plt.show()
In [5]:
mwv_file = os.path.join(os.getenv('PYPEIT_DEV'), 'dev_algorithms/wavelengths/template_files/Keck_DEIMOS/1200G',
'MasterWaveCalib_A_1_07b.json')
In [6]:
wv_vac, spec = templates.pypeit_arcspec(mwv_file, 0)
In [7]:
plt.clf()
ax = plt.gca()
ax.plot(wv_vac, spec)
plt.show()
In [9]:
keck_deimos = util.load_spectrograph('keck_deimos')
In [10]:
par = keck_deimos.default_pypeit_par()
In [16]:
par['calibrations']['wavelengths']
Out[16]:
In [21]:
ok_mask = np.array([0])
det = 7
binspec = 1
templ_dict = dict(wave=wv_vac, spec=spec, bin=1)
In [26]:
reload(autoid)
wv_calib = autoid.full_template(spec, par['calibrations']['wavelengths'], ok_mask, det, binspec,
template_dict=templ_dict)
In [27]:
wv_calib
Out[27]:
In [34]:
qa.arc_fit_qa(wv_calib['0'])
In [35]:
jdict = ltu.jsonify(wv_calib)
In [38]:
outfile = os.path.join(os.getenv('PYPEIT_DEV'), 'dev_algorithms/wavelengths/template_files/Keck_DEIMOS/1200G',
'MasterWaveCalib_A_1_07c.json')
In [39]:
ltu.savejson(outfile, jdict)
In [ ]: