def test_wcsndmap_fill_by_coord(npix, binsz, coordsys, proj, skydir, axes): geom = WcsGeom.create(npix=npix, binsz=binsz, skydir=skydir, proj=proj, coordsys=coordsys, axes=axes) m = WcsNDMap(geom) coords = m.geom.get_coord() fill_coords = tuple([qconcatenate(t, t) for t in coords]) fill_vals = fill_coords[1] m.fill_by_coord(fill_coords, fill_vals.value) assert_allclose(m.get_by_coord(coords), 2.0 * coords[1].value) # Test with SkyCoords m = WcsNDMap(geom) coords = m.geom.get_coord() skydir = coords.skycoord skydir_cel = skydir.transform_to("icrs") skydir_gal = skydir.transform_to("galactic") fill_coords_cel = (skydir_cel, ) + tuple(coords[2:]) fill_coords_gal = (skydir_gal, ) + tuple(coords[2:]) m.fill_by_coord(fill_coords_cel, coords[1].value) m.fill_by_coord(fill_coords_gal, coords[1].value) assert_allclose(m.get_by_coord(coords), 2.0 * coords[1].value)
def test_wcsndmap_sum_over_axes(npix, binsz, frame, proj, skydir, axes, keepdims): geom = WcsGeom.create(npix=npix, binsz=binsz, proj=proj, frame=frame, axes=axes) m = WcsNDMap(geom) coords = m.geom.get_coord() m.fill_by_coord(coords, coords[0].value) msum = m.sum_over_axes(keepdims=keepdims) if m.geom.is_regular: assert_allclose(np.nansum(m.data), np.nansum(msum.data))
def test_wcsndmap_coadd(npix, binsz, frame, proj, skydir, axes): geom = WcsGeom.create( npix=npix, binsz=binsz, skydir=skydir, proj=proj, frame=frame, axes=axes ) m0 = WcsNDMap(geom) m1 = WcsNDMap(geom.upsample(2)) coords = m0.geom.get_coord() m1.fill_by_coord( tuple([qconcatenate(t, t) for t in coords]), qconcatenate(coords[1], coords[1]).value, ) m0.coadd(m1) assert_allclose(np.nansum(m0.data), np.nansum(m1.data), rtol=1e-4)