aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAaron LI <aly@aaronly.me>2019-11-02 22:34:51 +0800
committerAaron LI <aly@aaronly.me>2019-11-02 22:41:39 +0800
commit679641925217391a1e72304467ede32a57d0082e (patch)
tree88db504d279f836b2d7ac58c665b510e8f1adb45
parent20350055f7f1ad0b3fe8a2f27fc21d29ed3ac71e (diff)
downloadfg21sim-679641925217391a1e72304467ede32a57d0082e.tar.bz2
utils/io: Support 'NESTED' ordering in read_fits_healpix()
-rw-r--r--fg21sim/utils/io.py16
1 files changed, 11 insertions, 5 deletions
diff --git a/fg21sim/utils/io.py b/fg21sim/utils/io.py
index b6719ec..4261f5f 100644
--- a/fg21sim/utils/io.py
+++ b/fg21sim/utils/io.py
@@ -253,8 +253,7 @@ def write_fits_image(outfile, image, header=None, float32=False,
def read_fits_healpix(filename):
"""
- Read the HEALPix map from a FITS file or a BinTableHDU to 1D array
- in *RING* ordering.
+ Read the HEALPix map from a FITS file or a BinTableHDU to 1D array.
Parameters
----------
@@ -282,9 +281,16 @@ def read_fits_healpix(filename):
hdu = fits.open(filename)[1]
# Hack to ignore the dtype byteorder, use native endianness
dtype = np.dtype(hdu.data.field(0).dtype.type)
- header = hdu.header
- data = hp.read_map(hdu, nest=False, verbose=False)
- return (data.astype(dtype), header)
+ try:
+ ordering = hdu.header["ORDERING"]
+ except KeyError:
+ logger.warning("No 'ORDERING' keyword for file: %s" % filename)
+ logger.warning("Assume the 'NESTED' ordering")
+ ordering = "NESTED"
+ hdu.header["ORDERING"] = ordering
+ nest = ordering.upper() == "NESTED"
+ data = hp.read_map(hdu, nest=nest, verbose=False)
+ return (data.astype(dtype), hdu.header)
def write_fits_healpix(outfile, hpmap, header=None, float32=False,