def inFootprint(self, pixels, nside=None):
"""
Open each valid filename for the set of pixels and determine the set
of subpixels with valid data.
"""
if numpy.isscalar(pixels): pixels = numpy.array([pixels])
if nside is None: nside = self.nside_likelihood
inside = numpy.zeros( len(pixels), dtype='bool')
if not self.nside_catalog:
catalog_pix = [0]
else:
catalog_pix = superpixel(pixels,nside,self.nside_catalog)
catalog_pix = numpy.intersect1d(catalog_pix,self.catalog_pixels)
for filenames in self.filenames[catalog_pix]:
#logger.debug("Loading %s"%filenames['mask_1'])
subpix_1,val_1 = ugali.utils.skymap.readSparseHealpixMap(filenames['mask_1'],'MAGLIM',construct_map=False)
#logger.debug("Loading %s"%filenames['mask_2'])
subpix_2,val_2 = ugali.utils.skymap.readSparseHealpixMap(filenames['mask_2'],'MAGLIM',construct_map=False)
subpix = numpy.intersect1d(subpix_1,subpix_2)
superpix = numpy.unique(ugali.utils.skymap.superpixel(subpix,self.nside_pixel,nside))
inside |= numpy.in1d(pixels, superpix)
return inside
评论列表
文章目录