Пример #1
0
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)
Пример #2
0
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)