def test_wcsndmap_resample_axis(): axis_1 = MapAxis.from_edges([1, 2, 3, 4, 5], name="test-1") axis_2 = MapAxis.from_edges([1, 2, 3, 4], name="test-2") geom = WcsGeom.create(npix=(7, 6), axes=[axis_1, axis_2]) m = WcsNDMap(geom, unit="m2") m.data += 1 new_axis = MapAxis.from_edges([1, 3, 5], name="test-1") m2 = m.resample_axis(axis=new_axis) assert m2.data.shape == (3, 2, 6, 7) assert_allclose(m2.data, 2) # Test without all interval covered new_axis = MapAxis.from_edges([2, 3], name="test-1") m3 = m.resample_axis(axis=new_axis) assert m3.data.shape == (3, 1, 6, 7) assert_allclose(m3.data, 1)
def test_wcsndmap_resample_axis_logical_and(): axis_1 = MapAxis.from_edges([1, 2, 3, 4, 5], name="test-1") geom = WcsGeom.create(npix=(2, 2), axes=[axis_1]) m = WcsNDMap(geom, dtype=bool) m.data[:, :, :] = True m.data[0, 0, 0] = False new_axis = MapAxis.from_edges([1, 3, 5], name="test-1") m2 = m.resample_axis(axis=new_axis, ufunc=np.logical_and) assert_allclose(m2.data[0, 0, 0], False) assert_allclose(m2.data[1, 0, 0], True)