Exemplo n.º 1
0
def test_plot_2d_with_dimension_of_size_2():
    a = sc.DataArray(data=sc.Variable(dims=['y', 'x'], shape=[2, 4]),
                     coords={
                         'x': sc.Variable(dims=['x'], values=[1, 2, 3, 4]),
                         'y': sc.Variable(dims=['y'], values=[1, 2])
                     })
    plot(a)
Exemplo n.º 2
0
def test_plot_customized_axes():
    d = make_dense_dataset(ndim=3)
    plot(d["Sample"],
         projection="3d",
         xlabel="MyXlabel",
         ylabel="MyYlabel",
         zlabel="MyZlabel")
Exemplo n.º 3
0
def test_plot_2d_with_decreasing_edges():
    a = sc.DataArray(data=sc.Variable(dims=['y', 'x'],
                                      values=np.arange(12).reshape(3, 4)),
                     coords={
                         'x': sc.Variable(dims=['x'], values=[4, 3, 2, 1]),
                         'y': sc.Variable(dims=['y'], values=[1, 2, 3])
                     })
    plot(a)
Exemplo n.º 4
0
def test_plot_1d_two_entries_hide_variances():
    d = make_dense_dataset(ndim=1, variances=True)
    d["Background"] = sc.Variable(['tof'],
                                  values=2.0 * np.random.rand(50),
                                  unit=sc.units.counts)
    plot(d, errorbars=False)
    # When variances are not present, the plot does not fail, is silently does
    # not show variances
    plot(d, errorbars={"Sample": False, "Background": True})
Exemplo n.º 5
0
def test_plot_string_axis_labels_1d_short():
    d = sc.Dataset()
    N = 5
    d.coords[Dim.X] = sc.Variable(dims=[Dim.X],
                                  values=["a", "b", "c", "d", "e"],
                                  unit=sc.units.m)
    d["Sample"] = sc.Variable([Dim.X],
                              values=np.random.rand(N),
                              unit=sc.units.counts)
    plot(d)
Exemplo n.º 6
0
def test_plot_4d_with_masks_projection_3d():
    data = sc.DataArray(data=sc.Variable(
        dims=['pack', 'tube', 'straw', 'pixel'],
        values=np.random.rand(2, 8, 7, 256)),
                        coords={})
    a = np.sin(np.linspace(0, 3.14, num=256))
    data += sc.Variable(dims=['pixel'], values=a)
    data.masks['tube_ends'] = sc.Variable(dims=['pixel'],
                                          values=np.where(
                                              a > 0.5, True, False))
    plot(data, projection="3d")
Exemplo n.º 7
0
def test_plot_string_axis_labels_1d():
    d = sc.Dataset()
    N = 10
    d.coords['x'] = sc.Variable(
        dims=['x'],
        values=["a", "b", "c", "d", "e", "f", "g", "h", "i", "j"],
        unit=sc.units.m)
    d["Sample"] = sc.Variable(['x'],
                              values=np.random.rand(N),
                              unit=sc.units.counts)
    plot(d)
Exemplo n.º 8
0
def test_plot_2d_with_labels_but_no_dimension_coord():
    N = 50
    M = 10
    y = np.arange(M).astype(np.float)
    z = np.random.random([M, N])
    d = sc.Dataset()
    d.coords['y'] = sc.Variable(['y'], values=y, unit=sc.units.m)
    d['Signal'] = sc.Variable(['y', 'x'], values=z, unit=sc.units.kg)
    d.coords['somelabels'] = sc.Variable(['x'],
                                         values=np.linspace(101., 155., N),
                                         unit=sc.units.s)
    plot(d, axes=['y', 'somelabels'])
Exemplo n.º 9
0
def test_plot_3d_data_ragged():
    """
    This test has caught MANY bugs and should not be disabled.
    """
    d = make_dense_dataset(ndim=3, ragged=True)
    plot(d)
    # Also check that it raises an error if we try to have ragged coord along
    # slider dim
    with pytest.raises(RuntimeError) as e:
        plot(d, axes={'x': 'tof', 'y': 'x'})
    assert str(e.value) == ("A ragged coordinate cannot lie along "
                            "a slider dimension, it must be one of "
                            "the displayed dimensions.")
