Example #1
0
 def test_watershed01(self):
     "watershed 1"
     data = np.array([[0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
                      [0, 0, 0, 0, 0, 0, 0], [0, 1, 1, 1, 1, 1, 0],
                      [0, 1, 0, 0, 0, 1, 0], [0, 1, 0, 0, 0, 1, 0],
                      [0, 1, 0, 0, 0, 1, 0], [0, 1, 1, 1, 1, 1, 0],
                      [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]],
                     np.uint8)
     markers = np.array([[-1, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
                         [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
                         [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 1, 0, 0, 0],
                         [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0],
                         [0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0]],
                        np.int8)
     out = watershed(data, markers, self.eight)
     expected = np.array([[-1, -1, -1, -1, -1, -1, -1],
                          [-1, -1, -1, -1, -1, -1, -1],
                          [-1, -1, -1, -1, -1, -1, -1],
                          [-1, 1, 1, 1, 1, 1, -1], [-1, 1, 1, 1, 1, 1, -1],
                          [-1, 1, 1, 1, 1, 1, -1], [-1, 1, 1, 1, 1, 1, -1],
                          [-1, 1, 1, 1, 1, 1, -1],
                          [-1, -1, -1, -1, -1, -1, -1],
                          [-1, -1, -1, -1, -1, -1, -1]])
     error = diff(expected, out)
     assert error < eps
     out = _slow_watershed(data, markers, 8)
     error = diff(expected, out)
     assert error < eps
 def test_watershed01(self):
     "watershed 1"
     data = np.array(
         [
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 1, 1, 1, 1, 1, 0],
             [0, 1, 0, 0, 0, 1, 0],
             [0, 1, 0, 0, 0, 1, 0],
             [0, 1, 0, 0, 0, 1, 0],
             [0, 1, 1, 1, 1, 1, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
         ],
         np.uint8,
     )
     markers = np.array(
         [
             [-1, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 1, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
             [0, 0, 0, 0, 0, 0, 0],
         ],
         np.int8,
     )
     out = watershed(data, markers, self.eight)
     expected = np.array(
         [
             [-1, -1, -1, -1, -1, -1, -1],
             [-1, -1, -1, -1, -1, -1, -1],
             [-1, -1, -1, -1, -1, -1, -1],
             [-1, 1, 1, 1, 1, 1, -1],
             [-1, 1, 1, 1, 1, 1, -1],
             [-1, 1, 1, 1, 1, 1, -1],
             [-1, 1, 1, 1, 1, 1, -1],
             [-1, 1, 1, 1, 1, 1, -1],
             [-1, -1, -1, -1, -1, -1, -1],
             [-1, -1, -1, -1, -1, -1, -1],
         ]
     )
     error = diff(expected, out)
     assert error < eps
     out = _slow_watershed(data, markers, 8)
     error = diff(expected, out)
     assert error < eps