Beispiel #1
0
def search_mocs(mocname, mocfile):
    conn = get_conn()
    cur = conn.cursor()
    moc = MOCFinder(mocfile)
    conn.execute("""insert into mocs (moc_name, moc_file)
                    values ('%s', '%s')""" % (mocname, mocfile))
    for uid, ra, dec in cur.execute("""
        select uid, ra, dec from clusters order by uid""").fetchall():
        if moc.is_in(ra, dec):
            conn.execute("""insert into cluster_in_moc (uid, moc_name)
                            values (%s, '%s')""" % (uid, mocname))
        print mocname, uid
    conn.commit()
    cur.close()
cosphi = np.cos(phirange)
sinphi = np.sin(phirange)

zrange = np.linspace(-20., 20., num=Zsize)

for ir, r in enumerate(np.linspace(0.1, 20., num=Rsize)):
    x0 = r*cosphi - R0
    y0 = r*sinphi
    r0 = np.sqrt(r**2 + R0**2 - 2*r*R0*cosphi)
    l = np.arctan2(y0/r0, x0/r0)
    print ir
    for iphi, phi in enumerate(phirange):
        bval = np.zeros(Zsize)
        r1 = np.sqrt(r0[iphi]**2 + zrange**2)
        b = np.degrees(np.arctan2(-zrange/r1, r0[iphi]/r1))
        ll = np.degrees(np.ones(Zsize)*l[iphi])
        for iz, coo in enumerate(np.array(gal2eq(ll, b)).T):
            ra, de = coo
            #print ra, de
            if moc.is_in(ra, de):
                incmap[ir, iz] += 1
incmap = incmap / float(PhiSize)
np.savetxt('%s.map' % sys.argv[1], incmap)

            
fig, ax = plt.subplots()
ax.imshow(incmap.T, cmap=cm.jet, interpolation='none')
plt.yticks(xrange(0, 40, 5), ['%.2f' % -z for z in zrange[::5]])
plt.xlabel('R (kpc)')
plt.ylabel('Z (kpc)')
plt.savefig('%s.map.png' % sys.argv[1], format='png')