示例#1
0
 def test_begin_calls_begin_on_inner(self):
     inner = mock.create_autospec(core.image_collection.ImageCollection)
     inner.get_next_image.return_value = (make_image(), 10)
     subject = aug_coll.AugmentedImageCollection(
         inner, [None, simple_augments.HorizontalFlip()])
     subject.begin()
     self.assertTrue(inner.begin.called)
示例#2
0
 def test_multiple_augmenters_makes_non_sequential(self):
     images = {
         idx + np.random.uniform(-0.2, 0.2): make_image(
             data=np.random.randint(0, 255, (10, 10, 3), dtype=np.uint8))
         for idx in range(10)
     }
     collection = make_image_collection(
         images=images,
         type_=core.sequence_type.ImageSequenceType.SEQUENTIAL)
     subject = aug_coll.AugmentedImageCollection(
         collection, [simple_augments.Rotate270()])
     self.assertEqual(core.sequence_type.ImageSequenceType.SEQUENTIAL,
                      subject.sequence_type)
     subject = aug_coll.AugmentedImageCollection(
         collection,
         [simple_augments.Rotate270(),
          simple_augments.Rotate90()])
     self.assertEqual(core.sequence_type.ImageSequenceType.NON_SEQUENTIAL,
                      subject.sequence_type)
示例#3
0
 def make_instance(self, *args, **kwargs):
     kwargs = du.defaults(
         kwargs, {
             'inner':
             make_image_collection(),
             'augmenters': [
                 simple_augments.HorizontalFlip(),
                 simple_augments.Rotate270(), None
             ]
         })
     return aug_coll.AugmentedImageCollection(*args, **kwargs)
示例#4
0
    def test_provides_index_as_stamp_if_multiple_augmenters(self):
        images = {
            idx + np.random.uniform(-0.2, 0.2): make_image(
                data=np.random.randint(0, 255, (10, 10, 3), dtype=np.uint8))
            for idx in range(10)
        }
        collection = make_image_collection(images=images)
        subject = aug_coll.AugmentedImageCollection(
            collection,
            [simple_augments.HorizontalFlip(),
             simple_augments.VerticalFlip()])

        self.assertEqual(20, len(subject))
        subject.begin()
        for idx in range(20):
            _, stamp = subject.get_next_image()
            self.assertEqual(idx, stamp)
        self.assertTrue(subject.is_complete())
示例#5
0
    def test_single_null_augment_is_same_as_inner_collection(self):
        images = {
            idx + np.random.uniform(-0.2, 0.2): make_image(
                data=np.random.randint(0, 255, (10, 10, 3), dtype=np.uint8))
            for idx in range(10)
        }
        collection = make_image_collection(images=images)
        subject = aug_coll.AugmentedImageCollection(collection, [None])

        self.assertEqual(10, len(subject))
        loop_count = 0
        prev_stamp = -1
        subject.begin()
        while not subject.is_complete():
            img, stamp = subject.get_next_image()
            self.assertIn(stamp, images)
            self.assertNPEqual(images[stamp].data, img.data)
            self.assertGreater(stamp, prev_stamp)
            prev_stamp = stamp
            loop_count += 1
        self.assertEqual(loop_count, 10)
示例#6
0
    def test_returns_augmented_images_in_order(self):
        img1 = make_image(data=np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]]))
        img2 = make_image(
            data=np.array([[11, 12, 13], [14, 15, 16], [17, 18, 19]]))
        collection = make_image_collection(images={1: img1, 2: img2})
        subject = aug_coll.AugmentedImageCollection(
            collection,
            [simple_augments.HorizontalFlip(),
             simple_augments.VerticalFlip()])

        subject.begin()
        img, _ = subject.get_next_image()
        self.assertNPEqual([[3, 2, 1], [6, 5, 4], [9, 8, 7]], img.data)
        img, _ = subject.get_next_image()
        self.assertNPEqual([[7, 8, 9], [4, 5, 6], [1, 2, 3]], img.data)
        img, _ = subject.get_next_image()
        self.assertNPEqual([[13, 12, 11], [16, 15, 14], [19, 18, 17]],
                           img.data)
        img, _ = subject.get_next_image()
        self.assertNPEqual([[17, 18, 19], [14, 15, 16], [11, 12, 13]],
                           img.data)
        self.assertTrue(subject.is_complete())