Exemplo n.º 10
0
def test_plot_2d_ragged_coord_x_and_y_edges():
    N = 10
    M = 5
    x = np.arange(N).astype(np.float64)
    y = np.arange(M).astype(np.float64)
    xx, yy = np.meshgrid(x, y)
    z = np.random.random([M, N])
    for i in range(M):
        xx[i] *= (i + 1.0)
    d = sc.Dataset()
    d.coords['x'] = sc.Variable(['y', 'x'], values=xx, unit=sc.units.m)
    d.coords['y'] = sc.Variable(['y'], values=y, unit=sc.units.m)
    d['a'] = sc.Variable(['y', 'x'], values=z, unit=sc.units.counts)
    plot(d)
Exemplo n.º 11
0
def test_plot_vector_axis_labels_1d():
    d = sc.Dataset()
    N = 10
    vecs = []
    for i in range(N):
        vecs.append(np.random.random(3))
    d.coords[Dim.X] = sc.Variable([Dim.X],
                                  values=vecs,
                                  unit=sc.units.m,
                                  dtype=sc.dtype.vector_3_float64)
    d["Sample"] = sc.Variable([Dim.X],
                              values=np.random.rand(N),
                              unit=sc.units.counts)
    plot(d)
Exemplo n.º 12
0
def test_plot_1d_three_entries_with_labels():
    N = 50
    d = make_dense_dataset(ndim=1, labels=True)
    d["Background"] = sc.Variable([Dim.Tof],
                                  values=2.0 * np.random.rand(N),
                                  unit=sc.units.counts)
    d.coords[Dim.X] = sc.Variable([Dim.X],
                                  values=np.arange(N).astype(np.float64),
                                  unit=sc.units.m)
    d["Sample2"] = sc.Variable([Dim.X],
                               values=10.0 * np.random.rand(N),
                               unit=sc.units.counts)
    d.labels["Xlabels"] = sc.Variable([Dim.X],
                                      values=np.linspace(151., 155., N),
                                      unit=sc.units.s)
    plot(d, axes={Dim.X: "Xlabels", Dim.Tof: "somelabels"})
Exemplo n.º 13
0
def test_plot_from_dict_data_array_2d():
    plot({
        "data": {
            "dims": ["x", "y"],
            "values": np.random.random([20, 10])
        },
        "coords": {
            "x": {
                "dims": ["x"],
                "values": np.arange(21)
            },
            "y": {
                "dims": ["y"],
                "values": np.arange(11)
            }
        }
    })
Exemplo n.º 14
0
def test_plot_2d_ragged_coord_with_masks():
    N = 10
    M = 5
    x = np.arange(N + 1).astype(np.float64)
    y = np.arange(M).astype(np.float64)
    xx, yy = np.meshgrid(x, y)
    z = np.random.random([M, N])
    for i in range(M):
        xx[i] *= (i + 1.0)
    d = sc.Dataset()
    d.coords['x'] = sc.Variable(['y', 'x'], values=xx, unit=sc.units.m)
    d.coords['y'] = sc.Variable(['y'], values=y, unit=sc.units.m)
    d['a'] = sc.Variable(['y', 'x'], values=z, unit=sc.units.counts)
    d['a'].masks['b'] = sc.Variable(['y', 'x'],
                                    values=np.where(z < 0.5, True, False),
                                    dtype=bool)
    plot(d)
Exemplo n.º 15
0
def test_sparse_data_slice_with_on_the_fly_histogram():
    N = 50
    M = 10
    var = sc.Variable(dims=[Dim.X, Dim.Tof],
                      shape=[M, sc.Dimensions.Sparse],
                      unit=sc.units.us)
    for i in range(M):
        v = np.random.normal(50.0, scale=20.0, size=int(np.random.rand() * N))
        var[Dim.X, i].values = v

    d = sc.Dataset()
    d.coords[Dim.X] = sc.Variable([Dim.X],
                                  values=np.arange(M),
                                  unit=sc.units.m)
    d['a'] = sc.DataArray(coords={Dim.Tof: var})
    d['b'] = sc.DataArray(coords={Dim.Tof: var * 1.1})
    plot(d[Dim.X, 4], bins=100)
