Skip to content

Commit acc5a82

Browse files
added read_hp_mask
1 parent ae7839c commit acc5a82

2 files changed

Lines changed: 39 additions & 1 deletion

File tree

cs_util/cat.py

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import os
1212
from datetime import datetime
1313
from importlib.metadata import version
14+
import healpy as hp
1415

1516
from astropy.io import fits
1617
from astropy.io import ascii
@@ -267,3 +268,40 @@ def read_dndz(file_path):
267268
z_centers = bin_edges2centers(z_edges)
268269

269270
return z_centers, nz, z_edges
271+
272+
273+
def read_hp_mask(input_name, verbose=False):
274+
275+
if verbose:
276+
print(f'Reading mask {input_name}...')
277+
278+
nest = False
279+
280+
# Open input mask
281+
mask, header= hp.read_map(
282+
input_name,
283+
h=True,
284+
nest=nest,
285+
)
286+
for (key, value) in header:
287+
if key == 'ORDERING':
288+
if value == 'RING':
289+
if nest:
290+
raise ValueError(
291+
'input mask has ORDENING=RING, set nest to False'
292+
)
293+
elif value == 'NEST':
294+
if not nest:
295+
raise ValueError(
296+
'input mask has ORDENING=NEST, set nest to True'
297+
)
298+
299+
# Get nside from header
300+
nside = None
301+
for key, value in header:
302+
if key == 'NSIDE':
303+
nside = int(value)
304+
if not nside:
305+
raise KeyError('NSIDE not found in FITS mask header')
306+
307+
return mask, nest, nside

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[tool.poetry]
22
name = "cs_util"
3-
version = "0.1.4"
3+
version = "0.1.5"
44
description = "Utility library for CosmoStat"
55
authors = ["Martin Kilbinger <martin.kilbinger@cea.fr>"]
66
readme = "README.md"

0 commit comments

Comments
 (0)