def plot_image(gaussians, title="", with_axis=True, xlim=None, ylim=None,
               colorschemes=color_schemes.get_colorbrewer_schemes(),legend_lw=2, *args, **kwargs):
    """

    :param with_axis: if mathematical axis is shown or not
    :param images: List of List of 2D-images in rgb to plot
    :param gaussians: [gaussian_1, ... , gaussian_n] gaussians from which the image is calculated
    :param title: title of picture
    :return:
    """
    fig, axis = plt.subplots(1, len(gaussians), sharex='col', sharey='row')
    limits = helper.get_limits(gaussians, xlim, ylim)
    extent = [limits.x_min, limits.x_max, limits.y_min, limits.y_max]
    z_list = helper.generate_distribution_grids(gaussians, limits=limits)
    z_min, z_max, z_sum = helper.generate_weights(z_list)

    colors = color_schemes.get_representiv_colors(colorschemes)
    names = [chr(i + 65) for i in range(len(gaussians))]
    custom_lines = [Line2D([0], [0], color=colors[i], lw=legend_lw) for i in
                    range(len(colors))]
    for i, gaussian in enumerate(gaussians):
        img, _ = picture_contours.calculate_image([z_list[i]], z_min, z_max, z_sum, [colorschemes[i]], *args, **kwargs)
        axis[i].imshow(img, extent=extent, origin='lower')
        if title == "" and gaussians:
            title = str(gaussian.get_attributes()[4:-1])
        axis[i].set_title(title)
        axis[i].legend([custom_lines[i]], [names[i]], frameon=False)
    if not with_axis:
        axis.axis("off")
    fig.subplots_adjust(wspace=0.1)