Exemplo n.º 16
0
def test_plot_2d_with_dimension_of_size_1():
    N = 10
    M = 1
    x = np.arange(N, dtype=np.float64)
    y = np.arange(M, dtype=np.float64)
    z = np.arange(M + 1, dtype=np.float64)
    d = sc.Dataset()
    d.coords[Dim.X] = sc.Variable([Dim.X], values=x, unit=sc.units.m)
    d.coords[Dim.Y] = sc.Variable([Dim.Y], values=y, unit=sc.units.m)
    d.coords[Dim.Z] = sc.Variable([Dim.Z], values=z, unit=sc.units.m)
    d["a"] = sc.Variable([Dim.Y, Dim.X],
                         values=np.random.random([M, N]),
                         unit=sc.units.counts)
    d["b"] = sc.Variable([Dim.Z, Dim.X],
                         values=np.random.random([M, N]),
                         unit=sc.units.counts)
    plot(d["a"])
    plot(d["b"])
Exemplo n.º 17
0
def test_plot_string_and_vector_axis_labels_2d():
    N = 10
    M = 5
    vecs = []
    for i in range(N):
        vecs.append(np.random.random(3))
    d = sc.Dataset()
    d.coords['x'] = sc.Variable(['x'],
                                values=vecs,
                                unit=sc.units.m,
                                dtype=sc.dtype.vector_3_float64)
    d.coords['y'] = sc.Variable(['y'],
                                values=['a', 'b', 'c', 'd', 'e'],
                                unit=sc.units.m)
    d['Signal'] = sc.Variable(['y', 'x'],
                              values=np.random.random([M, N]),
                              unit=sc.units.counts)
    plot(d)
Exemplo n.º 18
0
def test_plot_string_and_vector_axis_labels_2d():
    N = 10
    M = 5
    vecs = []
    for i in range(N):
        vecs.append(np.random.random(3))
    d = sc.Dataset()
    d.coords[Dim.X] = sc.Variable([Dim.X],
                                  values=vecs,
                                  unit=sc.units.m,
                                  dtype=sc.dtype.vector_3_float64)
    d.coords[Dim.Y] = sc.Variable([Dim.Y],
                                  values=["a", "b", "c", "d", "e"],
                                  unit=sc.units.m)
    d["Signal"] = sc.Variable([Dim.Y, Dim.X],
                              values=np.random.random([M, N]),
                              unit=sc.units.counts)
    plot(d)
Exemplo n.º 19
0
def test_plot_projection_3d_with_vectors():
    N = 1000
    M = 100
    theta = np.random.random(N) * np.pi
    phi = np.random.random(N) * 2.0 * np.pi
    r = 10.0 + (np.random.random(N) - 0.5)
    x = r * np.sin(theta) * np.sin(phi)
    y = r * np.sin(theta) * np.cos(phi)
    z = r * np.cos(theta)
    tof = np.arange(M).astype(np.float)
    a = np.arange(M * N).reshape([M, N]) * np.sin(y)
    d = sc.Dataset()
    d.coords['xyz'] = sc.Variable(['xyz'],
                                  values=np.array([x, y, z]).T,
                                  dtype=sc.dtype.vector_3_float64)
    d.coords['tof'] = sc.Variable(['tof'], values=tof)
    d['a'] = sc.Variable(['tof', 'xyz'], values=a)
    plot(d, projection="3d", positions="xyz")
