Exemplo n.º 1
0
def test_equality():
    t1 = generate.labels(10, tformat=2)
    l1 = Labels(t1)
    l2 = Labels(generate.labels(10, tformat=2))
    l3 = Labels(t1)
    l3.name = 'newname'

    assert l1 == l1
    assert l1 != l2
    assert l1 != np.random.random((5, 2))
    assert l1 != l3
Exemplo n.º 2
0
    def test_sort_1D(self):
        l = [np.array([i for i in range(9)])]
        Labels.check(l)

        l[0][[0, 1]] = l[0][[1, 0]]
        assert_raise(Labels.check, l, 'not sorted')

        l.append(np.array([i for i in range(9)]))
        assert_raise(Labels.check, l, 'not sorted')

        l[0][[1, 0]] = l[0][[0, 1]]
        Labels.check(l)
Exemplo n.º 3
0
    def test_sort_1D(self):
        list_1d = [np.array([i for i in range(9)])]
        Labels.check(list_1d)

        list_1d[0][[0, 1]] = list_1d[0][[1, 0]]
        assert_raise(Labels.check, list_1d, 'not sorted')

        list_1d.append(np.array([i for i in range(9)]))
        assert_raise(Labels.check, list_1d, 'not sorted')

        list_1d[0][[1, 0]] = list_1d[0][[0, 1]]
        Labels.check(list_1d)
Exemplo n.º 4
0
    def test_good(self):
        assert Labels.parse_dim(self.t1) == 1
        assert Labels.parse_dim(self.t1*2) == 1
        assert Labels.parse_dim(self.t2) == 2

        # 2D with shape[1] != 2
        Labels.parse_dim([randn(10, 3)]) == 2
        Labels.parse_dim([randn(5, 1)])
        Labels.parse_dim([randn(2, 1)])
Exemplo n.º 5
0
    def test_good(self):
        assert Labels.parse_dim(self.t1) == 1
        assert Labels.parse_dim(self.t1 * 2) == 1
        assert Labels.parse_dim(self.t2) == 2

        # 2D with shape[1] != 2
        Labels.parse_dim([randn(10, 3)]) == 2
        Labels.parse_dim([randn(5, 1)])
        Labels.parse_dim([randn(2, 1)])
Exemplo n.º 6
0
    def test_sorted_2D(self):
        # dont use generate.labels to ensure 2 elements.
        l = [
            np.array([[0., 1.], [0.33333333, 1.33333333],
                      [0.66666667, 1.66666667], [1., 2.]]),
            np.array([[0., 1.], [1., 2.]])
        ]

        # sorted, pass
        Labels.check(l)

        # unsorted, fails
        l[0][[0, 1], :] = l[0][[1, 0], :]
        assert_raise(Labels.check, l, 'not sorted')
Exemplo n.º 7
0
    def test_appendable(self):
        t = Labels(generate.labels(5, tformat=1))
        assert t.is_appendable_to(self.group)

        t = Labels(generate.labels(5, 12, tformat=1))
        assert t.is_appendable_to(self.group)

        t = Labels(generate.labels(10, 1, tformat=2))
        assert not t.is_appendable_to(self.group)

        t = Labels(generate.labels(5, 1, tformat=2))
        assert not t.is_appendable_to(self.group)

        t = Labels(generate.labels(10, 1, tformat=2))
        assert not t.is_appendable_to(self.group)
Exemplo n.º 8
0
    def test_sorted_2D(self):
        # dont use generate.labels to ensure 2 elements.
        list_2d = [
            np.array([[0., 1.],
                      [0.33333333, 1.33333333],
                      [0.66666667, 1.66666667],
                      [1., 2.]]),
            np.array([[0., 1.],
                      [1., 2.]])]

        # sorted, pass
        Labels.check(list_2d)

        # unsorted, fails
        list_2d[0][[0, 1], :] = list_2d[0][[1, 0], :]
        assert_raise(Labels.check, list_2d, 'not sorted')
Exemplo n.º 9
0
def full_dict(nitems, dim=2, max_frames=3, tformat=1, items_root='item'):
    """Return a data dictionary"""
    from h5features.items import Items
    from h5features.labels import Labels
    from h5features.features import Features

    data = full(nitems, dim, max_frames, tformat, items_root)
    return {'items': Items(data[0]),
            'labels': Labels(data[1]),
            'features': Features(data[2])}
Exemplo n.º 10
0
def test_label_one_frame_2D():
    from h5features.labels import Labels
    gold = np.array([[0, 1, 2]])
    label = Labels([gold])
    assert isinstance(label.data, list)
    assert len(label.data) == 1

    test = label.data[0]
    assert isinstance(test, np.ndarray)
    assert test.ndim == gold.ndim
    assert test.shape == gold.shape
    assert (test == gold).all()
Exemplo n.º 11
0
 def test_side_effect(self):
     t = Labels(self.data)
     t2 = Labels(self.data)
     t.write_to(self.group)
     assert t == t2
Exemplo n.º 12
0
 def test_create(self):
     t1 = Labels(self.data)
     # we can't create an existing group
     with pytest.raises(RuntimeError) as err:
         t1.create_dataset(self.group, 10)
     assert 'create' in str(err.value)
Exemplo n.º 13
0
 def test_side_effect(self):
     t = Labels(self.data)
     t2 = Labels(self.data)
     t.create_dataset(self.group, per_chunk=100)
     t.write_to(self.group)
     assert t == t2
Exemplo n.º 14
0
def test_2D_one_frame():
    label = Labels([np.array([[0, 1, 2]])])
    assert isinstance(label.data, list)
    assert isinstance(label.data[0], np.ndarray)
    assert label.data[0].ndim == 2
Exemplo n.º 15
0
 def test_side_effect(self):
     t = Labels(self.data)
     t2 = Labels(self.data)
     t.write_to(self.group)
     assert t == t2
Exemplo n.º 16
0
 def test_create(self):
     t1 = Labels(self.data)
     # we can't create an existing group
     with pytest.raises(RuntimeError) as err:
         t1.create_dataset(self.group, 10)
     assert 'create' in str(err.value)
Exemplo n.º 17
0
    def test_appendable(self):
        t = Labels(generate.labels(5, tformat=1))
        assert t.is_appendable_to(self.group)

        t = Labels(generate.labels(5, 12, tformat=1))
        assert t.is_appendable_to(self.group)

        t = Labels(generate.labels(10, 1, tformat=2))
        assert not t.is_appendable_to(self.group)

        t = Labels(generate.labels(5, 1, tformat=2))
        assert not t.is_appendable_to(self.group)

        t = Labels(generate.labels(10, 1, tformat=2))
        assert not t.is_appendable_to(self.group)
Exemplo n.º 18
0
 def test_init(self):
     assert Labels(self.data).dim == 2
     assert Labels(self.data).data[0].shape[1] == 2
Exemplo n.º 19
0
 def test_side_effect(self):
     t = Labels(self.data)
     t2 = Labels(self.data)
     t.create_dataset(self.group, per_chunk=100)
     t.write_to(self.group)
     assert t == t2