Exemplo n.º 2
0
    def test_calculate_image_z_values_mode_hierarchic(self):
        expection = [
            0.4, 0.3, 0.3, 0.1, 0.3, 0.26, 0.26, 0.1, 0.3, 0.3, 0.26, 0.1, 0.2,
            0.26, 0.2, 0.1, 0.1, 0.4, 0.4, 0.1
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                   [0.1, 0.4, 0.4, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                 [0.1, 0.4, 0.4, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        _, z_new = picture_contours.calculate_image(z_list,
                                                    z_min,
                                                    z_max,
                                                    z_sum,
                                                    colorschemes,
                                                    method="normal",
                                                    use_c_implementation=True,
                                                    mode="hierarchic")

        np.testing.assert_almost_equal(expection, z_new.flatten())
Exemplo n.º 3
0
    def test_calculate_image_z_values_smallest_distribution_threshold(self):
        expection = [
            0.4, 0.3, 0.3, 0.1, 0.3, 0.26, 0.26, 0.1, 0.3, 0.3, 0.26, 0.1, 0.2,
            0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.1
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        _, z_new = picture_contours.calculate_image(z_list,
                                                    z_min,
                                                    z_max,
                                                    z_sum,
                                                    colorschemes,
                                                    method="normal",
                                                    lower_border=40,
                                                    min_gauss=True)

        np.testing.assert_almost_equal(expection, z_new.flatten())
Exemplo n.º 4
0
    def test_calculate_image_mode_alpha_sum_quad(self):
        expection = [
            5.32024152e-01, 1.68651638e-01, 1.56912529e-02, 9.30715624e-01,
            3.85655726e-01, 6.66830259e-02, 9.30715624e-01, 3.85655726e-01,
            6.66830259e-02, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.30715624e-01, 3.85655726e-01, 6.66830259e-02, 8.82734339e-01,
            6.21739187e-01, 4.15755335e-01, 8.82734339e-01, 6.21739187e-01,
            4.15755335e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.30715624e-01, 3.85655726e-01, 6.66830259e-02, 5.93287936e-01,
            5.48320218e-01, 4.13175619e-01, 5.60209572e-01, 5.87508952e-01,
            6.70029145e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.92155044e-01, 7.03294607e-01, 4.53602567e-01, 5.83604240e-01,
            7.21023278e-01, 5.04883988e-01, 8.25209718e-01, 8.06722379e-01,
            6.66468977e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 7.02745821e-06,
            3.24189033e-01, 1.66017408e-01, 7.02745821e-06, 3.24189033e-01,
            1.66017408e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                   [0.1, 0.4, 0.4, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                 [0.1, 0.4, 0.4, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        result, _ = picture_contours.calculate_image(z_list,
                                                     z_min,
                                                     z_max,
                                                     z_sum,
                                                     colorschemes,
                                                     method="normal",
                                                     use_c_implementation=True,
                                                     mode="alpha_sum_quad")

        np.testing.assert_almost_equal(expection, result.flatten())
Exemplo n.º 5
0
    def test_calculate_image_mode_alpha_sum(self):
        expection = [
            5.32024152e-01, 1.68651638e-01, 1.56912529e-02, 9.30715624e-01,
            3.85655726e-01, 6.66830259e-02, 9.30715624e-01, 3.85655726e-01,
            6.66830259e-02, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.30715624e-01, 3.85655726e-01, 6.66830259e-02, 8.62317137e-01,
            6.67454582e-01, 4.82717490e-01, 8.62317137e-01, 6.67454582e-01,
            4.82717490e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.30715624e-01, 3.85655726e-01, 6.66830259e-02, 5.93287936e-01,
            5.48320218e-01, 4.13175619e-01, 6.28583961e-01, 6.02707444e-01,
            6.43289740e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            9.92155044e-01, 7.03294607e-01, 4.53602567e-01, 6.45322800e-01,
            7.32405248e-01, 5.37824601e-01, 8.25209718e-01, 8.06722379e-01,
            6.66468977e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00,
            1.00000000e+00, 1.00000000e+00, 1.00000000e+00, 7.02745821e-06,
            3.24189033e-01, 1.66017408e-01, 7.02745821e-06, 3.24189033e-01,
            1.66017408e-01, 1.00000000e+00, 1.00000000e+00, 1.00000000e+00
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                   [0.1, 0.4, 0.4, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                 [0.1, 0.4, 0.4, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        result, _ = picture_contours.calculate_image(z_list,
                                                     z_min,
                                                     z_max,
                                                     z_sum,
                                                     colorschemes,
                                                     method="normal",
                                                     use_c_implementation=True,
                                                     mode="alpha_sum")

        np.testing.assert_almost_equal(expection, result.flatten())
Exemplo n.º 6
0
    def test_calculate_image_mode_default(self):
        """
        default should be hierarchic

        """
        expection = [
            0.53202614, 0.16862745, 0.01568627, 0.93071895, 0.38562092,
            0.06666667, 0.93071895, 0.38562092, 0.06666667, 1., 1., 1.,
            0.93071895, 0.38562092, 0.06666667, 0.89451024, 0.58912264,
            0.36889634, 0.89451024, 0.58912264, 0.36889634, 1., 1., 1.,
            0.93071895, 0.38562092, 0.06666667, 0.52720176, 0.57970919,
            0.39866916, 0.62858396, 0.60270744, 0.64328974, 1., 1., 1.,
            0.99215686, 0.70326797, 0.45359477, 0.53919441, 0.71270852,
            0.48192737, 0.78778644, 0.82220669, 0.6597027, 1., 1., 1., 1., 1.,
            1., 0., 0.32418301, 0.16601307, 0., 0.32418301, 0.16601307, 1., 1.,
            1.
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                   [0.1, 0.4, 0.4, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                 [0.1, 0.4, 0.4, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        result, _ = picture_contours.calculate_image(z_list,
                                                     z_min,
                                                     z_max,
                                                     z_sum,
                                                     colorschemes,
                                                     method="normal",
                                                     use_c_implementation=True,
                                                     mode="default")

        np.testing.assert_almost_equal(expection, result.flatten())
Exemplo n.º 7
0
    def test_calculate_image_single(self):
        expection = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                     [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                     [0.1, 0.1, 0.1, 0.1]]
        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]]]
        z_min, z_max, = 0.1, 0.3
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1]]

        colorschemes = color_schemes.get_colorbrewer_schemes()
        _, z_new = picture_contours.calculate_image(z_list,
                                                    z_min,
                                                    z_max,
                                                    z_sum,
                                                    colorschemes,
                                                    method="normal")
        np.testing.assert_almost_equal(expection, z_new)
Exemplo n.º 8
0
    def test_calculate_image_z_values_multiple(self):
        """
        default should be hierarchic

        """
        expection = [
            0.4, 0.3, 0.3, 0.1, 0.3, 0.26, 0.26, 0.1, 0.3, 0.3, 0.26, 0.1, 0.2,
            0.26, 0.2, 0.1, 0.1, 0.4, 0.4, 0.1
        ]

        z_list = [[[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.4, 0.3, 0.3, 0.1], [0.3, 0.3, 0.3, 0.1],
                   [0.3, 0.3, 0.2, 0.1], [0.2, 0.2, 0.2, 0.1],
                   [0.1, 0.1, 0.1, 0.1]],
                  [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                   [0.1, 0.4, 0.4, 0.1]]]
        z_min, z_max, = 0.1, 0.4
        z_sum = [[0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.3, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.4, 0.3, 0.3, 0.1],
                 [0.3, 0.3, 0.3, 0.1], [0.3, 0.3, 0.2, 0.1],
                 [0.2, 0.2, 0.2, 0.1], [0.1, 0.1, 0.1, 0.1],
                 [0.1, 0.1, 0.1, 0.1], [0.1, 0.2, 0.2, 0.1],
                 [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.2, 0.1],
                 [0.1, 0.4, 0.4, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()
        _, z_new = picture_contours.calculate_image(z_list,
                                                    z_min,
                                                    z_max,
                                                    z_sum,
                                                    colorschemes,
                                                    method="normal")

        np.testing.assert_almost_equal(expection, z_new.flatten())
Exemplo n.º 9
0
    def test_calculate_image_constructed(self):
        expection = [
            1., 1., 1., 0.59361887, 0.39521946, 0.34250093, 0.48627451,
            0.71895425, 0.85359477, 1., 1., 1., 1., 1., 1., 0.59361887,
            0.39521946, 0.34250093, 0.48627451, 0.71895425, 0.85359477, 1., 1.,
            1., 1., 1., 1., 0.59361887, 0.39521946, 0.34250093, 0.48627451,
            0.71895425, 0.85359477, 1., 1., 1., 1., 1., 1., 0.59361887,
            0.39521946, 0.34250093, 0.48627451, 0.71895425, 0.85359477, 1., 1.,
            1., 1., 1., 1., 0.59361887, 0.39521946, 0.34250093, 0.48627451,
            0.71895425, 0.85359477, 1., 1., 1.
        ]
        z_list = [[[0.1, 0.2, 0.2, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.2, 0.2, 0.1], [0.1, 0.2, 0.2, 0.1],
                   [0.1, 0.2, 0.2, 0.1]],
                  [[0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.1, 0.1],
                   [0.1, 0.3, 0.1, 0.1], [0.1, 0.3, 0.1, 0.1],
                   [0.1, 0.3, 0.1, 0.1]]]
        z_min, z_max, z_sum = 0.1, 0.3, [[0.1, 0.2, 0.2, 0.1],
                                         [0.1, 0.2, 0.2, 0.1],
                                         [0.1, 0.2, 0.2, 0.1],
                                         [0.1, 0.2, 0.2, 0.1],
                                         [0.1, 0.2, 0.2, 0.1],
                                         [0.1, 0.3, 0.1, 0.1],
                                         [0.1, 0.3, 0.1, 0.1],
                                         [0.1, 0.3, 0.1, 0.1],
                                         [0.1, 0.3, 0.1, 0.1],
                                         [0.1, 0.3, 0.1, 0.1]]
        colorschemes = color_schemes.get_colorbrewer_schemes()

        result, _ = picture_contours.calculate_image(z_list,
                                                     z_min,
                                                     z_max,
                                                     z_sum,
                                                     colorschemes,
                                                     method="normal")
        np.testing.assert_almost_equal(expection, result.flatten())
Exemplo n.º 10
0
    def test_calculate_image_real_small(self):
        expection = [
            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.,
            0.99618958, 0.93030094, 0.87203314, 0.47583421, 0.3521213,
            0.47779367, 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.,
            0.99607843, 0.91240782, 0.83172208, 1., 1., 1., 1., 1., 1., 1., 1.,
            1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1., 1.
        ]

        z_list = [[[
            7.35424658e-12, 1.79952481e-09, 1.34697725e-13, 3.08422074e-24,
            2.16029678e-41
        ],
                   [
                       1.21251028e-11, 6.53506479e-05, 1.07745003e-04,
                       5.43409406e-11, 8.38378119e-24
                   ],
                   [
                       6.11526724e-18, 7.25980122e-07, 2.63643330e-02,
                       2.92881285e-04, 9.95289044e-13
                   ],
                   [
                       9.43470281e-31, 2.46707488e-15, 1.97341857e-06,
                       4.82879604e-04, 3.61444219e-08
                   ],
                   [
                       4.45270353e-50, 2.56461812e-30, 4.51860527e-17,
                       2.43539199e-10, 4.01528258e-10
                   ]],
                  [[
                      1.36757424e-08, 4.97389608e-07, 1.66604650e-07,
                      5.13951507e-10, 1.46016450e-14
                  ],
                   [
                       1.73606032e-06, 3.01228273e-04, 4.81361410e-04,
                       7.08420997e-06, 9.60187826e-10
                   ],
                   [
                       2.02966014e-06, 1.68011641e-03, 1.28085521e-02,
                       8.99301508e-04, 5.81507366e-07
                   ],
                   [
                       2.18537742e-08, 8.63033452e-05, 3.13887068e-03,
                       1.05138998e-03, 3.24338767e-06
                   ],
                   [
                       2.16707627e-12, 4.08282253e-08, 7.08420997e-06,
                       1.13205353e-05, 1.66604650e-07
                   ]]]
        z_min, z_max, = 4.452703529915074e-50, 0.026364333048110374
        z_sum = [[
            1.36830967e-08, 4.99189133e-07, 1.66604784e-07, 5.13951507e-10,
            1.46016450e-14
        ],
                 [
                     1.73607244e-06, 3.66578921e-04, 5.89106413e-04,
                     7.08426431e-06, 9.60187826e-10
                 ],
                 [
                     2.02966014e-06, 1.68084239e-03, 3.91728851e-02,
                     1.19218279e-03, 5.81508361e-07
                 ],
                 [
                     2.18537742e-08, 8.63033452e-05, 3.14084410e-03,
                     1.53426959e-03, 3.27953209e-06
                 ],
                 [
                     2.16707627e-12, 4.08282253e-08, 7.08420997e-06,
                     1.13207788e-05, 1.67006178e-07
                 ]]
        colorschemes = color_schemes.get_colorbrewer_schemes()

        result, _ = picture_contours.calculate_image(z_list,
                                                     z_min,
                                                     z_max,
                                                     z_sum,
                                                     colorschemes,
                                                     method="normal")
        np.testing.assert_almost_equal(expection, result.flatten())