示例#1
0
    def test_draw_varying_background_thickness(self, compute_alpha_mock):
        def slice_transform(x):
            return x

        peak_center = [3, 1, 3]
        ellipsoid = create_ellipsoid_info(radii=(0.5, 0.5, 0.5),
                                          axes=("1 0 0", "0 1 0", "0 0 1"),
                                          bkgd_radii=((0.5, 0.6, 0.6),
                                                      (0.6, 1.0, 1.0)))
        painter = MagicMock()
        fg_color, bg_color = 'r', 'g'
        fake_alpha = 0.5
        compute_alpha_mock.return_value = fake_alpha

        painted = draw_representation(EllipsoidalIntegratedPeakRepresentation,
                                      peak_center, ellipsoid, painter,
                                      fg_color, bg_color, slice_transform)

        self.assertTrue(painted is not None)
        self._assert_painter_calls(painter, (peak_center[0], peak_center[1]),
                                   cross_width=0.1,
                                   signal_width=1.0,
                                   signal_height=1.0,
                                   angle=0,
                                   alpha=fake_alpha,
                                   fg_color=fg_color,
                                   bkgd_width=1.2,
                                   bkgd_height=2.0,
                                   thickness=((0.6 - 0.5) / 0.6,
                                              (1.0 - 0.6) / 1.0),
                                   bg_color=bg_color)
示例#2
0
    def test_draw_peak_representation_for_ellipsoid_shape(self):
        shape_descr = create_ellipsoid_info((0.5, 0.3, 0.2), ("1 0 0", "0 1 0", "0 0 1"),
                                            ((1.45, 1.25, 1.15), (1.5, 1.3, 1.2)))
        painter = draw_shape("ellipsoid", json.dumps(shape_descr))

        painter.cross.assert_called_once()
        painter.ellipse.assert_called_once()
        painter.elliptical_shell.assert_called_once()
示例#3
0
def create_test_ellipsoid(bg_shell=True, do_translate=False):
    translation = [0.1, 0, 0] if do_translate else [0, 0, 0
                                                    ]  # shift to peak centre
    radii = [1.5, 1.3, 1.4]
    if bg_shell:
        frac_thick = 0.1  # fractional thickness of major axis
        bg_outer = [2 * r for r in radii]
        bg_inner = [(1 - frac_thick) * r for r in bg_outer]
    else:
        bg_outer = 3 * [0]
        bg_inner = radii
    return create_ellipsoid_info(radii=radii,
                                 axes=("1 0 0", "0 1 0", "0 0 1"),
                                 bkgd_radii=((bg_inner), (bg_outer)),
                                 translation=translation)
def create_test_ellipsoid():
    return create_ellipsoid_info(radii=(1.5, 1.3, 1.4),
                                 axes=("1 0 0", "0 1 0", "0 0 1"),
                                 bkgd_radii=(((2.5, 2.3, 2.4)), ((2.6, 2.4,
                                                                  2.5))))