Example #1
0
 def run(self):
     print('Reading data')
     read_exchange(self.f.ch, ods = [self.od], discard_flag = False,type='C')
     obt_good = testBit(self.f.commonflag,0)==0
     print('Preparing pointing')
     self.pnt = DiskPointing(self.od, self.freq, folder=self.folder)
     self.hitmap = np.zeros(healpy.nside2npix(self.nside))
     for ch in self.f.ch: 
         print('Processing rad %s' % ch)
         #theta, phi = self.ecl2gal(*self.pnt.get_ang(ch))
         theta, phi = self.pnt.get_ang(ch)
         ch_good = obt_good & (ch.flagx == 0) & (ch.pair.flagx == 0)
         print('Flagged %.2f perc' % (100*(len(ch_good)-ch_good.sum())/len(ch_good)))
         if len(theta[ch_good]) > 0:
             ids = np.bincount(healpy.ang2pix(self.nside, theta[ch_good], phi[ch_good], nest=True))
             self.hitmap[:len(ids)] += ids
         else:
             print('Skip channel')
     print('Writing to file')
     cPickle.dump(self.hitmap, open('/project/projectdirs/planck/user/zonca/issues/hitmap/pkl/%d_%d.pkl' % (self.freq,self.od),'wb'),protocol=-1)
Example #2
0
class HitMap(object):

    def __init__(self, freq, od, nside=1024, use_flag=True,folder=None):
        LOG_FILENAME = '/project/projectdirs/planck/user/zonca/issues/hitmap/full.log'
        l.basicConfig(filename=LOG_FILENAME,level=l.DEBUG)
        self.freq = freq
        self.od = od
        self.use_flag = use_flag
        self.lfi = LFI()
        self.f = self.lfi.f[self.freq]
        self.nside = nside
        #self.ecl2gal = healpy.Rotator(coord=['E','G'])
        self.folder = folder
        l.info('%s ready' % self)

    def __repr__(self):
        return 'HitMap %d GHz, od %d' % (self.freq, self.od)

    def run(self):
        print('Reading data')
        read_exchange(self.f.ch, ods = [self.od], discard_flag = False,type='C')
        obt_good = testBit(self.f.commonflag,0)==0
        print('Preparing pointing')
        self.pnt = DiskPointing(self.od, self.freq, folder=self.folder)
        self.hitmap = np.zeros(healpy.nside2npix(self.nside))
        for ch in self.f.ch: 
            print('Processing rad %s' % ch)
            #theta, phi = self.ecl2gal(*self.pnt.get_ang(ch))
            theta, phi = self.pnt.get_ang(ch)
            ch_good = obt_good & (ch.flagx == 0) & (ch.pair.flagx == 0)
            print('Flagged %.2f perc' % (100*(len(ch_good)-ch_good.sum())/len(ch_good)))
            if len(theta[ch_good]) > 0:
                ids = np.bincount(healpy.ang2pix(self.nside, theta[ch_good], phi[ch_good], nest=True))
                self.hitmap[:len(ids)] += ids
            else:
                print('Skip channel')
        print('Writing to file')
        cPickle.dump(self.hitmap, open('/project/projectdirs/planck/user/zonca/issues/hitmap/pkl/%d_%d.pkl' % (self.freq,self.od),'wb'),protocol=-1)