Пример #1
0
 def test_covdict_apply_mask(self):
     msk = np.random.randint(0, 2, 2 * mpisize).reshape(1, -1)
     mskdict = Masks()
     comm.Bcast(msk, root=0)
     mskdict.append(('test', 'nan', str(2 * mpisize), 'nan'), msk, True)
     cov = np.random.rand(2, 2 * mpisize)
     covdict = Covariances()
     covdict.append(('test', 'nan', str(2 * mpisize), 'nan'), cov, True)
     covdict.apply_mask(mskdict)
     pix_num = msk.sum()
     self.assertTrue(('test', 'nan', str(pix_num), 'nan') in covdict.keys())
 def test_covdict_apply_mask(self):
     msk = np.array([0, 1, 0, 1, 1]).reshape(1, 5)
     mskdict = Masks()
     mskdict.append(('test', 'nan', '5', 'nan'), msk, True)
     cov_field = Field.from_global_data(RGSpace(shape=(5, 5)),
                                        np.random.rand(5, 5))
     arr = cov_field.local_data
     covdict = Covariances()
     covdict.append(('test', 'nan', '5', 'nan'), arr, True)
     covdict.apply_mask(mskdict)
     arr = np.delete(cov_field.to_global_data(), [0, 2], 0)
     arr = np.delete(arr, [0, 2], 1)
     for i in range(arr.shape[0]):
         self.assertListEqual(
             list((covdict[('test', 'nan', '3',
                            'nan')].to_global_data())[i]), list(arr[i]))
Пример #3
0
 def test_maskdict_append_array(self):
     msk = np.random.randint(0, 2, 48).reshape(1, -1)
     comm.Bcast(msk, root=0)
     mskdict = Masks()
     mskdict.append(('test', 'nan', '2', 'nan'), msk)
     local_msk = mskdict[('test', 'nan', '2', 'nan')].data
     self.assertListEqual(list(local_msk[0]), list(msk[0]))
     mskdict.append(('test', 'nan', '48', 'nan'), msk, True)
     local_msk = mskdict[('test', 'nan', '48', 'nan')].data
     self.assertListEqual(list(local_msk[0]), list(msk[0]))
 def test_maskdict_append_array(self):
     msk = np.random.randint(0, 2, 48).reshape(1, 48)
     mskdict = Masks()
     mskdict.append(('test', 'nan', '2', 'nan'), msk)
     raw_msk = mskdict[('test', 'nan', '2', 'nan')].to_global_data()
     if mpirank == 0:
         self.assertListEqual(list(raw_msk[0]), list(msk[0]))
     mskdict.append(('test', 'nan', '48', 'nan'), msk, True)
     raw_msk = mskdict[('test', 'nan', '48', 'nan')].to_global_data()
     if mpirank == 0:
         self.assertListEqual(list(raw_msk[0]), list(msk[0]))
Пример #5
0
def mask_map(_nside, _freq):
    """
    return mask map dictionary for synchrotron Q, U
    at given nside and frequency
    """
    msk_map = np.zeros(hp.nside2npix(_nside))
    for _ipix in range(hp.nside2npix(_nside)):
        l, b = hp.pix2ang(_nside, _ipix, lonlat=True)
        R = np.pi / 180.
        msk_map[_ipix] = 1
        L = [329, 100, 124, 315]
        B = [17.5, -32.5, 15.5, 48.5]
        D = [116, 91, 65, 39.5]
        #LOOP I
        if (np.arccos(
                np.sin(b * R) * np.sin(B[0] * R) +
                np.cos(b * R) * np.cos(B[0] * R) * np.cos(l * R - L[0] * R)) <
                0.5 * D[0] * R):
            msk_map[_ipix] = 0
        #LOOP II
        elif (np.arccos(
                np.sin(b * R) * np.sin(B[1] * R) +
                np.cos(b * R) * np.cos(B[1] * R) * np.cos(l * R - L[1] * R)) <
              0.5 * D[1] * R):
            msk_map[_ipix] = 0
        #LOOP III
        elif (np.arccos(
                np.sin(b * R) * np.sin(B[2] * R) +
                np.cos(b * R) * np.cos(B[2] * R) * np.cos(l * R - L[2] * R)) <
              0.5 * D[2] * R):
            msk_map[_ipix] = 0
        #LOOP IV
        elif (np.arccos(
                np.sin(b * R) * np.sin(B[3] * R) +
                np.cos(b * R) * np.cos(B[3] * R) * np.cos(l * R - L[3] * R)) <
              0.5 * D[3] * R):
            msk_map[_ipix] = 0
        #STRIPE
        elif (abs(b) < 60.):
            msk_map[_ipix] = 0
    msk_dict = Masks()
    msk_dict.append(('sync', str(_freq), str(_nside), 'Q'),
                    np.vstack([msk_map]))
    msk_dict.append(('sync', str(_freq), str(_nside), 'U'),
                    np.vstack([msk_map]))
    return msk_dict
Пример #6
0
 def test_meadict_apply_mask(self):
     msk = np.array([0, 1, 0, 1, 1]).reshape(1, 5)
     mskdict = Masks()
     comm.Bcast(msk, root=0)
     mskdict.append(('test', 'nan', '5', 'nan'), msk, True)
     arr = np.array([0., 1., 2., 3., 4.]).reshape(1, 5)
     meadict = Measurements()
     meadict.append(('test', 'nan', '5', 'nan'), arr, True)
     meadict.apply_mask(mskdict)
     self.assertListEqual(
         list((meadict[('test', 'nan', '3', 'nan')].data)[0]), [1., 3., 4.])
     # HEALPix map
     msk = np.random.randint(0, 2, 48).reshape(1, 48)
     comm.Bcast(msk, root=0)
     mskdict.append(('test', 'nan', '2', 'nan'), msk)
     arr = np.random.rand(1, 48)
     meadict.append(('test', 'nan', '2', 'nan'), arr)
     pix_num = msk.sum()
     meadict.apply_mask(mskdict)
     self.assertTrue(('test', 'nan', str(pix_num), 'nan') in meadict.keys())