예제 #1
0
    def test_load_zarr_2_objects_can_overwrite_store(self, tmpdir):
        img = ImageContainer(np.random.normal(size=(100, 100, 1)))
        img.data.attrs["scale"] = 42

        img.save(Path(tmpdir) / "foo")

        img2 = ImageContainer.load(Path(tmpdir) / "foo")
        img2.data.attrs["sentinel"] = "foobar"
        img2["image"].values += 42
        img2.save(Path(tmpdir) / "foo")

        img3 = ImageContainer.load(Path(tmpdir) / "foo")

        assert "sentinel" in img3.data.attrs
        assert img3.data.attrs["sentinel"] == "foobar"

        np.testing.assert_array_equal(img3["image"].values,
                                      img2["image"].values)
        np.testing.assert_allclose(img3["image"].values - 42,
                                   img["image"].values)
예제 #2
0
    def test_save_load_zarr(self, tmpdir):
        img = ImageContainer(np.random.normal(size=(100, 100, 1)))
        img.data.attrs["scale"] = 42

        img.save(Path(tmpdir) / "foo")

        img2 = ImageContainer.load(Path(tmpdir) / "foo")

        np.testing.assert_array_equal(img["image"].values,
                                      img2["image"].values)
        np.testing.assert_array_equal(img.data.dims, img2.data.dims)
        np.testing.assert_array_equal(sorted(img.data.attrs.keys()),
                                      sorted(img2.data.attrs.keys()))
        for k, v in img.data.attrs.items():
            assert type(v) == type(img2.data.attrs[k])  # noqa: E721
            assert v == img2.data.attrs[k]