Exemplo n.º 20
0
def test_plot_2d_with_dimension_of_size_1():
    N = 10
    M = 1
    x = np.arange(N, dtype=np.float64)
    y = np.arange(M, dtype=np.float64)
    z = np.arange(M + 1, dtype=np.float64)
    d = sc.Dataset()
    d.coords['x'] = sc.Variable(['x'], values=x, unit=sc.units.m)
    d.coords['y'] = sc.Variable(['y'], values=y, unit=sc.units.m)
    d.coords['z'] = sc.Variable(['z'], values=z, unit=sc.units.m)
    d['a'] = sc.Variable(['y', 'x'],
                         values=np.random.random([M, N]),
                         unit=sc.units.counts)
    d['b'] = sc.Variable(['z', 'x'],
                         values=np.random.random([M, N]),
                         unit=sc.units.counts)
    plot(d['a'])
    plot(d['b'])
Exemplo n.º 21
0
def test_plot_3d_data_with_ragged_bins():
    N = 10
    M = 8
    L = 5
    x = np.arange(N + 1).astype(np.float64)
    y = np.arange(M).astype(np.float64)
    z = np.arange(L).astype(np.float64)
    zz, yy, xx = np.meshgrid(z, y, x, indexing='ij')
    a = np.random.random([L, M, N])
    for i in range(M):
        for j in range(L):
            xx[j, i, :] *= (i + j + 1.0)
    d = sc.Dataset()
    d.coords['x'] = sc.Variable(['z', 'y', 'x'], values=xx, unit=sc.units.m)
    d.coords['y'] = sc.Variable(['y'], values=y, unit=sc.units.m)
    d.coords['z'] = sc.Variable(['z'], values=z, unit=sc.units.m)
    d['a'] = sc.Variable(['z', 'y', 'x'], values=a, unit=sc.units.counts)
    plot(d)
Exemplo n.º 22
0
def test_plot_sliceviewer_with_1d_projection_with_nans():
    d = make_dense_dataset(ndim=3, binedges=True, variances=True)
    d['Sample'].values = np.where(d['Sample'].values < -0.8, np.nan,
                                  d['Sample'].values)
    d['Sample'].variances = np.where(d['Sample'].values < 0., np.nan,
                                     d['Sample'].variances)
    p = plot(d, projection='1d')
    # Move the sliders
    p['tof.x.y.counts']['widgets']['sliders']['tof'].value = 10
    p['tof.x.y.counts']['widgets']['sliders']['x'].value = 10
    p['tof.x.y.counts']['widgets']['sliders']['y'].value = 10
Exemplo n.º 23
0
def test_plot_variable():
    N = 50
    v1d = sc.Variable([Dim.Tof],
                      values=np.random.rand(N),
                      unit=sc.units.counts)
    v2d = sc.Variable([Dim.Tof, Dim.X],
                      values=np.random.rand(N, N),
                      unit=sc.units.K)
    v3d = sc.Variable([Dim.Tof, Dim.X, Dim.Y],
                      values=np.random.rand(N, N, N),
                      unit=sc.units.m)
    plot(v1d)
    plot(v2d)
    plot(v3d)
Exemplo n.º 24
0
def test_plot_3d_sparse_data():
    d = make_sparse_dataset(ndim=3)
    plot(d)
Exemplo n.º 25
0
def test_plot_data_array():
    d = make_dense_dataset(ndim=1)
    plot(d["Sample"])
Exemplo n.º 26
0
def test_plot_dataset_view():
    d = make_dense_dataset(ndim=2)
    plot(d[Dim.X, 0])
Exemplo n.º 27
0
def test_plot_3d_sparse_data_with_Variable_bins():
    d = make_sparse_dataset(ndim=3)
    bins = sc.Variable([Dim.Tof],
                       values=np.linspace(0.0, 105.0, 50),
                       unit=sc.units.us)
    plot(d, bins=bins)
Exemplo n.º 28
0
def test_plot_3d_sparse_data_with_nparray_bins():
    d = make_sparse_dataset(ndim=3)
    plot(d, bins=np.linspace(0.0, 105.0, 50))
Exemplo n.º 29
0
def test_plot_3d_sparse_data_with_int_bins():
    d = make_sparse_dataset(ndim=3)
    plot(d, bins=50)
Exemplo n.º 30
0
def test_plot_3d_sparse_data_with_weights():
    d = make_sparse_dataset(ndim=3, data=True)
    plot(d)