def test_wcsndmap_read_write(tmp_path, npix, binsz, frame, proj, skydir, axes): geom = WcsGeom.create(npix=npix, binsz=binsz, proj=proj, frame=frame, axes=axes) path = tmp_path / "tmp.fits" m0 = WcsNDMap(geom) fill_poisson(m0, mu=0.5) m0.write(path, overwrite=True) m1 = WcsNDMap.read(path) m2 = Map.read(path) m3 = Map.read(path, map_type="wcs") assert_allclose(m0.data, m1.data) assert_allclose(m0.data, m2.data) assert_allclose(m0.data, m3.data) m0.write(path, sparse=True, overwrite=True) m1 = WcsNDMap.read(path) m2 = Map.read(path) m3 = Map.read(path, map_type="wcs") assert_allclose(m0.data, m1.data) assert_allclose(m0.data, m2.data) assert_allclose(m0.data, m3.data) # Specify alternate HDU name for IMAGE and BANDS table m0.write(path, hdu="IMAGE", hdu_bands="TEST", overwrite=True) m1 = WcsNDMap.read(path) m2 = Map.read(path) m3 = Map.read(path, map_type="wcs")
def test_hpxmap_read_write(tmpdir, nside, nested, coordsys, region, axes, sparse): filename = str(tmpdir / "map.fits") m = create_map(nside, nested, coordsys, region, axes, sparse) fill_poisson(m, mu=0.5, random_state=0) m.write(filename, sparse=sparse, overwrite=True) m2 = HpxNDMap.read(filename) m3 = HpxSparseMap.read(filename) m4 = Map.read(filename, 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(filename, sparse=True, overwrite=True) m2 = HpxNDMap.read(filename) m3 = HpxMap.read(filename, map_type="hpx") m4 = Map.read(filename, 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(filename, hdu="IMAGE", hdu_bands="TEST", overwrite=True) m2 = HpxNDMap.read(filename) m3 = Map.read(filename) m4 = Map.read(filename, map_type="hpx")
def test_wcsndmap_read_write(tmpdir, npix, binsz, coordsys, proj, skydir, axes): geom = WcsGeom.create(npix=npix, binsz=binsz, proj=proj, coordsys=coordsys, axes=axes) filename = str(tmpdir / "map.fits") m0 = WcsNDMap(geom) fill_poisson(m0, mu=0.5) m0.write(filename, overwrite=True) m1 = WcsNDMap.read(filename) m2 = Map.read(filename) m3 = Map.read(filename, map_type="wcs") assert_allclose(m0.data, m1.data) assert_allclose(m0.data, m2.data) assert_allclose(m0.data, m3.data) m0.write(filename, sparse=True, overwrite=True) m1 = WcsNDMap.read(filename) m2 = Map.read(filename) m3 = Map.read(filename, map_type="wcs") assert_allclose(m0.data, m1.data) assert_allclose(m0.data, m2.data) assert_allclose(m0.data, m3.data) # Specify alternate HDU name for IMAGE and BANDS table m0.write(filename, hdu="IMAGE", hdu_bands="TEST", overwrite=True) m1 = WcsNDMap.read(filename) m2 = Map.read(filename) m3 = Map.read(filename, map_type="wcs")
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) fill_poisson(m, mu=0.5, random_state=0) 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")
def test_hpxmap_swap_scheme(nside, nested, coordsys, region, axes): m = HpxNDMap( HpxGeom(nside=nside, nest=nested, coordsys=coordsys, region=region, axes=axes)) fill_poisson(m, mu=1.0, random_state=0) m2 = m.to_swapped() coords = m.geom.get_coord(flat=True) assert_allclose(m.get_by_coord(coords), m2.get_by_coord(coords))