コード例 #1
0
    def test_getitem(self):
        images = {str(idx): data.LocalImage(str(idx)) for idx in range(3)}
        collection = data.LocalImageCollection(images)

        actual = {str(idx): collection[str(idx)] for idx in range(len(collection))}
        desired = images
        assert actual == desired
コード例 #2
0
    def test_read_rel_path(self, test_image_file, test_image):
        root, filename = path.dirname(test_image_file), path.basename(test_image_file)
        image = data.LocalImage(filename)

        actual = image.read(root)
        desired = test_image
        ptu.assert_allclose(actual, desired)
コード例 #3
0
    def test_iter(self):
        images = {str(idx): data.LocalImage(str(idx)) for idx in range(3)}
        collection = data.LocalImageCollection(images)

        actual = {name: image for name, image in collection}
        desired = images
        assert actual == desired
コード例 #4
0
    def test_LocalImage_collect_guides_no_dir(self):
        with get_tmp_dir() as root:
            image = data.LocalImage(
                path.join(root, "image.jpg"), collect_local_guides=True
            )

            self.assertIsNone(image.guides)
コード例 #5
0
    def test_LocalImage_collect_guides(self):
        def create_guides(root, file):
            dir = path.join(root, path.splitext(file)[0])
            os.makedirs(dir)
            src = self.default_image_file()
            files = {}
            for idx in range(3):
                region = str(idx)
                dst = path.join(dir, region + path.splitext(src)[1])
                copyfile(src, dst)
                files[region] = dst

            return files

        with get_tmp_dir() as root:
            file = "image.jpg"
            files = create_guides(root, file)

            image = data.LocalImage(path.join(root, file), collect_local_guides=True)

            self.assertIsNotNone(image.guides)

            actual = {region: guide.file for region, guide in image.guides}
            desired = files
            self.assertDictEqual(actual, desired)
コード例 #6
0
    def test_len(self):
        num_images = 3
        images = {str(idx): data.LocalImage(str(idx)) for idx in range(num_images)}
        collection = data.LocalImageCollection(images)

        actual = len(collection)
        desired = num_images
        assert actual == desired
コード例 #7
0
    def test_LocalImage_read_rel_path(self):
        file = self.default_image_file()
        root, filename = path.dirname(file), path.basename(file)
        image = data.LocalImage(filename)

        actual = image.read(root)
        desired = self.load_image()
        self.assertImagesAlmostEqual(actual, desired)
コード例 #8
0
    def test_collect_guides_empty_dir(self, tmpdir):
        file = "image.jpg"
        dir = path.join(tmpdir, path.splitext(file)[0])
        os.mkdir(dir)
        open(path.join(dir, "not_an_image.txt"), "wb").close()

        image = data.LocalImage(path.join(tmpdir, file), collect_local_guides=True)

        assert image.guides is None
コード例 #9
0
    def test_read_abs_path(self, test_image_file, test_image):
        image = data.LocalImage(test_image_file)

        actual = image.read()
        desired = test_image
        ptu.assert_allclose(actual, desired)

        actual = image.read(root="/invalid/root")
        desired = test_image
        ptu.assert_allclose(actual, desired)
コード例 #10
0
    def test_LocalImage_collect_guides_empty_dir(self):
        with get_tmp_dir() as root:
            file = "image.jpg"
            dir = path.join(root, path.splitext(file)[0])
            os.mkdir(dir)
            open(path.join(dir, "not_an_image.txt"), "wb").close()

            image = data.LocalImage(path.join(root, file), collect_local_guides=True)

            self.assertIsNone(image.guides)
コード例 #11
0
    def test_LocalImage_read_abs_path(self):
        file = self.default_image_file()
        image = data.LocalImage(file)

        actual = image.read()
        desired = self.load_image()
        self.assertImagesAlmostEqual(actual, desired)

        actual = image.read(root="/invalid/root")
        desired = self.load_image()
        self.assertImagesAlmostEqual(actual, desired)
コード例 #12
0
    def test_read(self, tmpdir):
        def create_images(root):
            torch.manual_seed(0)
            files = {}
            for idx in range(3):
                name = str(idx)
                image = torch.rand(1, 3, 32, 32)
                file = path.join(root, f"{name}.png")
                write_image(image, file)
                files[name] = file
            return files

        files = create_images(tmpdir)
        collection = data.LocalImageCollection(
            {name: data.LocalImage(file) for name, file in files.items()}
        )

        actual = collection.read()
        desired = {name: read_image(file) for name, file in files.items()}
        ptu.assert_allclose(actual, desired)
コード例 #13
0
    def test_LocalImageCollection_read(self):
        def create_images(root):
            torch.manual_seed(0)
            files = {}
            for idx in range(3):
                name = str(idx)
                image = torch.rand(1, 3, 32, 32)
                file = path.join(root, f"{name}.png")
                write_image(image, file)
                files[name] = file
            return files

        with get_tmp_dir() as root:
            files = create_images(root)
            collection = data.LocalImageCollection(
                {name: data.LocalImage(file) for name, file in files.items()}
            )

            actual = collection.read()
            desired = {name: read_image(file) for name, file in files.items()}
            self.assertTensorDictAlmostEqual(actual, desired)
コード例 #14
0
    def test_collect_guides(self, tmpdir, test_image_file):
        def create_guides(root, file):
            dir = path.join(root, path.splitext(file)[0])
            os.makedirs(dir)
            src = test_image_file
            files = {}
            for idx in range(3):
                region = str(idx)
                dst = path.join(dir, region + path.splitext(src)[1])
                shutil.copyfile(src, dst)
                files[region] = dst

            return files

        file = "image.jpg"
        files = create_guides(tmpdir, file)

        image = data.LocalImage(path.join(tmpdir, file), collect_local_guides=True)
        assert image.guides is not None

        actual = {region: guide.file for region, guide in image.guides}
        desired = files
        assert actual == desired
コード例 #15
0
    def test_repr_smoke(self):
        images = {str(idx): data.LocalImage(str(idx)) for idx in range(3)}
        collection = data.LocalImageCollection(images)

        assert isinstance(repr(collection), str)
コード例 #16
0
 def test_repr_smoke(self):
     image = data.LocalImage("image", transform=nn.Module(), note="note")
     assert isinstance(repr(image), str)
コード例 #17
0
 def test_collect_guides_no_dir(self, tmpdir):
     image = data.LocalImage(
         path.join(tmpdir, "image.jpg"), collect_local_guides=True
     )
     assert image.guides is None