def photo_spec_analysis(): # l, b, r; plate #, p_ra, p_dec, in Sgr, out Sgr path="/home/newbym2/Desktop/starfiles" wd="/home/newbym2/Dropbox/Research/sgrLetter/" files = glob.glob(path+"/stars*") plates = np.loadtxt(wd+"plate_stars.csv", delimiter=",") radius = 1.49 for i, plate in enumerate(plates[:,0]): print "starting plate", str(plate).split(".")[0], plates[i,3], plates[i,4] p_ra, p_dec = plates[i,1], plates[i,2] pl, pb = ac.EqTolb(p_ra, p_dec) print pl, pb stars = [] for f in files: data = open(f, "r") #np.loadtxt(f) #, delimiter="\t") print " starting file", f wedge = int(f.split("-")[1].split(".")[0]) skip = 0 for line in data: if skip < 1: skip =+ 1; continue if line.strip()=="": continue temp = line.split() ll, bb, g0 = float(temp[0]), float(temp[1]), ac.getg(float(temp[2])) if g0 < 20.0: continue if g0 > 20.5: continue del_l, del_b = (ll-pl), (bb-pb) dd = ma.sqrt( (del_l*del_l) + (del_b*del_b) ) if dd > radius: continue if ac.SDSS_primary(ll,bb,wedge,fmt="lb",low=9,high=27)==0: continue stars.append([ll,bb,g0]) data.close() svname = wd+"plate_"+str(plate).split(".")[0]+"_stars.csv" np.savetxt(svname, sc.array(stars), delimiter=",") print "saved {0}".format(svname)
def test_coords(): # test Li Jing's coord transforms #ra,dec,l,b,j0,k0,w10,w20,lambda,beta arcsec = 1.0 / 3600.0 data = np.loadtxt("/home/newbym/Desktop/Mgiant_wise_sgr.csv", delimiter=",", skiprows=1) ra, dec = data[:, 0], data[:, 1] l, b = data[:, 2], data[:, 3] lam, bet = data[:, 8], data[:, 9] badl, badb, badlam, badbet, badlam2, badbet2 = [], [], [], [], [], [] for i in range(data.shape[0]): new_l, new_b = ac.EqTolb(ra[i], dec[i]) if np.abs(new_l - l[i]) > arcsec: badl.append(new_l - l[i]) if np.abs(new_b - b[i]) > arcsec: badb.append(new_b - b[i]) new_lam, new_bet = ac.lb2sgr(l[i], b[i], 30.)[3:5] if np.abs(new_lam - lam[i]) > arcsec: badlam.append(lam[i]) if np.abs(new_bet - bet[i]) > arcsec: badbet.append(bet[i]) new_lam2, new_bet2 = ac.lb2sgr(new_l, new_b, 30.)[3:5] if np.abs(new_lam2 - lam[i]) > arcsec: badlam2.append(lam[i]) if np.abs(new_bet2 - bet[i]) > arcsec: badbet2.append(bet[i]) print data.shape[0] print np.mean(badl), np.mean(badb) print np.mean(badlam), np.mean(badbet), np.std(badbet) print np.mean(badlam2), np.mean(badbet2), np.std(badbet2) print "Done"
def process_spec(): pp = np.loadtxt("/home/newbym2/Dropbox/Research/sgrLetter/plate_stars.csv", delimiter=",") pl,pb = ac.EqTolb(pp[:,1], pp[:,2]) pd = 20.0 pX,pY,pZ, plsgr, pbsgr, pr_sgr = ac.lb2sgr(pl, pb, pd) norm = pp[:,3] + pp[:,4] out = [] for i in range(len(pp[:,0])): out.append([plsgr[i], pbsgr[i], pp[i,4]/norm[i], norm[i]]) np.savetxt("/home/newbym2/Dropbox/Research/sgrLetter/plate_data.csv", np.array(out), delimiter=",")
def get_bif(): bifra = [230.0, 220.0, 215.0, 210.0, 200.0, 190.0, 185.0, 180.0, 176.6, 173.3, 170.0, 160.0, 150.0, 140.0, 130.0] bifdec = [2.0, 4.0, 6.5, 9.0, 12.0, 15.0, 18.0, 21.0, 23.0, 25.0, 27.0, 28.0, 29.0, 31.0, 31.2] stripes = range(9,24) for i in range(len(bifra)): l,b = ac.EqTolb(bifra[i], bifdec[i]) for s in stripes: if test_primary(l,b,s,low=9,high=23) == 1: mu, nu = ac.lb2GC(l,b,s) print "RA {0}, dec {1}, is in stripe {2}; mu {3}, nu {4}".format(bifra[i], bifdec[i], s, mu, nu)
def shift_sgr(filein="streamgen_bif50Good.txt", fileout="stream_50shift.txt"): prime = [ -5.25124491e-03, 1.57254414e+00, -1.00216868e+02] second = [ -7.76551199e-03, 2.31737724e+00, -1.41690141e+02] #file1="/home/newbym2/Dropbox/Research/sgrLetter/"+filein file1="/home/newbym2/Dropbox/Research/sgrLetter/"+filein data = np.loadtxt(file1) for i in range(len(data[:,0])): data[i,0], data[i,1] = ac.lbToEq(data[i,0], data[i,1]) deldel = data[i,1] - (data[i,0]*data[i,0]*prime[0] + data[i,0]*prime[1] + prime[2]) data[i,1] = deldel + (data[i,0]*data[i,0]*second[0] + data[i,0]*second[1] + second[2]) data[i,0], data[i,1] = ac.EqTolb(data[i,0], data[i,1]) np.savetxt(fileout, data, delimiter=" ")
def sgr_rv_skyplot(): data = np.loadtxt("/home/newbym2/Dropbox/Research/sgrLetter/sgr_spec_all.csv", delimiter=",") #dered_g,dered_r,l,b,ELODIERVFINAL,ELODIERVFINALERR,plate,p_ra,p_dec g0, r0 = data[:,0], data[:,1] l, b = data[:,2], data[:,3] rv, rv_err = data[:,4], data[:,5] plates = data[:,6] p_ra, p_dec = data[:,7], data[:,8] d = ac.getr(g0) # Transform to vgsr from Yanny+ 2009 vgsr = ac.rv_to_vgsr(rv,l,b) X,Y,Z, lsgr, bsgr, r_sgr = ac.lb2sgr(l, b, d) pl,pb = ac.EqTolb(p_ra, p_dec) pd = 20.0*sc.ones(len(pl)) pX,pY,pZ, plsgr, pbsgr, pr_sgr = ac.lb2sgr(pl, pb, pd) mean, stdev, nsig = -118.233333, 30.222222, 1.0 #plates = plate_center_utils() locs = [] for i in range(len(data[:,0])): if g0[i] < 20.0: continue if g0[i] > 23.0: continue #if lsgr[i] > 230.0: continue locs.append([lsgr[i], bsgr[i], vgsr[i], plsgr[i], pbsgr[i] ]) locs = np.array(locs) sgr = [] for i in range(len(locs[:,0])): if locs[i,2] < (mean - stdev*nsig): continue if locs[i,2] > (mean + stdev*nsig): continue sgr.append([locs[i,0], locs[i,1]]) sgr = np.array(sgr) plt.figure() plt.scatter(locs[:,0], locs[:,1], c="k", s=1) plt.scatter(sgr[:,0], sgr[:,1], c='r', s=10) plt.scatter(locs[:,3], locs[:,4], c='b', s=10) plt.plot([190.0, 250.0, 250.0, 190.0],[10.0, 10.0, -10.0, -10.0], "b-") plt.plot([190.0, 320.0], [0.0, 0.0], "b--") plt.text(195.0, 33.0, "$\mu=$-118.2, $\sigma=$30.2\n{0} stars in {1}$\sigma$".format(len(sgr), nsig), fontsize=16) plt.xlim(190.0, 320.0) #plt.ylim(-75.0, 40.0) plt.ylim(40.0, -75.0) plt.xlabel(r"$\Lambda$", fontsize=16) plt.ylabel(r"$B$", fontsize=16) plt.show() """ hist, edges = np.histogram(sgr[:,1], bins=23, range=(-75.0, 40.0)) plt.bar(edges[:-1], hist, width=5.0, color="grey") plt.xlabel("B", fontsize=16) plt.text(-50.0, 25.0, "Stars within "+str(nsig)+r"$\sigma$ of mean $v_{\rm gsr}$; $\Lambda<230$", fontsize=12) plt.show()""" plt.close()
def convert(filename, RaDec=0): readfile = open(filename, "r") holder, MW = [], [] for line in readfile: if line[0] == "#": continue if line.strip() == "": continue holder = line.split(",") for i in range(len(holder)): holder[i] = eval(holder[i]) if RaDec == 1: l, b = coor.EqTolb(holder[0], holder[1]) holder[0], holder[1] = round(l, 6), round(b, 6) r = coor.getr(holder[2], 4.2) holder[2] = round(r, 6) MW.append(holder[:3]) readfile.close() nstars = len(MW) out = sc.array(MW) fi.write_data(out, filename[:-4] + "_new.txt", " ", str(nstars))