Exemplo n.º 1
0
def incomplete_shear_preprocess(zmin, zmax):

    shear = fitsio.read("source_v2.fits",
                        columns=[
                            "ra_gal", "dec_gal", "observed_redshift_gal",
                            "gamma1", "gamma2"
                        ])
    ra, dec, z = shear["ra_gal"], shear["dec_gal"], shear[
        "observed_redshift_gal"]
    g1, g2 = shear["gamma1"], shear["gamma2"]

    dz = 0.05 * (1 + z)  #redshift uncertainties
    z = np.random.normal(z, dz)  #perturbed redshifts

    mask = (z > zmax + 0.1)
    z = z[mask]
    ra, dec = ra[mask], dec[mask]
    g1, g2 = g1[mask], g2[mask]

    print("length of the catalog after applying the cut", len(ra))
    coord = np.vstack([ra, dec]).T
    centers = np.loadtxt("flagship_jk_centers_v2.txt")
    NJK = centers.shape[0]
    print("Segmentation begins!")
    gal_labels_jk = kmeans_radec.find_nearest(coord, centers)
    print("Done with assigning jacknife labels to galaxies")

    gals = {
        "RA": ra,
        "DEC": dec,
        "gamma1": g1,
        "gamma2": g2,
        "redshift": z,
        "JK_LABEL": gal_labels_jk
    }

    fits = FITS('data/incomplete_shear_zmax_' + str(round(zmax, 1)) + '.fits',
                'rw')
    fits.write(gals,
               names=["RA", "DEC", "gamma1", "gamma2", "redshift", "JK_LABEL"])
    fits.close()

    for jk in range(len(centers)):

        gal_jk_mask = gals["JK_LABEL"] != jk
        gal_jk = {
            "RA": ra[gal_jk_mask],
            "DEC": dec[gal_jk_mask],
            "gamma1": g1[gal_jk_mask],
            "gamma2": g2[gal_jk_mask],
            "redshift": z[gal_jk_mask]
        }

        fits = FITS(
            'data/incomplete_shear_zmax_' + str(round(zmax, 1)) + '_jk_' +
            str(jk) + '.fits', 'rw')
        fits.write(gal_jk, names=["RA", "DEC", "gamma1", "gamma2", "redshift"])
        fits.close()

    return None
Exemplo n.º 2
0
def mcalcat_write(cat, path):
    from os import remove
    if exists(path):
        remove(path)
    fits = FITS(path, 'rw')
    for c in cat:
        fits.write(c.reset_index().to_records(index=False))
    fits.close()
Exemplo n.º 3
0
def write_fit(data, names, filename):
    import fitsio
    from fitsio import FITS, FITSHDR
    import os.path
    if not os.path.isfile(filename):
        fits = FITS(filename, 'rw')
        fits.write(data, names=names, clobber=False)
        print("Writing file: ", filename)
    else:
        fits = FITS(filename, 'rw')
        fits[-1].append(data)
        print("Apending File: ", filename)
Exemplo n.º 4
0
def random_preprocess():

    randoms = fitsio.read('flagship_randoms_v2.fits')
    ra, dec, jk_label = randoms["RA"], randoms["DEC"], randoms["JK_LABEL"]
    centers = np.loadtxt("flagship_jk_centers_v2.txt")

    for jk in range(len(centers)):

        jk_mask = jk_label != jk
        random_jk = {"RA": ra[jk_mask], "DEC": dec[jk_mask]}

        fits = FITS('data/random_jk_' + str(jk) + '.fits', 'rw')
        fits.write(random_jk, names=["RA", "DEC"])
        fits.close()

    return None
Exemplo n.º 5
0
def incomplete_gal_preprocess(zmin, zmax):

    lens = fitsio.read("lens.fits",
                       columns=["ra_gal", "dec_gal", "observed_redshift_gal"])
    ra, dec, z = lens["ra_gal"], lens["dec_gal"], lens["observed_redshift_gal"]
    mask = (z > zmin) & (z < zmax)
    ra, dec, z = ra[mask], dec[mask], z[mask]

    random_choice = np.random.choice(np.arange(len(ra)),
                                     int(0.45 * len(ra)),
                                     replace=False)
    ra, dec, z = ra[random_choice], dec[random_choice], z[random_choice]

    print("length of the catalog after applying the cut", len(ra))
    coord = np.vstack([ra, dec]).T
    centers = np.loadtxt("flagship_jk_centers_v2.txt")
    NJK = centers.shape[0]
    print("Segmentation begins!")
    gal_labels_jk = kmeans_radec.find_nearest(coord, centers)
    print("Done with assigning jacknife labels to galaxies")

    gals = {"RA": ra, "DEC": dec, "redshift": z, "JK_LABEL": gal_labels_jk}

    fits = FITS('data/incomplete_gal_zmax_' + str(round(zmax, 1)) + '.fits',
                'rw')
    fits.write(gals, names=["RA", "DEC", "redshift", "JK_LABEL"])
    fits.close()

    for jk in range(len(centers)):

        gal_jk_mask = gals["JK_LABEL"] != jk
        gal_jk = {
            "RA": ra[gal_jk_mask],
            "DEC": dec[gal_jk_mask],
            "redshift": z[gal_jk_mask]
        }

        fits = FITS(
            'data/incomplete_gal_zmax_' + str(round(zmax, 1)) + '_jk_' +
            str(jk) + '.fits', 'rw')
        fits.write(gal_jk, names=["RA", "DEC", "redshift"])
        fits.close()

    return None
Exemplo n.º 6
0
 def write_maps(self, maps, fname):
     f = FITS(fname, 'rw', clobber=True)
     f.write([self.goodpix], names=['pixels'])
     names = ['map_%d' % i for i in range(len(maps))]
     f.write(list(maps), names=names)
     f.close()
Exemplo n.º 7
0
 def write_maps(self, maps, fname):
     f = FITS(fname, 'rw', clobber=True)
     f.write(self.goodpix)
     f.write(maps)
     f.close()