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
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)
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
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)
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)
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
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)
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
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)
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)
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)
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)
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)
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
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)
def test_repr_smoke(self): image = data.LocalImage("image", transform=nn.Module(), note="note") assert isinstance(repr(image), str)
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