Beispiel #1
0
    def test_convolve__out_of_range(self):
        full = Mask((2,2))
        full.fill()

        self.assertEqual(full.convolve(full, None, ( 0,  3)).count, 0)
        self.assertEqual(full.convolve(full, None, ( 0,  2)).count, 3)
        self.assertEqual(full.convolve(full, None, (-2, -2)).count, 1)
        self.assertEqual(full.convolve(full, None, (-3, -3)).count, 0)
Beispiel #2
0
    def test_convolve__point_identities(self):
        """Convolving with a single point is the identity, while
        convolving a point with something flips it."""
        m = random_mask((100,100))
        k = Mask((1,1))
        k.set_at((0,0))

        self.assertMaskEquals(m,m.convolve(k))
        self.assertMaskEquals(m,k.convolve(k.convolve(m)))
Beispiel #3
0
 def test_convolve__size(self):
     sizes = [(1,1), (31,31), (32,32), (100,100)]
     for s1 in sizes:
         m1 = Mask(s1)
         for s2 in sizes:
             m2 = Mask(s2)
             o = m1.convolve(m2)
             for i in (0,1):
                 self.assertEqual(o.size[i], m1.size[i] + m2.size[i] - 1)