Esempio n. 1
0
def read_map_bands(fname, read_bands):
    if read_bands:
        i_map = -1
    else:
        i_map = ['g', 'r', 'i', 'z', 'y'].index(o.band)
    fskb, temp = fm.read_flat_map(fname, i_map=i_map)
    fm.compare_infos(fsk, fskb)
    if i_map != -1:
        temp = [temp]

    return temp
Esempio n. 2
0
    def __init__(self,
                 hdu_list,
                 i_bin,
                 fsk,
                 mask_binary,
                 masked_fraction,
                 contaminants=None):

        #Read numbers map
        self.fsk, nmap = fm.read_flat_map(None, hdu=hdu_list[2 * i_bin])

        #Read N(z)
        self.nz_data = hdu_list[2 * i_bin + 1].data.copy()

        #Make sure other maps are compatible
        fm.compare_infos(self.fsk, fsk)
        if not self.fsk.is_map_compatible(mask_binary):
            raise ValueError("Mask size is incompatible")
        if not self.fsk.is_map_compatible(masked_fraction):
            raise ValueError("Mask size is incompatible")
        if contaminants is not None:
            for ic, c in enumerate(contaminants):
                if not self.fsk.is_map_compatible(c):
                    raise ValueError(
                        "%d-th contaminant template is incompatible" % ic)

        #Translate into delta map
        self.weight = masked_fraction * mask_binary
        goodpix = np.where(mask_binary > 0.1)[0]
        ndens = np.sum(nmap * mask_binary) / np.sum(self.weight)
        self.ndens_perad = ndens / (np.radians(self.fsk.dx) *
                                    np.radians(self.fsk.dy))
        self.delta = np.zeros_like(self.weight)
        self.delta[goodpix] = nmap[goodpix] / (ndens *
                                               masked_fraction[goodpix]) - 1

        #Reshape contaminants
        conts = None
        if contaminants is not None:
            conts = [[c.reshape([self.fsk.ny, self.fsk.nx])]
                     for c in contaminants]

        #Form NaMaster field
        self.field = nmt.NmtFieldFlat(
            np.radians(self.fsk.lx),
            np.radians(self.fsk.ly),
            self.weight.reshape([self.fsk.ny, self.fsk.nx]),
            [self.delta.reshape([self.fsk.ny, self.fsk.nx])],
            templates=conts)
Esempio n. 3
0
nbins = len(data_hdus) // 2

os.system('mkdir -p ' + o.prefix_out)

print("Reading mask")
#Create depth-based mask
fsk, mp_depth = fm.read_flat_map(o.prefix_in + "_10s_depth_mean_fluxerr.fits",
                                 2)
mp_depth[np.isnan(mp_depth)] = 0
mp_depth[mp_depth > 40] = 0
msk_depth = np.zeros_like(mp_depth)
msk_depth[mp_depth >= o.depth_cut] = 1

#Read masked fraction
fskb, mskfrac = fm.read_flat_map(o.prefix_in + '_MaskedFraction.fits', i_map=0)
fm.compare_infos(fsk, fskb)

#Create BO-based mask
msk_bo = np.zeros_like(mskfrac)
msk_bo[mskfrac > o.mask_thr] = 1
msk_t = msk_bo * msk_depth * mskfrac

for ibin in range(nbins):
    print("Bin %d" % ibin)
    data_hdu = data_hdus[2 * ibin]
    for j, cm in enumerate(cont_maps):
        print(" " + cm)
        path_sys = o.prefix_in + '_%s.fits' % (cm)
        xsys, xsys_resc, mean_sys, std_sys = check_sys(data_hdu, path_sys,
                                                       msk_t, o.nbins_sys)
        if len(xsys) > 1: