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)
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()
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))))