예제 #1
0
def test_uint16():
    im16, eroded16, dilated16, opened16, closed16 = (
                    map(img_as_uint, [im, eroded, dilated, opened, closed]))
    np.testing.assert_allclose(grey.erosion(im16), eroded16)
    np.testing.assert_allclose(grey.dilation(im16), dilated16)
    np.testing.assert_allclose(grey.opening(im16), opened16)
    np.testing.assert_allclose(grey.closing(im16), closed16)
예제 #2
0
def test_uint16():
    with expected_warnings(['Possible precision loss']):
        im16, eroded16, dilated16, opened16, closed16 = (
            map(img_as_uint, [im, eroded, dilated, opened, closed]))
    np.testing.assert_allclose(grey.erosion(im16), eroded16)
    np.testing.assert_allclose(grey.dilation(im16), dilated16)
    np.testing.assert_allclose(grey.opening(im16), opened16)
    np.testing.assert_allclose(grey.closing(im16), closed16)
예제 #3
0
def test_discontiguous_out_array():
    image = np.array([[5, 6, 2],
                      [7, 2, 2],
                      [3, 5, 1]], np.uint8)
    out_array_big = np.zeros((5, 5), np.uint8)
    out_array = out_array_big[::2, ::2]
    expected_dilation = np.array([[7, 0, 6, 0, 6],
                                  [0, 0, 0, 0, 0],
                                  [7, 0, 7, 0, 2],
                                  [0, 0, 0, 0, 0],
                                  [7, 0, 5, 0, 5]], np.uint8)
    expected_erosion = np.array([[5, 0, 2, 0, 2],
                                 [0, 0, 0, 0, 0],
                                 [2, 0, 2, 0, 1],
                                 [0, 0, 0, 0, 0],
                                 [3, 0, 1, 0, 1]], np.uint8)
    grey.dilation(image, out=out_array)
    testing.assert_array_equal(out_array_big, expected_dilation)
    grey.erosion(image, out=out_array)
    testing.assert_array_equal(out_array_big, expected_erosion)
예제 #4
0
def test_compare_with_grey_dilation():
    # compare the result of maximum filter with dilate

    image = (np.random.rand(100, 100) * 256).astype(np.uint8)
    out = np.empty_like(image)
    mask = np.ones(image.shape, dtype=np.uint8)

    for r in range(3, 20, 2):
        elem = np.ones((r, r), dtype=np.uint8)
        rank.maximum(image=image, selem=elem, out=out, mask=mask)
        cm = grey.dilation(image=image, selem=elem)
        assert_equal(out, cm)
예제 #5
0
 def test_dilate_erode_symmetry(self):
     for s in self.selems:
         c = grey.erosion(self.black_pixel, s)
         d = grey.dilation(self.white_pixel, s)
         assert np.all(c == (255 - d))
예제 #6
0
def test_float():
    np.testing.assert_allclose(grey.erosion(im), eroded)
    np.testing.assert_allclose(grey.dilation(im), dilated)
    np.testing.assert_allclose(grey.opening(im), opened)
    np.testing.assert_allclose(grey.closing(im), closed)
예제 #7
0
def test_binary_dilation():
    strel = selem.square(3)
    binary_res = binary.binary_dilation(bw_img, strel)
    grey_res = img_as_bool(grey.dilation(bw_img, strel))
    testing.assert_array_equal(binary_res, grey_res)
예제 #8
0
def test_binary_dilation():
    strel = selem.square(3)
    binary_res = binary.binary_dilation(bw_img, strel)
    grey_res = img_as_bool(grey.dilation(bw_img, strel))
    testing.assert_array_equal(binary_res, grey_res)
예제 #9
0
 def test_dilate_erode_symmetry(self):
     for s in self.selems:
         c = grey.erosion(self.black_pixel, s)
         d = grey.dilation(self.white_pixel, s)
         assert np.all(c == (255 - d))
예제 #10
0
def test_float():
    np.testing.assert_allclose(grey.erosion(im), eroded)
    np.testing.assert_allclose(grey.dilation(im), dilated)
    np.testing.assert_allclose(grey.opening(im), opened)
    np.testing.assert_allclose(grey.closing(im), closed)
예제 #11
0
def test_binary_dilation():
    strel = selem.square(3)
    binary_res = binary.binary_dilation(bw_img, strel)
    with expected_warnings(['precision loss']):
        grey_res = img_as_bool(grey.dilation(bw_img, strel))
    testing.assert_array_equal(binary_res, grey_res)
예제 #12
0
def test_binary_dilation():
    strel = selem.square(3)
    binary_res = binary.binary_dilation(bw_lena, strel)
    grey_res = grey.dilation(bw_lena, strel)
    testing.assert_array_equal(binary_res, grey_res)