def test_hpxmap_read_write(tmp_path, nside, nested, coordsys, region, axes, sparse): path = tmp_path / "tmp.fits" m = create_map(nside, nested, coordsys, region, axes, sparse) fill_poisson(m, mu=0.5, random_state=0) m.write(path, sparse=sparse, overwrite=True) m2 = HpxNDMap.read(path) m3 = HpxSparseMap.read(path) m4 = Map.read(path, map_type="hpx") if sparse: msk = np.isfinite(m2.data[...]) else: msk = np.ones_like(m2.data[...], dtype=bool) assert_allclose(m.data[...][msk], m2.data[...][msk]) assert_allclose(m.data[...][msk], m3.data[...][msk]) assert_allclose(m.data[...][msk], m4.data[...][msk]) m.write(path, sparse=True, overwrite=True) m2 = HpxNDMap.read(path) m3 = HpxMap.read(path, map_type="hpx") m4 = Map.read(path, map_type="hpx") assert_allclose(m.data[...][msk], m2.data[...][msk]) assert_allclose(m.data[...][msk], m3.data[...][msk]) assert_allclose(m.data[...][msk], m4.data[...][msk]) # Specify alternate HDU name for IMAGE and BANDS table m.write(path, hdu="IMAGE", hdu_bands="TEST", overwrite=True) m2 = HpxNDMap.read(path) m3 = Map.read(path) m4 = Map.read(path, map_type="hpx")
def test_hpxmap_read_write(tmp_path, nside, nested, frame, region, axes): path = tmp_path / "tmp.fits" m = create_map(nside, nested, frame, region, axes) m.write(path, sparse=True, overwrite=True) m2 = HpxNDMap.read(path) m4 = Map.read(path, map_type="hpx") msk = np.ones_like(m2.data[...], dtype=bool) assert_allclose(m.data[...][msk], m2.data[...][msk]) assert_allclose(m.data[...][msk], m4.data[...][msk]) m.write(path, overwrite=True) m2 = HpxNDMap.read(path) m3 = HpxMap.read(path, map_type="hpx") m4 = Map.read(path, map_type="hpx") assert_allclose(m.data[...][msk], m2.data[...][msk]) assert_allclose(m.data[...][msk], m3.data[...][msk]) assert_allclose(m.data[...][msk], m4.data[...][msk]) # Specify alternate HDU name for IMAGE and BANDS table m.write(path, sparse=True, hdu="IMAGE", hdu_bands="TEST", overwrite=True) m2 = HpxNDMap.read(path) m3 = Map.read(path) m4 = Map.read(path, map_type="hpx")