diff options
author | Aaron LI <aaronly.me@outlook.com> | 2016-10-10 21:11:09 +0800 |
---|---|---|
committer | Aaron LI <aaronly.me@outlook.com> | 2016-10-10 21:11:09 +0800 |
commit | 38089c981dde76dca05856b262322f17777dc7e3 (patch) | |
tree | c5b3e2e1f77fd7682ed0204110f5525f1bd309d9 | |
parent | 8b2ef6450cd4013e3e957bac912831b476aff6ca (diff) | |
download | fg21sim-38089c981dde76dca05856b262322f17777dc7e3.tar.bz2 |
utils: zea2heapix(): Set value NaN for missing pixels
-rw-r--r-- | fg21sim/utils/reproject.py | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/fg21sim/utils/reproject.py b/fg21sim/utils/reproject.py index b0e78ba..8b3d34f 100644 --- a/fg21sim/utils/reproject.py +++ b/fg21sim/utils/reproject.py @@ -239,7 +239,8 @@ def zea2healpix(img1, img2, nside, order=1, inpaint=False, Returns ------- hp_data : 1D `~numpy.ndarray` - Reprojected HEALPix data + Reprojected HEALPix data; + The missing pixels have value NaN if `inpaint=False`. hp_header : `~astropy.io.fits.Header` FITS header for the reprojected HEALPix data hp_mask : 1D `~numpy.ndarray` @@ -285,10 +286,11 @@ 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_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_nan1 = np.isnan(hp_data1) + hp_nan2 = np.isnan(hp_data2) + hp_mask = (~hp_nan1).astype(np.int) + (~hp_nan2).astype(np.int) + hp_data1[hp_nan1] = 0.0 + hp_data2[hp_nan2] = 0.0 hp_data = hp_data1 + hp_data2 logger.info("Done reprojection and merge two hemispheres") # Duplicate pixels and missing pixels @@ -300,6 +302,8 @@ def zea2healpix(img1, img2, nside, order=1, inpaint=False, logger.info("Averaged the duplicate pixel(s)") pix_missing = (hp_mask == 0) if pix_missing.sum() > 0: + # Reset the missing pixels to NaN's + hp_data[pix_missing] = np.nan logger.warning("Reprojected HEALPix data has %d missing pixel(s)" % pix_missing.sum()) if inpaint: |