def test_hpx_nd_map_to_wcs_tiles(): m = HpxNDMap.create(nside=8, frame="galactic") m.data += 1 tiles = m.to_wcs_tiles(nside_tiles=4) assert_allclose(tiles[0].data, 1) assert_allclose(tiles[32].data, 1) axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m = HpxNDMap.create(nside=8, frame="galactic", axes=[axis]) m.data += 1 tiles = m.to_wcs_tiles(nside_tiles=4) assert_allclose(tiles[0].data, 1) assert_allclose(tiles[32].data, 1)
def test_hpx_map_weights_stack(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m = HpxNDMap.create(nside=32, frame="galactic", axes=[axis], region="DISK(110.,75.,10.)") m.data += np.arange(90) + 1 weights = m.copy() weights.data = 1 / (np.arange(90) + 1) m_allsky = HpxNDMap.create(nside=32, frame="galactic", axes=[axis]) m_allsky.stack(m, weights=weights) assert_allclose(m_allsky.data.sum(), 90)
def test_partial_hpx_map_stack(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m_1 = HpxNDMap.create(nside=128, frame="galactic", axes=[axis], region="DISK(110.,75.,20.)") m_1.data += 1 m_2 = HpxNDMap.create(nside=128, frame="galactic", axes=[axis], region="DISK(130.,75.,20.)") m_2.stack(m_1) assert_allclose(m_1.data.sum(), 5933) assert_allclose(m_2.data.sum(), 4968)
def test_hpx_map_cutout(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m = HpxNDMap.create(nside=32, frame="galactic", axes=[axis]) m.data += np.arange(12288) cutout = m.cutout(SkyCoord("0d", "0d"), width=10 * u.deg) assert cutout.data.shape == (1, 25) assert_allclose(cutout.data.sum(), 239021) assert_allclose(cutout.data[0, 0], 8452) assert_allclose(cutout.data[0, -1], 9768)
def test_hpx_nd_map_pad_axis(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=2) m = HpxNDMap.create(nside=2, frame="galactic", axes=[axis]) m.data += [[1], [2]] m_pad = m.pad(axis_name="energy", pad_width=(1, 1), mode="constant", cval=3) assert_allclose(m_pad.data[:, 0], [3, 1, 2, 3])
def test_partial_hpx_map_cutout(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m = HpxNDMap.create(nside=32, frame="galactic", axes=[axis], region="DISK(110.,75.,10.)") m.data += np.arange(90) cutout = m.cutout(SkyCoord("0d", "0d"), width=10 * u.deg) assert cutout.data.shape == (1, 25) assert_allclose(cutout.data.sum(), 2225) assert_allclose(cutout.data[0, 0], 89) assert_allclose(cutout.data[0, -1], 89)
def test_hpx_map_to_region_nd_map(): axis = MapAxis.from_energy_bounds("10 GeV", "2 TeV", nbin=10) m = HpxNDMap.create(nside=128, axes=[axis]) m.data += 1 circle = CircleSkyRegion(center=SkyCoord("0d", "0d"), radius=10 * u.deg) spec = m.to_region_nd_map(region=circle) assert_allclose(spec.data.sum(), 14660) spec_mean = m.to_region_nd_map(region=circle, func=np.mean) assert_allclose(spec_mean.data, 1) spec_interp = m.to_region_nd_map(region=circle.center, func=np.mean) assert_allclose(spec_interp.data, 1)
def test_hpx_map_stack(): axis = MapAxis.from_energy_bounds("1 TeV", "10 TeV", nbin=1) m = HpxNDMap.create(nside=32, frame="galactic", axes=[axis], region="DISK(110.,75.,10.)") m.data += np.arange(90) m_allsky = HpxNDMap.create(nside=32, frame="galactic", axes=[axis]) m_allsky.stack(m) assert_allclose(m_allsky.data.sum(), (90 * 89) / 2) value = m_allsky.get_by_coord({ "skycoord": SkyCoord("110d", "75d", frame="galactic"), "energy": 3 * u.TeV }) assert_allclose(value, 69) with pytest.raises(ValueError): m_allsky = HpxNDMap.create(nside=16, frame="galactic", axes=[axis]) m_allsky.stack(m)
def test_plot_poly(): m = HpxNDMap.create(binsz=10) with mpl_plot_check(): m.plot(method="poly")
def test_plot(): m = HpxNDMap.create(binsz=10) with mpl_plot_check(): m.plot()
def test_plot_grid(): axis = MapAxis([0, 1, 2], node_type="edges") m = HpxNDMap.create(binsz=0.1 * u.deg, width=1, axes=[axis]) with mpl_plot_check(): m.plot_grid()