Exemple #1
0
    def test_doesnt_find_empty_dirs(self):

        rootdir = self.tempdir

        d1 = self.tempdir / 'foo'
        d2 = self.tempdir / 'grr' / 'arg'

        d1.mkdir(parents=True, exist_ok=True)
        d2.mkdir(parents=True, exist_ok=True)

        image_files = image_volume.find_image_volumes(rootdir)

        self.assertEqual(image_files, [])
Exemple #2
0
    def test_finds_nested_image_dirs(self):

        rootdir = self.tempdir

        d1 = self.tempdir / 'foo' / 'bar'
        d2 = self.tempdir / 'grr' / 'arg'

        self.make_image_dir(d1, 10, 32, 33)
        self.make_image_dir(d2, 11, 63, 64)

        image_dirs = image_volume.find_image_volumes(rootdir)

        image_dir_paths = {res.image_dir for res in image_dirs}

        self.assertEqual(len(image_dir_paths), 2)
        self.assertEqual({d1, d2}, image_dir_paths)

        image_shapes = {res.shape for res in image_dirs}
        self.assertEqual({(10, 32, 33), (11, 63, 64)}, image_shapes)
Exemple #3
0
    def test_finds_nested_image_files(self):

        rootdir = self.tempdir

        f1 = self.tempdir / 'foo' / 'bar.tif'
        f2 = self.tempdir / 'grr' / 'arg.tif'

        self.make_image_file(f1, 10, 32, 33)
        self.make_image_file(f2, 11, 63, 64)

        image_files = image_volume.find_image_volumes(rootdir)

        image_file_paths = {res.image_file for res in image_files}

        self.assertEqual(len(image_files), 2)
        self.assertEqual({f1, f2}, image_file_paths)

        image_shapes = {res.shape for res in image_files}
        self.assertEqual({(10, 32, 33), (11, 63, 64)}, image_shapes)
Exemple #4
0
    def test_finds_nested_mixed_image_dirs_files(self):

        rootdir = self.tempdir

        d1 = self.tempdir / 'foo' / 'bar'
        d2 = self.tempdir / 'grr' / 'arg'

        f1 = self.tempdir / 'foo' / 'bar.tif'
        f2 = self.tempdir / 'grr' / 'arg.tif'

        self.make_image_dir(d1, 10, 32, 33)
        self.make_image_dir(d2, 11, 63, 64)
        self.make_image_file(f1, 12, 55, 44)
        self.make_image_file(f2, 13, 44, 55)

        image_paths = image_volume.find_image_volumes(rootdir)

        self.assertEqual(len(image_paths), 4)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 2)
        self.assertEqual(len(image_file_paths), 2)

        self.assertEqual({d1, d2}, image_dir_paths)
        self.assertEqual({f1, f2}, image_file_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual(
            {(10, 32, 33), (11, 63, 64), (12, 55, 44), (13, 44, 55)},
            image_shapes)
Exemple #5
0
    def test_can_select_image_volume_type(self):

        rootdir = self.tempdir

        d1 = self.tempdir / 'foo' / 'bar1234'
        d2 = self.tempdir / 'grr' / 'arg2345'

        f1 = self.tempdir / 'foo' / 'bar2345.tif'
        f2 = self.tempdir / 'grr' / 'arg3456.tif'

        self.make_image_dir(d1, 10, 32, 33)
        self.make_image_dir(d2, 11, 63, 64)
        self.make_image_file(f1, 12, 55, 44)
        self.make_image_file(f2, 13, 44, 55)

        image_paths = image_volume.find_image_volumes(rootdir,
                                                      volume_type='dir')

        self.assertEqual(len(image_paths), 2)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 2)
        self.assertEqual(len(image_file_paths), 0)

        self.assertEqual({d1, d2}, image_dir_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual({(10, 32, 33), (11, 63, 64)}, image_shapes)

        image_paths = image_volume.find_image_volumes(rootdir,
                                                      volume_type='file')

        self.assertEqual(len(image_paths), 2)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 0)
        self.assertEqual(len(image_file_paths), 2)

        self.assertEqual({
            f1,
            f2,
        }, image_file_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual({(12, 55, 44), (13, 44, 55)}, image_shapes)

        image_paths = image_volume.find_image_volumes(rootdir,
                                                      volume_type='both')

        self.assertEqual(len(image_paths), 4)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 2)
        self.assertEqual(len(image_file_paths), 2)

        self.assertEqual({
            d1,
            d2,
        }, image_dir_paths)
        self.assertEqual({
            f1,
            f2,
        }, image_file_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual(
            {(10, 32, 33), (11, 63, 64), (12, 55, 44), (13, 44, 55)},
            image_shapes)
Exemple #6
0
    def test_finds_nested_mixed_image_dirs_files_matching_pattern(self):

        rootdir = self.tempdir

        d1 = self.tempdir / 'foo' / 'bar1234'
        d2 = self.tempdir / 'grr' / 'arg2345'

        f1 = self.tempdir / 'foo' / 'bar2345.tif'
        f2 = self.tempdir / 'grr' / 'arg3456.tif'

        self.make_image_dir(d1, 10, 32, 33)
        self.make_image_dir(d2, 11, 63, 64)
        self.make_image_file(f1, 12, 55, 44)
        self.make_image_file(f2, 13, 44, 55)

        image_paths = image_volume.find_image_volumes(rootdir,
                                                      pattern='bar[0-9]+')

        self.assertEqual(len(image_paths), 2)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 1)
        self.assertEqual(len(image_file_paths), 1)

        self.assertEqual({
            d1,
        }, image_dir_paths)
        self.assertEqual({
            f1,
        }, image_file_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual({(10, 32, 33), (12, 55, 44)}, image_shapes)

        image_paths = image_volume.find_image_volumes(rootdir,
                                                      pattern='arg[0-9]+')

        self.assertEqual(len(image_paths), 2)

        image_dir_paths = {
            res.image_dir
            for res in image_paths if hasattr(res, 'image_dir')
        }
        image_file_paths = {
            res.image_file
            for res in image_paths if hasattr(res, 'image_file')
        }

        self.assertEqual(len(image_dir_paths), 1)
        self.assertEqual(len(image_file_paths), 1)

        self.assertEqual({
            d2,
        }, image_dir_paths)
        self.assertEqual({
            f2,
        }, image_file_paths)

        image_shapes = {res.shape for res in image_paths}
        self.assertEqual({(11, 63, 64), (13, 44, 55)}, image_shapes)