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)
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)