In [1]:
import datapath
import fitsio
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/stack_goodSel_13801.fits', ext=1)
figure(figsize=(10,6))
plot(data['lambda']+0.585, data['fluxMedian'], drawstyle='steps')
xlim(2580, 2630)
ylim(0.05,0.25)
plot([2586.65, 2586.65], [0.05, 0.25], 'g')
plot([2600.17, 2600.17], [0.05, 0.25], 'g')
plot([2626.45, 2626.45], [0.05, 0.25], 'r')
plot([2612.65, 2612.65], [0.05, 0.25], 'r')
In [2]:
datapath.sdss_path()
Out[2]:
In [3]:
import fitsio
In [4]:
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/stack_goodSel_13801.fits')
In [5]:
data.dtype.fields
In [6]:
data.dtype
Out[6]:
In [7]:
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/stack_goodSel_13801.fits', ext=2)
In [68]:
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/stack_goodSel_13801.fits', ext=1)
In [9]:
data.dtype
Out[9]:
In [10]:
data.shape
Out[10]:
In [69]:
figure(figsize=(10,6))
plot(data['lambda']+0.585, data['fluxMedian'], drawstyle='steps')
xlim(2790, 2830)
ylim(0.05,0.25)
plot([2796.65, 2796.65], [0.05, 0.25], 'g')
plot([2803.17, 2803.17], [0.05, 0.25], 'g')
plot([2626.45, 2626.45], [0.05, 0.25], 'r')
plot([2612.65, 2612.65], [0.05, 0.25], 'r')
Out[69]:
In [33]:
figure(figsize=(10,6))
plot(data['lambda']+0.585, data['fluxMedian'], drawstyle='steps')
xlim(2580, 2630)
ylim(0.05,0.25)
plot([2586.65, 2586.65], [0.05, 0.25], 'g')
plot([2600.17, 2600.17], [0.05, 0.25], 'g')
plot([2626.45, 2626.45], [0.05, 0.25], 'r')
plot([2612.65, 2612.65], [0.05, 0.25], 'r')
Out[33]:
In [32]:
figure(figsize=(10,6))
plot(data['lambda']+0.57, data['fluxMedian'], drawstyle='steps')
xlim(2335, 2410)
ylim(0.05,0.25)
plot([2344.21, 2344.21], [0.05, 0.25], 'g')
plot([2374.46, 2374.46], [0.05, 0.25], 'g')
plot([2382.77, 2382.77], [0.05, 0.25], 'g')
plot([2365.55, 2365.55], [0.05, 0.25], 'r')
plot([2396.35, 2396.35], [0.05, 0.25], 'r')
Out[32]:
In [25]:
figure(figsize=(10,6))
plot(arange(10), arange(10), drawstyle='steps')
Out[25]:
In [27]:
wave = data['lambda']
tmp = wave[(wave>2500) & (wave<2600)]
In [28]:
tmp
Out[28]:
In [29]:
tmp[1:]-tmp[:-1]
Out[29]:
In [36]:
figure(figsize=(20,6))
plot(data['lambda']+0.6, data['fluxMedian'], drawstyle='steps')
xlim(2000, 7500)
ylim(0.07,2)
yscale('log')
In [1]:
import datapath
import fitsio
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/stack_goodSel_13801.fits', ext=1)
In [6]:
figure(figsize=(10,6))
plot(data['lambda']+0.585, data['fluxMedian'], drawstyle='steps')
xlim(4310, 4430)
ylim(0.15,0.45)
plot([4341, 4341], [0.15, 0.45], 'g')
plot([4363, 4363], [0.15, 0.45], 'r')
Out[6]:
In [13]:
figure(figsize=(10,6))
plot(data['lambda']+0.585, data['fluxMedian'], drawstyle='steps')
xlim(2580, 2630)
ylim(0.05,0.25)
plot([2586.65, 2586.65], [0.05, 0.25], 'g')
plot([2600.17, 2600.17], [0.05, 0.25], 'g')
plot([2626.45, 2626.45], [0.05, 0.25], 'r')
plot([2612.65, 2612.65], [0.05, 0.25], 'r')
text(2586.65+0.5, 0.22, 'Fe II', color='green')
text(2600.17+0.5, 0.22, 'Fe II', color='green')
text(2626.45+0.5, 0.07, 'Fe II*', color='red')
text(2612.65+0.5, 0.07, 'Fe II*', color='red')
Out[13]:
In [14]:
figure(figsize=(10,6))
plot(data['lambda']+0.57, data['fluxMedian'], drawstyle='steps')
xlim(2335, 2410)
ylim(0.05,0.25)
plot([2344.21, 2344.21], [0.05, 0.25], 'g')
plot([2374.46, 2374.46], [0.05, 0.25], 'g')
plot([2382.77, 2382.77], [0.05, 0.25], 'g')
plot([2365.55, 2365.55], [0.05, 0.25], 'r')
plot([2396.35, 2396.35], [0.05, 0.25], 'r')
text(2344.21+0.5, 0.22, 'Fe II', color='green')
text(2374.46+0.5, 0.22, 'Fe II', color='green')
text(2382.77+0.5, 0.22, 'Fe II', color='green')
text(2365.55+0.5, 0.07, 'Fe II*', color='red')
text(2396.35+0.5, 0.07, 'Fe II*', color='red')
Out[14]:
In [41]:
import datapath
import fitsio
data = fitsio.read('/Users/Benjamin/AstroData/SDSS/eBOSS/spAll-ELG-v5.4-zQ.fits', ext=1)
In [42]:
data.size
Out[42]:
In [18]:
'PLUG_RA' in data.dtype.fields
Out[18]:
In [30]:
import ebossspec
In [33]:
reload(ebossspec.sdssspec)
ebossspec.rest_allspec()
In [45]:
data1.size
Out[45]:
In [16]:
objs_dtype = [('PLATE', 'i4'),
('MJD', 'i4'),
('FIBER', 'i4'),
('Z', 'f8')]
objs = np.zeros(nobj, dtype=objs_dtype)
In [2]:
30000.*10000.*32./1024./1024./1024.
Out[2]:
In [1]:
import ebossspec, sdssspec, datapath, fitsio
import cookb_signalsmooth as cbs
In [2]:
masterwave, allflux, allivar = ebossspec.rest_allspec_readin()
In [3]:
objs_ori = ebossspec.elg_readin()
nobj = objs_ori.size
In [9]:
path = datapath.sdss_path()+'/v5_7_6'
In [38]:
i = 6
platein = objs_ori[i]['PLATE_1']
fiberin = objs_ori[i]['FIBERID_1']
mjdin = objs_ori[i]['MJD']
output = ('loglam', 'flux', 'ivar',)
thisdata = sdssspec.read_spec(platein, mjdin, fiberin, path, output)
In [39]:
figure(figsize=(10,6))
plot(power(10., thisdata['loglam']), cbs.smooth(thisdata['flux'], window_len=30), 'b')
plot(masterwave*(1.+objs_ori[i]['Z']), cbs.smooth(allflux[:,i]/(1.+objs_ori[i]['Z']), window_len=30), 'r')
xlim(3600, 10400); ylim(-1, 5)
Out[39]:
In [37]:
figure(figsize=(10,6))
plot(power(10., thisdata['loglam']), cbs.smooth(thisdata['ivar'], window_len=30), 'b')
plot(masterwave*(1.+objs_ori[i]['Z']), cbs.smooth(allivar[:,i]*(1.+objs_ori[i]['Z'])**2, window_len=30), 'r')
xlim(3600, 10400); ylim(-1, 20)
print(objs_ori[i]['Z'], (1.+objs_ori[i]['Z'])*1800., (1.+objs_ori[i]['Z'])*3727.)
In [44]:
ii = (where(objs_ori['PLATE_1']==7247))[0]
objs_ori[ii]['FIBERID_1'].shape
Out[44]:
In [68]:
platein = objs_ori[0]['PLATE_1']
fiberin = objs_ori[0]['FIBERID_1']
fiberin = [2, 3]
mjdin = objs_ori[0]['MJD']
output = ('loglam', 'flux', 'ivar',)
thisdata = sdssspec.read_spec(platein, mjdin, fiberin, path, output)
In [20]:
import fitsio
filename = '/Users/Benjamin/AstroData/SDSS/v5_7_6/spPlate-8124-56954.fits'
data = fitsio.read(filename, rows=[1,11], ext=1)
print(data.shape) # This gives (1000, 4653) but not (2, 4653) as I want
fits = fitsio.FITS(filename)
data = fits[1].read(rows=[1,11], ext=1)
print(data.shape)
data = fits[1][1:11,:]
print(data.shape)
In [28]:
fiber = array([30, 40, 50])
data = (fits[1].read())[fiber, :]
data.shape
Out[28]:
In [4]:
index_wave = searchsorted(masterwave, [2300., 4001.])
In [19]:
ii = (where(logical_and(logical_and(allivar[index_wave[0], :]>0, allivar[index_wave[1], :]>0), objs_ori['zGOOD']==1)))[0]
In [20]:
ii.shape
Out[20]:
In [21]:
xx = allflux[index_wave[0]:index_wave[1], ii]
In [22]:
from scipy.stats import nanmean, nanmedian
import cosmology as cosmo
In [61]:
xmean = nanmean(xx,1)
In [53]:
xmean.shape
Out[53]:
In [54]:
xx.shape
Out[54]:
In [72]:
figure(figsize=(10,6))
plot(masterwave[index_wave[0]:index_wave[1]], xmean, drawstyle='steps')
xlim(2750, 2860); ylim(0.2,0.55)
Out[72]:
In [8]:
index_oii = searchsorted(masterwave, 3727.)
index_oii
Out[8]:
In [82]:
oiisum = sum(allflux[index_oii-10:index_oii+10, ii], axis=0)
oiilum = oiisum*power(cosmo.luminosity_distance(objs_ori[ii]['Z']), 2)
oii_left = sum(allflux[index_oii-25:index_oii-15, ii], axis=0)
oii_right = sum(allflux[index_oii+15:index_oii+25, ii], axis=0)
oii_ew = oiisum/(oii_left+oii_right)*2.
In [85]:
figure(figsize=(10,6))
plot(objs_ori[ii]['Z'], oii_ew, '.')
Out[85]:
In [86]:
sort_index = argsort(oii_ew)
In [87]:
xmean1 = nanmean(xx[:,sort_index[100:2000]], 1)
xmean2 = nanmean(xx[:,sort_index[1000:3000]], 1)
xmean3 = nanmean(xx[:,sort_index[2000:4000]], 1)
xmean4 = nanmean(xx[:,sort_index[3000:4000]], 1)
xmean5 = nanmean(xx[:,sort_index[4000:-100]], 1)
xmean = nanmean(xx, 1)
In [90]:
figure(figsize=(10,6))
plot(masterwave[index_wave[0]:index_wave[1]]+0.5, xmean5, 'b', drawstyle='steps')
xlim(2580, 2635); ylim(0.1,1.1)
plot(masterwave[index_wave[0]:index_wave[1]]+0.5, xmean1, 'r', drawstyle='steps')
#plot(masterwave[index_wave[0]:index_wave[1]]+0.5, xmean*1.8, 'g', drawstyle='steps')
plot([2586.65, 2586.65], [0.0, 1.25], 'g')
plot([2600.17, 2600.17], [0.0, 1.25], 'g')
plot([2626.45, 2626.45], [0.0, 1.25], 'r')
plot([2612.65, 2612.65], [0.0, 1.25], 'r')
text(2586.65+0.5, 1.15, 'Fe II', color='green')
text(2600.17+0.5, 1.15, 'Fe II', color='green')
text(2626.45+0.5, 0.07, 'Fe II*', color='red')
text(2612.65+0.5, 0.07, 'Fe II*', color='red')
Out[90]:
In [98]:
figure(figsize=(10,6))
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean5, 'b', drawstyle='steps')
xlim(3680, 3780); ylim(0.,3.5)
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean1*0.5, 'r', drawstyle='steps')
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean*0.6, 'g', drawstyle='steps')
plot([ 3727.092, 3727.092], [0.0, 3.5], 'k')
plot([3729.875, 3729.875], [0.0, 3.5], 'k')
Out[98]:
In [105]:
figure(figsize=(10,6))
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean5, 'b', drawstyle='steps')
xlim(2750, 2850); ylim(0.15,0.5)
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean1*0.6, 'r', drawstyle='steps')
plot(masterwave[index_wave[0]:index_wave[1]]+0.6, xmean*0.8, 'g', drawstyle='steps')
plot([2796.75, 2796.75], [0.0, 3.5], 'k')
plot([2803.27, 2803.27], [0.0, 3.5], 'k')
Out[105]:
In [ ]: