Example #1
0
    def test_three_colors_power(self):
        res = create_color_map(
            ColorMap((
                ColorPosition(0, Color(0, 0, 0)),
                ColorPosition(0.5, Color(255, 0, 0)),
                ColorPosition(1, Color(0, 0, 0)),
            )),
            2,
        )
        assert res.shape == (1024, 3)
        assert np.all(res[:, 1:] == 0)
        assert np.all(np.sort(res[:256, 0]) == res[:256, 0])
        assert np.sum(np.bincount(res[:256, 0]) != 1) < 2
        assert np.all(np.sort(res[256:, 0])[::-1] == res[256:, 0])
        assert np.sum(np.bincount(res[256:, 0]) != 3) < 2

        res = create_color_map(
            ColorMap((
                ColorPosition(0, Color(0, 0, 0)),
                ColorPosition(0.25, Color(255, 0, 0)),
                ColorPosition(1, Color(0, 0, 0)),
            )),
            0.5,
        )
        assert res.shape == (1024, 3)
        assert np.all(res[:, 1:] == 0)
        assert np.all(np.sort(res[:512, 0]) == res[:512, 0])
        assert np.sum(np.bincount(res[:512, 0]) != 2) < 2
        assert np.all(np.sort(res[512:, 0])[::-1] == res[512:, 0])
        assert np.sum(np.bincount(res[512:, 0]) != 2) < 2
Example #2
0
def convert_colormap_to_image(colormap: BaseColormap) -> NumpyQImage:
    """
    convert colormap to image of size (512, 1)

    :param colormap: colormap to convert
    :return: Color Bar image
    """
    color_array = create_color_map(colormap)
    return colormap_array_to_image(color_array)
Example #3
0
    def test_two_colors(self):
        res = create_color_map(
            ColorMap([
                ColorPosition(0, Color(0, 0, 0)),
                ColorPosition(1, Color(0, 0, 0))
            ]))
        assert res.shape == (1024, 3)
        assert np.all(res == 0)

        res = create_color_map(
            ColorMap([
                ColorPosition(0, Color(0, 0, 0)),
                ColorPosition(1, Color(255, 0, 0))
            ]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 1:] == 0)
        assert np.all(res[:, 0] == np.linspace(
            0, 256, 1024, endpoint=False, dtype=np.uint8))

        res = create_color_map(
            ColorMap([
                ColorPosition(0.25, Color(0, 0, 0)),
                ColorPosition(0.75, Color(255, 0, 0))
            ]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 1:] == 0)
        assert np.all(res[:255] == 0)
        assert np.all(res[-256:, 0] == 255)
        assert np.all(np.sort(res[256:-256, 0]) == res[256:-256, 0])
        assert np.sum(
            np.bincount(res[256:-256, 0]) != 2) < 2  # error toleration

        res = create_color_map(
            ColorMap([
                ColorPosition(0, Color(0, 255, 0)),
                ColorPosition(1, Color(255, 0, 0))
            ]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 2] == 0)
        assert np.all(np.sort(res[:, 0]) == res[:, 0])
        assert np.sum(np.bincount(res[:, 0]) != 4) < 2
        assert np.all(np.sort(res[:, 1])[::-1] == res[:, 1])
        assert np.sum(np.bincount(res[:, 1]) != 4) < 4
Example #4
0
    def test_one_color(self):
        res = create_color_map(ColorMap([ColorPosition(0, Color(70, 50, 30))]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 0] == 70)
        assert np.all(res[:, 1] == 50)
        assert np.all(res[:, 2] == 30)

        res = create_color_map(
            ColorMap([ColorPosition(0.5, Color(70, 50, 30))]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 0] == 70)
        assert np.all(res[:, 1] == 50)
        assert np.all(res[:, 2] == 30)

        res = create_color_map(ColorMap([ColorPosition(1, Color(70, 50, 30))]))
        assert res.shape == (1024, 3)
        assert np.all(res[:, 0] == 70)
        assert np.all(res[:, 1] == 50)
        assert np.all(res[:, 2] == 30)
Example #5
0
 def test_three_colors(self):
     res = create_color_map(
         ColorMap([
             ColorPosition(0, Color(0, 0, 0)),
             ColorPosition(0.5, Color(0, 0, 0)),
             ColorPosition(1, Color(0, 0, 0))
         ]))
     assert res.shape == (1024, 3)
     assert np.all(res == 0)
     res = create_color_map(
         ColorMap([
             ColorPosition(0, Color(0, 0, 0)),
             ColorPosition(0.5, Color(255, 0, 0)),
             ColorPosition(1, Color(0, 0, 0)),
         ]))
     assert res.shape == (1024, 3)
     assert np.all(res[:, 1:] == 0)
     assert np.all(np.sort(res[:512, 0]) == res[:512, 0])
     assert np.sum(np.bincount(res[:512, 0]) != 2) < 1
     assert np.all(np.sort(res[512:, 0])[::-1] == res[512:, 0])
     assert np.sum(np.bincount(res[512:, 0]) != 2) < 2
Example #6
0
 def test_use_color_image(self):
     array = create_color_map(
         ColorMap([
             ColorPosition(0, Color(0, 255, 0)),
             ColorPosition(1, Color(255, 0, 0))
         ]))
     img = color_bar_fun(
         np.linspace(0, 256, 512, endpoint=False, dtype=np.uint8).reshape(
             (1, 512)), array)
     assert img.shape == (1, 512, 3)
     assert np.all(img[0, :, 2] == 0)
     assert np.all(np.sort(img[0, :, 0]) == img[0, :, 0])
     assert np.sum(np.bincount(img[0, :, 0]) != 2) < 1
Example #7
0
 def convert_to_vispy_colormap(colormap: ColorMap):
     return Colormap(ColorArray(create_color_map(colormap) / 255))
Example #8
0
 def test_base(self):
     res = create_color_map(inferno)
     assert res.shape == (1024, 3)
Example #9
0
 def test_no_color(self):
     res = create_color_map(ColorMap([]))
     assert res.shape == (1024, 3)
     assert np.all(res == 0)