diff options
Diffstat (limited to 'fg21sim')
-rw-r--r-- | fg21sim/utils/reproject.py | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/fg21sim/utils/reproject.py b/fg21sim/utils/reproject.py index 08dd1c9..f44c265 100644 --- a/fg21sim/utils/reproject.py +++ b/fg21sim/utils/reproject.py @@ -196,6 +196,14 @@ def zea2healpix(img1, img2, nside, order=1, inpaint=False, Reprojected HEALPix data hp_header : `~astropy.io.fits.Header` FITS header for the reprojected HEALPix data + hp_mask : 1D `~numpy.ndarray` + Array of same shape as the above `hp_data` indicating the status of + each pixel of the output array. + Values of "0" indicate the missing pixels (i.e., there is no + transformation to the input images); values of "1" indicate the output + pixel maps to one and only one of the input images; values of "2" + indicate the duplicate/overlapping pixels that map to both of the two + input images. NOTE ---- @@ -230,18 +238,18 @@ def zea2healpix(img1, img2, nside, order=1, inpaint=False, hp_data2 = _image_to_healpix(zea_img2, zea_wcs2, nside=nside, order=order, hemisphere=zea_hemisphere2.upper()) # Merge the two HEALPix data - hp_footprint1 = (~np.isnan(hp_data1)).astype(np.int) - hp_footprint2 = (~np.isnan(hp_data2)).astype(np.int) + hp_mask = ((~np.isnan(hp_data1)).astype(np.int) + + (~np.isnan(hp_data2)).astype(np.int)) hp_data1[np.isnan(hp_data1)] = 0.0 hp_data2[np.isnan(hp_data2)] = 0.0 hp_data = hp_data1 + hp_data2 logger.info("Done reprojection and merge two hemispheres") # Duplicated pixels and missing pixels - pix_dup = (hp_footprint1 + hp_footprint2) == 2 + pix_dup = (hp_mask == 2) if pix_dup.sum() > 0: logger.warning("Reprojected HEALPix data has %d duplicated pixel(s)" % pix_dup.sum()) - pix_missing = (hp_footprint1 + hp_footprint2) == 0 + pix_missing = (hp_mask == 0) if pix_missing.sum() > 0: logger.warning("Reprojected HEALPix data has %d missing pixel(s)" % pix_missing.sum()) @@ -258,4 +266,4 @@ def zea2healpix(img1, img2, nside, order=1, inpaint=False, append_history=append_history, append_comment=append_comment) logger.info("Made HEALPix FITS header") - return (hp_data, hp_header) + return (hp_data, hp_header, hp_mask) |