Пример #1
0
 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'])
Пример #2
0
    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
Пример #3
0
    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
Пример #4
0
    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
Пример #5
0
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