def _load_mask(self): """ load the healpix mask """ import healpix_util as hu print("loading mask:",self['mask_file']) self.hmap=hu.readDensityMap(self['mask_file'])
def get_maskflags(self, ra, dec, z): mask_type=self.get('mask_type',None) if mask_type is None: maskflags = numpy.zeros(ra.size) else: import healpix_util as hu if mask_type != 'healpix': raise ValueError("only healpix supported for now") # Da and rmax in Mpc print("max radius for maskflags: %0.1f" % self['rmax']) Da = self.cosmo.Da(0.0, z) rmax = self['rmax'] radius_degrees = rmax/Da*180./PI print("reading healpix map:",self['mask_file']) hmap=hu.readDensityMap(self['mask_file']) maskflags=numpy.zeros(ra.size, dtype='i8') for i in xrange(ra.size): if (i % 1000) == 0: print("%d/%d" % (i,ra.size)) maskflags[i] = hmap.check_quad(ra[i], dec[i], radius_degrees[i], self['ellip_max']) w,=numpy.where(maskflags > 1) print("%d/%d had good quadrant pairs" % (w.size, ra.size)) return maskflags
def _get_density_map(self): if not hasattr(self, "_hmap"): import healpix_util as hu mask_info = self.mask_info mask_type = mask_info["mask_type"] if mask_type != "healpix": raise ValueError("only healpix supported for now") print(" reading healpix map:", mask_info["mask_file"]) self._hmap = hu.readDensityMap(mask_info["mask_file"]) return self._hmap
def get_maskflags(self, ra, dec, z): """ get the maskflags """ mask_info=self.mask_info mask_type=mask_info['mask_type'] if mask_type is None: print(" setting all maskflags to QUADEQ_ALL_OK") return numpy.zeros(ra.size, dtype='i8') + QUADEQ_ALL_OK else: import healpix_util as hu if mask_type != 'healpix': raise ValueError("only healpix supported for now") # Da and rmax in Mpc print(" max radius for maskflags: %0.1f" % self['rmax']) Da = self.cosmo.Da(0.0, z) rmax = self['rmax'] radius_degrees = rmax/Da*180./numpy.pi print(" reading healpix map:",mask_info['mask_file']) hmap=hu.readDensityMap(mask_info['mask_file']) maskflags=numpy.zeros(ra.size, dtype='i8') print(" getting maskflags") for i in xrange(ra.size): if (i % 1000) == 0: print(" %d/%d" % (i,ra.size)) maskflags[i] = hmap.check_quad(ra[i], dec[i], radius_degrees[i], mask_info['mask_ellip_max']) w,=numpy.where(maskflags > 1) print(" %d/%d had good quadrant pairs" % (w.size, ra.size)) return maskflags
def get_map_radec(): radec_file="map-with-radec-spte.fits" if not os.path.exists(radec_file): print("radec file",radec_file,"doesn't exist, creating it") #depth_file="/astro/u/esheldon/masks/des/sva1-gold/sva1_gold_1.0_nside4096-64_ring_i_weights.fits" dfile="/astro/u/esheldon/masks/des/neff/sva1_gold_1.0_nside4096-64_ring_i_neff.fits" print("reading:",dfile) dmap=hu.readDensityMap(dfile) print(dmap) print("npix:",dmap.data.size, dmap.hpix.npix) pixnums=numpy.arange(dmap.hpix.npix) print("getting ra,dec") ra,dec=dmap.hpix.pix2eq(pixnums) w,=numpy.where( (ra > spte_ra_range[0]) & (ra < spte_ra_range[1]) & (dec > spte_dec_range[0]) & (dec < spte_dec_range[1]) ) pixnums=pixnums[w] ra=ra[w] dec=dec[w] weight=dmap.data[w] weight *= (1./weight.max()) dt=[('weight','f4'),('ra','f8'),('dec','f8')] data=numpy.zeros(ra.size, dtype=dt) data['ra']=ra data['dec']=dec data['weight']=weight print("writing:",radec_file) fitsio.write(radec_file, data, clobber=True) else: print("reading:",radec_file) data=fitsio.read(radec_file) return data