示例#1
0
    def test_ones(self, name):
        pipeline = Pipeline(
            get_project_path() / 'test/data/pipeline/ones.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif', 45, 45)
        pipeline.run()
        result = pipeline.result

        window = get_corresponding_window(
            get_project_path() / 'test/data/pipeline/ones.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif')
        pixels = get_pixels(window)
        rectangle = pixels
        inner_rectangle = rectangle[np.logical_and(
            np.logical_and(rectangle[:, 0] != window[0][0],
                           rectangle[:, 1] != window[1][0]),
            np.logical_and(rectangle[:, 0] != window[0][1] - 1,
                           rectangle[:, 1] != window[1][1] - 1))]

        # check result is lesser equal 9 everywhere
        assert (result <= 9).all()
        # check that all counts on the diagonal are greater 0 and less or equal 3
        assert (result[rectangle[:, 0], rectangle[:, 1]] > 0).all()
        assert (result[inner_rectangle[:, 0], inner_rectangle[:,
                                                              1]] == 9).all()
        # check that result is 0 everywhere else
        result[rectangle[:, 0], rectangle[:, 1]] = 0
        assert (result == 0).all()
示例#2
0
    def test_bottom_edge(self, name):
        pipeline = Pipeline(
            get_project_path() / 'test/data/pipeline/bottom_edge.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif', 45, 45)
        pipeline.run()
        result = pipeline.result

        height, width = get_shape(get_project_path() /
                                  f'test/data/pipeline/{name}.tif')

        if height == width == 30:
            assert (result == 0).all()
        else:
            window = get_corresponding_window(
                get_project_path() / 'test/data/pipeline/bottom_edge.tif',
                get_project_path() / f'test/data/pipeline/{name}.tif')
            pixels = get_pixels(window)
            horizontal_edge = pixels[pixels[:, 0] == window[0][1] - 1]
            # check result is lesser equal 9 everywhere
            assert (result <= 9).all()
            # check that all counts on the vertical edge are greater 0 and less or equal 3
            assert (result[horizontal_edge[:, 0], horizontal_edge[:, 1]] >
                    0).all() and (result[horizontal_edge[:, 0],
                                         horizontal_edge[:, 1]] <= 3).all()
            # check that result is 0 everywhere else
            result[horizontal_edge[:, 0], horizontal_edge[:, 1]] = 0
            assert (result == 0).all()
示例#3
0
    def test_left_edge(self, name):
        pipeline = Pipeline(
            get_project_path() / 'test/data/pipeline/left_edge.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif', 45, 45)
        pipeline.run()
        result = pipeline.result

        window = get_corresponding_window(
            get_project_path() / 'test/data/pipeline/left_edge.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif')
        pixels = get_pixels(window)
        vertical_edge = pixels[pixels[:, 1] == window[1][0]]

        # check result is lesser equal 9 everywhere
        assert (result <= 9).all()
        # check that all counts on the vertical edge are greater 0 and less or equal 3
        assert (result[vertical_edge[:, 0], vertical_edge[:, 1]] > 0).all(
        ) and (result[vertical_edge[:, 0], vertical_edge[:, 1]] <= 3).all()
        # check that result is 0 everywhere else
        result[vertical_edge[:, 0], vertical_edge[:, 1]] = 0
        assert (result == 0).all()
示例#4
0
    def test_eye(self, name):
        pipeline = Pipeline(
            get_project_path() / 'test/data/pipeline/eye.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif', 45, 45)
        pipeline.run()
        result = pipeline.result

        window = get_corresponding_window(
            get_project_path() / 'test/data/pipeline/eye.tif',
            get_project_path() / f'test/data/pipeline/{name}.tif')
        first_pixel = get_pixels(window)[0]
        diagonal = np.array([[
            first_pixel[0] + i, first_pixel[1] + i
        ] for i in range(
            min(window[0][1] - window[0][0], window[1][1] - window[1][0]))])
        # check result is lesser equal 9 everywhere
        assert (result <= 9).all()
        # check that all counts on the diagonal are greater 0 and less or equal 3
        assert (result[diagonal[:, 0], diagonal[:, 1]] > 0).all() and (
            result[diagonal[:, 0], diagonal[:, 1]] <= 3).all()
        # check that result is 0 everywhere else
        result[diagonal[:, 0], diagonal[:, 1]] = 0
        assert (result == 0).all()
 def test_get_pixels(self):
     window = ((0, 3), (5, 8))
     expected = np.array([[0, 5], [0, 6], [0, 7], [1, 5], [1, 6], [1, 7],
                          [2, 5], [2, 6], [2, 7]])
     assert np.all(get_pixels(window) == expected)