In [1]:
import numpy as np
from astropy.io import fits as pf
import matplotlib.pyplot as plt
In [9]:
#Import SpIES / SHELA data
data = '/Users/johntimlin/Complete_Clustering_Analysis/Clustering/Data_sets/HZLZ_combined_all_hzclassifiers_wphotoz_zspecflg.fits'
obs = pf.open(data)[1].data
Z = obs.zbest
imag = -2.5/np.log(10) * (np.arcsinh((obs.iflux/1e9)/(2*1.8e-10))+np.log(1.8e-10))
dx = ((Z >= 2.9) & (obs.dec>=-1.2) & (obs.dec<=1.2))
gdx = ((Z >= 2.9)&(imag >= 20.2) & (obs.dec>=-1.2) & (obs.dec<=1.2))
print 'median', np.median(Z[gdx])
print 'mean',np.mean(Z[gdx])
print 'max',np.max(Z[gdx])
print 'min',np.min(Z[gdx])
In [12]:
#Generate the redshift histogram for the faint objects
bins = np.arange(2.9,5.3,0.1)
print bins
fnum, bins = np.histogram(Z[gdx],bins)
anum, bins = np.histogram(Z[dx],bins)
plt.figure(1)
plt.plot(bins[:-1],fnum,linestyle = 'steps-mid', label = 'faint')
plt.plot(bins[:-1],anum,linestyle = 'steps-mid', label = 'all')
plt.legend()
plt.show()
In [33]:
#Split the redshifts into their appropriate bins
fullz = []
for i in range(len(bins)-1):
zfull = Z[dx]
lowx = bins[i]
highx = bins[i+1]
cdx = (zfull>=lowx) & (zfull < highx)
frame = obs[dx][cdx]
fullz.append(frame)
In [79]:
print np.shape(fullz)
print np.shape(fnum)
In [77]:
#Pull a random integer between 0 and 1 to
import random
rands = random.sample(range(0,293),fnum[0])
print rands
In [127]:
Flux= []
RA = []
DEC= []
Znew = []
for j in range(len(fullz)):
vals = fnum[j]
positions = random.sample(range(0,len(fullz[j])),vals)
Flux.append(fullz[j][positions].iflux)
RA.append(fullz[j][positions].ra)
DEC.append(fullz[j][positions].dec)
Znew.append(fullz[j][positions].zbest)
In [128]:
#Flatten the arrays
zflat = [i for lst in Znew for i in lst]
ra = [i for lst in RA for i in lst]
dec = [i for lst in DEC for i in lst]
iflux = [i for lst in Flux for i in lst]
#Generate the redshift histogram for the faint objects
nnum, bins = np.histogram(zflat,bins)
plt.figure(1)
plt.plot(bins[:-1],fnum,linestyle = 'steps-mid', label = 'faint')
plt.plot(bins[:-1],nnum,linestyle = 'steps-mid', label = 'all')
plt.legend()
plt.show()
In [134]:
imagcut = -2.5/np.log(10) * (np.arcsinh((np.asarray(iflux)/1e9)/(2*1.8e-10))+np.log(1.8e-10))
plt.figure(3)
plt.hist(imagcut,bins=30)
plt.hist(imag[gdx],bins=20)
plt.show()
In [135]:
tbhdu=pf.BinTableHDU.from_columns([pf.Column(name='ra',format='D',array=np.asarray(ra)), pf.Column(name='dec',format='D',array=np.asarray(dec)),pf.Column(name='zbest',format='D',array=np.asarray(zflat))])
prihdr=pf.Header()
prihdr['COMMENT']="Redshift matched sample"
prihdu=pf.PrimaryHDU(header=prihdr)
hdulist=pf.HDUList([prihdu,tbhdu])
hdulist.writeto('HZLZ_bright_faint_zmatched.fits')
In [ ]: