# HG changeset patch # User Chris Cannam # Date 1422959361 0 # Node ID 06c4afba4fc5caf2101346cc8c1f2e8104056804 # Parent f0e005248b9a4932cb8b333570cb381d55a59306 Fix matrix return diff -r f0e005248b9a -r 06c4afba4fc5 test/test_collect.py --- a/test/test_collect.py Mon Feb 02 17:31:30 2015 +0000 +++ b/test/test_collect.py Tue Feb 03 10:29:21 2015 +0000 @@ -71,6 +71,5 @@ assert abs(float(step) - (1024.0 / rate)) < eps assert len(results) == 10 for i in range(len(results)): - expected = [] - actual = results[i] - assert actual == expected + expected = np.array([ (j + i + 2.0) / 30.0 for j in range(0, 10) ]) + assert (abs(results[i] - expected) < eps).all() diff -r f0e005248b9a -r 06c4afba4fc5 vamp/collect.py --- a/vamp/collect.py Mon Feb 02 17:31:30 2015 +0000 +++ b/vamp/collect.py Tue Feb 03 10:29:21 2015 +0000 @@ -71,10 +71,9 @@ rv = ( out_step, np.array([r[output]["values"][0] for r in results], np.float32) ) elif shape == "matrix": - rv = ( out_step, - np.array( - [[r[output]["values"][i] for r in results] - for i in range(0, output_desc["bin_count"])], np.float32) ) + #!!! todo: check that each feature has the right number of bins? + outseq = [r[output]["values"] for r in results] + rv = ( out_step, np.array(outseq, np.float32) ) else: rv = list(fill_timestamps(results, sample_rate, step_size, output_desc))