def test_hpxmap_interp_by_coord(nside, nested, coordsys, region, axes): m = HpxNDMap( HpxGeom(nside=nside, nest=nested, coordsys=coordsys, region=region, axes=axes)) coords = m.geom.get_coord(flat=True) m.set_by_coord(coords, coords[1]) assert_allclose(m.get_by_coord(coords), m.interp_by_coord(coords, interp="linear"))
def test_hpxmap_interp_by_coord_quantities(): ax = MapAxis(np.logspace(0.0, 3.0, 3), interp="log", name="energy", unit="TeV") geom = HpxGeom(nside=1, axes=[ax]) m = HpxNDMap(geom=geom) coords_dict = {"lon": 99, "lat": 42, "energy": 1000 * u.GeV} coords = m.geom.get_coord(flat=True) m.set_by_coord(coords, coords["lat"]) coords_dict["energy"] = 1 * u.TeV val = m.interp_by_coord(coords_dict) assert_allclose(val, 42, rtol=1e-2)