In [97]:
import cubehelix
from joblib import Parallel, delayed
import matplotlib
import matplotlib.pyplot as plt
from matplotlib import gridspec
import numpy as np
import os
import pandas as pd
import seaborn as sns

import msaf       # Develop branch
import mir_eval   # Uri's fork: https://github.com/urinieto/mir_eval
from mir_eval.segment import tree

# Beatuiful seaborn plots
sns.set(style="white")
%matplotlib inline

# Colorhelix config
cx = cubehelix.cmap(reverse=True, start=0.2, rot=-0.4, minLight=0.45, maxLight=1.0)

# SALAMI Path
SALAMI_path = "/home/uri/datasets/Segments/references/"
SALAMI_path = "/Users/uriadmin/datasets/Segments/references/"

In [103]:
def gen_synthetic_labels(bounds):
    labels = []
    [labels.append(np.random.random(len(level) - 1)) for level in bounds]
    return labels

def evaluate_flat(ref_times, est_times, w, trim=False):
    ref_times = np.asarray(ref_times).flatten()
    est_times = np.asarray(est_times).flatten()
    ref_inter = np.asarray(zip(ref_times[:], ref_times[1:]))
    est_inter = np.asarray(zip(est_times[:], est_times[1:]))
    p, r, f = mir_eval.segment.detection(ref_inter, est_inter, trim=trim, window=w)
    R2E, E2R = mir_eval.segment.deviation(ref_inter, est_inter, trim=trim)
    print "F: %.2f\t P: %.2f\t R: %.2f" % (f * 100, p * 100, r * 100)
    print "R2E: %.2f\t E2R: %.2f" % (R2E, E2R)
    return f, p, r

def evaluate_hier(bounds1, bounds2, levels1=None, levels2=None, title=None, figsize=(7,3), 
                  ratios=[1,1], plot=True):
    labels1 = gen_synthetic_labels(bounds1)
    labels2 = gen_synthetic_labels(bounds2)
    tree1 = tree.SegmentTree(bounds1, labels1, levels1)
    tree2 = tree.SegmentTree(bounds2, labels2, levels2)
    res = 0.1
    for ws in [0.5, 3.0, 15, 30, None]:
        if ws is None:
            w = None
        else:
            w = int(ws / res)
        T_o, T_u, T_f = mir_eval.segment.hmeasure(tree1, tree2, transitive=False, window=w, res=res)
        if ws is None:
            ws = np.inf
        print "w: %.1f\t Tu: %.2f\t To: %.2f" % (ws, T_u * 100, T_o * 100)
    if plot:
        plt.figure(figsize=figsize)
        gs = gridspec.GridSpec(2, 1, height_ratios=ratios) 
        plt.subplot(gs[0])
        msaf.plotting.plot_tree(tree1, title="Reference", res=None, cmap_id=cx)
        plt.subplot(gs[1])
        msaf.plotting.plot_tree(tree2, title="Estimation", res=None, cmap_id=cx)
        plt.tight_layout()

def remove_level(bounds, levels, level_id):
    for i, level in enumerate(levels):
        if level_id == level:
            bounds.pop(i)
            levels.pop(i)
            break

In [3]:
# Synthetic example
est_bounds = [[0, 30, 100], [0, 10, 30, 40, 80, 100], [0, 10, 25, 30, 40, 50, 80, 95, 100]]
est_labels = gen_synthetic_labels(est_bounds)
est_tree = tree.SegmentTree(est_bounds, est_labels)
plt.figure(figsize=(7,2))
msaf.plotting.plot_tree(est_tree, title="Hierarchical Segmentation", res=None, cmap_id=cx)
plt.tight_layout()
plt.savefig("../figs/hier-example.pdf")



In [52]:
# Synthetic example (1)
orig_size = matplotlib.rcParams["font.size"]
matplotlib.rcParams["font.size"] = 14.

est_bounds1 = [[0, 10, 30], [0, 10, 20, 30]]
est_labels1 = gen_synthetic_labels(est_bounds1)
est_tree1 = tree.SegmentTree(est_bounds1, est_labels1)

est_bounds2 = [[0, 20, 30], [0, 10, 20, 30]]
est_labels2 = est_labels1
est_tree2 = tree.SegmentTree(est_bounds2, est_labels2)

plt.figure(figsize=(7,2))
plt.subplot(121)
msaf.plotting.plot_tree(est_tree1, title="", res=None, cmap_id=cx)
plt.xticks([],[])
plt.tight_layout()
plt.xlabel("Time")

# Annotate level 0
plt.gca().text(5, .75, 'A', horizontalalignment='center', verticalalignment='center')
plt.gca().text(20, .75, 'B', horizontalalignment='center', verticalalignment='center')

# Annotate level 1
plt.gca().text(5, .25, 'a', horizontalalignment='center', verticalalignment='center')
plt.gca().text(15, .25, 'b', horizontalalignment='center', verticalalignment='center')
plt.gca().text(25, .25, 'c', horizontalalignment='center', verticalalignment='center')

plt.subplot(122)
msaf.plotting.plot_tree(est_tree2, title="", res=None, cmap_id=cx)
plt.xticks([],[])
plt.yticks([],[])
plt.tight_layout()
plt.xlabel("Time")

# Annotate level 0
plt.gca().text(10, 0.75, 'A', horizontalalignment='center', verticalalignment='center')
plt.gca().text(25, 0.75, 'B', horizontalalignment='center', verticalalignment='center')

# Annotate level 1
plt.gca().text(5, .25, 'a', horizontalalignment='center', verticalalignment='center')
plt.gca().text(15, .25, 'b', horizontalalignment='center', verticalalignment='center')
plt.gca().text(25, .25, 'c', horizontalalignment='center', verticalalignment='center')

plt.savefig("../figs/toy-examples.pdf")
matplotlib.rcParams["font.size"] = orig_size



In [4]:
# Synthetic example (2)
orig_size = matplotlib.rcParams["font.size"]
matplotlib.rcParams["font.size"] = 14.
est_bounds = [[0, 30, 40], [0, 10, 30, 40], [0, 10, 25, 30, 40]]
est_labels = gen_synthetic_labels(est_bounds)
est_tree = tree.SegmentTree(est_bounds, est_labels)
plt.figure(figsize=(7,2))
msaf.plotting.plot_tree(est_tree, title="Hierarchical Segmentation", res=None, cmap_id=cx)
plt.xticks([5, 17.5, 27.5, 35], ["$i$", "$j$", "$k$", "$m$"])
plt.tight_layout()
plt.xlabel("Time")

# Annotate level 2
plt.gca().text(5, 0.165, '$H(i,i)$', horizontalalignment='center', verticalalignment='center')
plt.gca().text(17.5, 0.165, '$H(j,j)$', horizontalalignment='center', verticalalignment='center')
plt.gca().text(27.5, 0.165, '$H(k,k)$', horizontalalignment='center', verticalalignment='center')
plt.gca().text(35, 0.165, '$H(m,m)$', horizontalalignment='center', verticalalignment='center')

# Annotate level 1
plt.gca().text(20, 0.5, '$H(j,k)$', horizontalalignment='center', verticalalignment='center')

# Annotate level 0
plt.gca().text(15, .845, '$H(i,k)$', horizontalalignment='center', verticalalignment='center')

plt.savefig("../figs/hier-example.pdf")
matplotlib.rcParams["font.size"] = orig_size



In [5]:
# Flat vs flat
f1 = [[0, 10, 20, 30, 40, 50, 60]]
f2 = [[0, 20, 40, 60]]
f, p, r = evaluate_flat(f1, f2, 3, trim=True)
evaluate_hier(f1, f2, title="Flat vs Flat", figsize=(7,2.5))
plt.savefig("../figs/flat-flat.pdf")


F: 57.14	 P: 100.00	 R: 40.00
R2E: 10.00	 E2R: 0.00
w: 0.5	 Tu: 40.00	 To: 100.00
w: 3.0	 Tu: 40.00	 To: 100.00
w: 15.0	 Tu: 39.39	 To: 52.77
w: 30.0	 Tu: 69.46	 To: 49.75
w: inf	 Tu: 80.00	 To: 49.75

In [6]:
#Hierarchical vs Flat Larger Scale
h1 = [[0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
f2 = [[0, 40, 60]]
evaluate_hier(h1, f2, title="Hierarchical vs Flat Large Scale", figsize=(7,2.5))
plt.savefig("../figs/hier-flatlarger.pdf")


w: 0.5	 Tu: 20.00	 To: 100.00
w: 3.0	 Tu: 20.00	 To: 100.00
w: 15.0	 Tu: 25.51	 To: 93.71
w: 30.0	 Tu: 43.50	 To: 71.46
w: inf	 Tu: 59.29	 To: 66.58

In [55]:
#Hierarchical vs Flat Large Scale
h1 = [[0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
f2 = [[0, 20, 40, 60]]
evaluate_hier(h1, f2, title="Hierarchical vs Flat Large Scale", figsize=(7,2.5))
plt.savefig("../figs/hier-flatlarge.pdf")


w: 0.5	 Tu: 0.00	 To: 100.00
w: 3.0	 Tu: 0.00	 To: 100.00
w: 15.0	 Tu: 37.21	 To: 100.00
w: 30.0	 Tu: 69.66	 To: 100.00
w: inf	 Tu: 80.16	 To: 100.00

In [56]:
# Hierarchical vs Flat Small Scale
h1 = [[0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
f2 = [[0, 10, 20, 30, 40, 50, 60]]
evaluate_hier(h1, f2, title="Hierarchical vs Flat Small Scale", figsize=(7,2.5))
plt.savefig("../figs/hier-flatsmall.pdf")


w: 0.5	 Tu: 100.00	 To: 100.00
w: 3.0	 Tu: 100.00	 To: 100.00
w: 15.0	 Tu: 62.79	 To: 100.00
w: 30.0	 Tu: 30.34	 To: 100.00
w: inf	 Tu: 19.84	 To: 100.00

In [43]:
# Hierarchical vs Flat Smaller Scale
h1 = [[0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
f2 = [[0, 10, 15, 20, 25, 30, 35, 40, 45, 50, 60]]
evaluate_hier(h1, f2, title="Hierarchical vs Flat Small Scale", figsize=(7,2.5))
plt.savefig("../figs/hier-flatsmaller.pdf")


w: 0.5	 Tu: 100.00	 To: 55.56
w: 3.0	 Tu: 98.16	 To: 56.43
w: 15.0	 Tu: 46.31	 To: 86.28
w: 30.0	 Tu: 21.80	 To: 92.47
w: inf	 Tu: 13.16	 To: 93.94

In [44]:
# Hierarchical vs Hierarchical
h1 = [[0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
h2 = [[0, 40, 60], [0, 20, 40, 60], [0, 10, 20, 30, 40, 50, 60]]
evaluate_hier(h1, h2, title="Hierarchical vs Hierarchical", figsize=(7,3))
plt.savefig("../figs/hier-hiercomp.pdf")


w: 0.5	 Tu: 100.00	 To: 100.00
w: 3.0	 Tu: 100.00	 To: 100.00
w: 15.0	 Tu: 100.00	 To: 98.32
w: 30.0	 Tu: 100.00	 To: 78.81
w: inf	 Tu: 100.00	 To: 61.85

In [57]:
jams_file = "SALAMI_636.jams"
hier_bounds1, hier_labels1, hier_levels1 = msaf.io.read_hier_references(SALAMI_path + jams_file, annotation_id=0)
hier_bounds2, hier_labels2, hier_levels2 = msaf.io.read_hier_references(SALAMI_path + jams_file, annotation_id=1)

# Remove the function level
hier_levels1 = list(hier_levels1)
hier_levels2 = list(hier_levels2)
remove_level(hier_bounds1, hier_levels1, "function")
remove_level(hier_bounds2, hier_levels2, "function")

# Evaluate
evaluate_hier(hier_bounds1, hier_bounds2, hier_levels1, hier_levels2, title="SALAMI vs SALAMI", figsize=(7,3))
plt.savefig("../figs/SALAMI-SALAMI.pdf")


w: 0.5	 Tu: 78.17	 To: 79.00
w: 3.0	 Tu: 95.39	 To: 95.06
w: 15.0	 Tu: 75.53	 To: 74.92
w: 30.0	 Tu: 61.81	 To: 82.67
w: inf	 Tu: 56.55	 To: 95.58

In [106]:
jams_file = "SALAMI_636.jams"
olda_file = "/home/uri/Projects/hier_eval/test/SALAMI_636_OLDA.jams"
olda_file = "/Users/uriadmin/NYU/Spring14/hier_eval/test/SALAMI_636_OLDA.jams"
hier_bounds1, hier_labels1, hier_levels1 = msaf.io.read_hier_references(SALAMI_path + jams_file)
hier_bounds2, hier_labels2, hier_levels2 = msaf.io.read_hier_references(olda_file)

# Remove the function level from SALAMI
hier_levels1 = list(hier_levels1)
remove_level(hier_bounds1, hier_levels1, "function")

# Evaluate
evaluate_hier(hier_bounds1, hier_bounds2, hier_levels1, hier_levels2, title="SALAMI vs OLDA", figsize=(7,5), ratios=[1,3])
plt.savefig("../figs/SALAMI-OLDA.pdf")


w: 0.5	 Tu: 14.28	 To: 100.00
w: 3.0	 Tu: 19.85	 To: 99.91
w: 15.0	 Tu: 61.63	 To: 56.13
w: 30.0	 Tu: 76.14	 To: 53.12
w: inf	 Tu: 90.29	 To: 16.39

In [20]:
# Automatically set w
def analyze_salami(salami_file, windows):
    # Read annotations
    try:
        bounds1, labels1, levels1 = msaf.io.read_hier_references(salami_file.ref_file, annotation_id=0)
        bounds2, labels2, levels2 = msaf.io.read_hier_references(salami_file.ref_file, annotation_id=1)

        # Convert to tree
        labels1 = gen_synthetic_labels(bounds1)
        labels2 = gen_synthetic_labels(bounds2)
        tree1 = tree.SegmentTree(bounds1, labels1, levels1)
        tree2 = tree.SegmentTree(bounds2, labels2, levels2)

        # Evaluate
        print "Evaluating %s..." % salami_file.ref_file
        res = 0.1
        results = {}
        results["file"] = os.path.basename(salami_file.ref_file)
        for ws in windows:
            if ws is None:
                w = None
            else:
                w = int(ws / res)
            T_o, T_u, T_f = mir_eval.segment.hmeasure(tree1, tree2, transitive=False, window=w, res=res)
            if ws is None:
                ws = np.inf
            results["Tf_" + str(ws)] = T_f
            results["To_" + str(ws)] = T_o
            results["Tu_" + str(ws)] = T_u
    except:
        return []
    
    return results

n_jobs = 8
salami_files = msaf.io.get_dataset_files("/home/uri/datasets/Segments/", ds_name="SALAMI")
windows = [0.5, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]

# Run in parallel
raw_results = Parallel(n_jobs=n_jobs)(delayed(analyze_salami)(salami_file, windows) 
                                      for salami_file in salami_files[:])

# Aggregate results in pandas format
results = pd.DataFrame()
for r in raw_results:
    if r != []:
        results = results.append(r, ignore_index=True)


Evaluating /home/uri/datasets/Segments/references/SALAMI_822.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_396.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_584.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_550.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_564.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1028.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_748.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_960.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_540.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_990.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_634.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_486.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_40.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1156.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1390.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_362.jams...







Evaluating /home/uri/datasets/Segments/references/SALAMI_970.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1338.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1092.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1394.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_12.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1366.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1314.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1418.jams...







Evaluating /home/uri/datasets/Segments/references/SALAMI_18.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_798.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_838.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_842.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_834.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_566.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_732.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_592.jams...







Evaluating /home/uri/datasets/Segments/references/SALAMI_542.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_920.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_656.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_866.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1414.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_334.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_518.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_528.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_458.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_414.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_6.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1438.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_678.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_570.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_554.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_556.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_316.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_768.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_200.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_420.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_846.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_770.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1212.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_372.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_446.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_628.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_326.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_210.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_568.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_408.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_346.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_904.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_802.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_956.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_198.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_876.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_636.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1484.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_608.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_668.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_250.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1230.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_110.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_270.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1206.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1498.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1342.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_120.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_600.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_882.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_216.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_578.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_496.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_816.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_386.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1082.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_738.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_168.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_306.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_562.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1166.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_520.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_728.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_336.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_830.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_188.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_344.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1038.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_436.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_482.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_734.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_52.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1002.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_916.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1032.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_44.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1202.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_676.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1288.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_166.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_360.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_704.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1344.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_586.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_886.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_544.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_674.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_8.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1232.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_380.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1358.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_936.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_690.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_46.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_806.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1408.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_152.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1310.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_88.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1010.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1302.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1490.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_456.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_928.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_516.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_640.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_132.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_612.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_242.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_370.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_922.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_4.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_480.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_338.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1450.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_604.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_42.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_688.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_1474.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1058.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_902.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_666.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1008.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_686.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_294.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1492.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_850.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_394.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_780.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_100.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_944.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_788.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_340.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_930.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_368.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_350.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_778.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_328.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_526.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1260.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1296.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_260.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1250.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_274.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_854.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_332.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1436.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1374.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_364.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1422.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1278.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_128.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_652.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_852.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_398.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_86.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_82.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_994.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_514.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_558.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_696.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_410.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_950.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_874.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_894.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_758.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1352.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1306.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_348.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_1106.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1262.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_320.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1072.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_460.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_430.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_610.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1456.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1246.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_800.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1386.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1118.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_228.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_858.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_532.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_388.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_828.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_794.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_588.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_860.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1050.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_412.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_534.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_422.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_214.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_700.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1146.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_832.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_504.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1286.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1428.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_400.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_470.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_218.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1446.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_170.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_352.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_116.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_672.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_78.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1458.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_670.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_630.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1240.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1078.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_140.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_618.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_740.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_954.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1268.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_154.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_934.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1128.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1190.jams...



Evaluating /home/uri/datasets/Segments/references/SALAMI_736.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_524.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_272.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_382.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_622.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_574.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_48.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_142.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_972.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1150.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1184.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_160.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_776.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_530.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1034.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_158.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_616.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_60.jams...


In [21]:
print len(results)
print len(salami_files)
print results.mean()
print results.mean().values
print results.mean().keys()


411
769
Tf_0.5    0.442474
Tf_10     0.665864
Tf_15     0.689419
Tf_20     0.697060
Tf_25     0.697836
Tf_3      0.606861
Tf_30     0.695938
Tf_35     0.693250
Tf_40     0.690334
Tf_45     0.688537
Tf_5      0.626366
Tf_50     0.685687
Tf_55     0.683135
Tf_60     0.680762
To_0.5    0.478756
To_10     0.692611
To_15     0.711120
To_20     0.717255
To_25     0.717200
To_3      0.658449
To_30     0.715366
To_35     0.713291
To_40     0.711200
To_45     0.711612
To_5      0.670286
To_50     0.709822
To_55     0.708299
To_60     0.706898
Tu_0.5    0.508459
Tu_10     0.698324
Tu_15     0.716555
Tu_20     0.724448
Tu_25     0.726563
Tu_3      0.682957
Tu_30     0.725467
Tu_35     0.722937
Tu_40     0.720181
Tu_45     0.717298
Tu_5      0.684497
Tu_50     0.714648
Tu_55     0.712264
Tu_60     0.710055
dtype: float64
[ 0.44247401  0.66586402  0.68941911  0.69706016  0.69783574  0.60686138
  0.69593804  0.69324983  0.69033367  0.6885375   0.626366    0.68568696
  0.68313505  0.68076205  0.47875556  0.69261055  0.71112011  0.71725496
  0.7172      0.6584489   0.71536575  0.71329051  0.71119999  0.7116118
  0.67028555  0.70982241  0.70829937  0.70689759  0.5084591   0.69832352
  0.71655524  0.72444842  0.72656283  0.68295733  0.7254668   0.72293739
  0.72018079  0.71729775  0.68449656  0.71464847  0.71226421  0.71005528]
Index([u'Tf_0.5', u'Tf_10', u'Tf_15', u'Tf_20', u'Tf_25', u'Tf_3', u'Tf_30', u'Tf_35', u'Tf_40', u'Tf_45', u'Tf_5', u'Tf_50', u'Tf_55', u'Tf_60', u'To_0.5', u'To_10', u'To_15', u'To_20', u'To_25', u'To_3', u'To_30', u'To_35', u'To_40', u'To_45', u'To_5', u'To_50', u'To_55', u'To_60', u'Tu_0.5', u'Tu_10', u'Tu_15', u'Tu_20', u'Tu_25', u'Tu_3', u'Tu_30', u'Tu_35', u'Tu_40', u'Tu_45', u'Tu_5', u'Tu_50', u'Tu_55', u'Tu_60'], dtype='object')
Evaluating /home/uri/datasets/Segments/references/SALAMI_942.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1006.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_484.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_34.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1460.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1454.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1324.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_416.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_28.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1142.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1044.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_702.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_726.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_254.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_906.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_546.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_642.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_594.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1234.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1274.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_318.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1134.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_590.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_606.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_708.jams...





Evaluating /home/uri/datasets/Segments/references/SALAMI_20.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1334.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1478.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1176.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_762.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_782.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_750.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_492.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_180.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_698.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1194.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_22.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_940.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_810.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1350.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_24.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1346.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_130.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_498.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_2.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_358.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1464.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_310.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1066.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_378.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_162.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_392.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_814.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_424.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_462.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_494.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1226.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1026.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_1170.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_646.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1198.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_862.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1370.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_538.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_14.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1174.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_500.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_760.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_796.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_10.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_694.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1362.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_138.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_126.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_988.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_508.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_614.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_278.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_596.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_826.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_502.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_36.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_552.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1120.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_30.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_236.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_598.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_438.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_580.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_844.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_222.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1204.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1218.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1442.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_322.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_16.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_444.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_824.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_1496.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_104.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_312.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1122.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_692.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_118.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_418.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_440.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1316.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_366.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_682.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1094.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_946.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_464.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1016.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_644.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_314.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1148.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_626.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_488.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_638.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_220.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_510.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_490.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_908.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_38.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_730.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_374.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_602.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_840.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_450.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_900.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1036.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1402.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1380.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_684.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_998.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_448.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_662.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_114.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_302.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_404.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_284.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_576.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1254.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_190.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1476.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_406.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_282.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_766.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1064.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_658.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_452.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_50.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_146.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1372.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_572.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_474.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_910.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_32.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_442.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_428.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_624.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1470.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_512.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_820.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1114.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_262.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_426.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_650.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1222.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1086.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_660.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1330.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1480.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1318.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_298.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1000.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1400.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_466.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_266.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_742.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1090.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1162.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_98.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_976.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_582.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_706.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_790.jams...




Evaluating /home/uri/datasets/Segments/references/SALAMI_982.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_620.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_974.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_54.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1290.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_980.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_150.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_1392.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_522.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_244.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1282.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1482.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_280.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_402.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_258.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_1054.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_286.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_754.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1110.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_880.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_818.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1420.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_792.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_870.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_330.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_68.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_978.jams...


Evaluating /home/uri/datasets/Segments/references/SALAMI_1022.jams...Evaluating /home/uri/datasets/Segments/references/SALAMI_472.jams...

Evaluating /home/uri/datasets/Segments/references/SALAMI_1100.jams...
Evaluating /home/uri/datasets/Segments/references/SALAMI_26.jams...

In [22]:
results.to_csv("searching_w_nontransitive.csv")
print results.keys()


Index([u'Tf_0.5', u'Tf_10', u'Tf_15', u'Tf_20', u'Tf_25', u'Tf_3', u'Tf_30', u'Tf_35', u'Tf_40', u'Tf_45', u'Tf_5', u'Tf_50', u'Tf_55', u'Tf_60', u'To_0.5', u'To_10', u'To_15', u'To_20', u'To_25', u'To_3', u'To_30', u'To_35', u'To_40', u'To_45', u'To_5', u'To_50', u'To_55', u'To_60', u'Tu_0.5', u'Tu_10', u'Tu_15', u'Tu_20', u'Tu_25', u'Tu_3', u'Tu_30', u'Tu_35', u'Tu_40', u'Tu_45', u'Tu_5', u'Tu_50', u'Tu_55', u'Tu_60', u'file'], dtype='object')

In [23]:
results = pd.read_csv("searching_w_nontransitive.csv")
windows = [0.5, 3, 5, 10, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60]
results.rename(columns={
                  'Tf_03': 'Tf_3', 'Tf_05': 'Tf_5',
                  'Tu_03': 'Tu_3', 'Tu_05': 'Tu_5',
                  'To_03': 'To_3', 'To_05': 'To_5'}, inplace=True)

In [26]:
Tf_keys = ["Tf_" + str(w) for w in windows]
To_keys = ["To_" + str(w) for w in windows]
Tu_keys = ["Tu_" + str(w) for w in windows]
plt.figure(figsize=(6,3))
plt.plot(windows, results[Tf_keys].mean().values, label="$T_F$")
plt.plot(windows, results[To_keys].mean().values, label="$T_o$")
plt.plot(windows, results[Tu_keys].mean().values, label="$T_u$")
plt.plot(windows[np.argmax(results[Tf_keys].mean().values)], 
         np.max(results[Tf_keys].mean().values), 'rD')
plt.ylim((0.4,1))
plt.legend(loc='lower right')
plt.xlabel("Window size (seconds)")
plt.ylabel("$T$-measures")
sns.despine()
plt.tight_layout()
plt.savefig("../figs/exploring_w.pdf")

plt.figure(figsize=(6,3))
plt.plot(windows, results[Tf_keys].mean().values, label="$T_F$")
plt.plot(windows[np.argmax(results[Tf_keys].mean().values)], 
         np.max(results[Tf_keys].mean().values), 'rD')
plt.ylim((0.4,1))
plt.xlabel("Window size (seconds)")
plt.ylabel("$T_F$ Score")
sns.despine()
plt.tight_layout()
plt.savefig("../figs/exploring_w_Tf.pdf")


0.697835744667

In [ ]:
print results[Tf_keys].mean()

In [90]:
reload(msaf.utils)
ds_path = "/Users/uriadmin/datasets/Segments/"
file_name = "SALAMI_1200.jams"
file_name = "SALAMI_636.jams"
bound_id = "olda"
label_id = None
config = {'framesync': False, 
          'hier': True, 
          'annot_beats': False, 
          'transform': '/Users/uriadmin/NYU/Dissertation/msaf_github/msaf/algorithms/olda/models/EstBeats_BeatlesIso.npy', 
          'feature': 'hpcp'}
ref_times, ref_labels, ref_levels = \
                msaf.io.read_hier_references(os.path.join(ds_path, msaf.Dataset.references_dir, file_name), 
                                             annotation_id=0,
                                             exclude_levels=["function"])
est_inter, est_labels = msaf.io.read_estimations(os.path.join(ds_path, msaf.Dataset.estimations_dir, file_name), 
                                            bound_id, label_id, **config)
est_inter = sorted(est_inter, key=lambda level: len(level))

est_times = []
for inter in est_inter:
    est_times.append(msaf.utils.intervals_to_times(inter))
est_labels = gen_synthetic_labels(est_times)

# Align the times
msaf.utils.align_end_hierarchies(est_times, ref_times)

# Build trees
ref_tree = mir_eval.segment.tree.SegmentTree(ref_times, ref_labels,
                                             ref_levels)
est_tree = mir_eval.segment.tree.SegmentTree(est_times, est_labels)
msaf.utils.align_end_hierarchies(est_times, ref_times, thres=0.5)

In [107]:
# print ref_tree
reload(msaf.plotting)
reload(msaf.utils)
plt.figure(figsize=(7,2))
msaf.plotting.plot_tree(ref_tree, title="Hierarchical Segmentation", res=None, cmap_id=cx)
plt.figure(figsize=(7,2))
msaf.plotting.plot_tree(est_tree, title="Hierarchical Segmentation", res=None, cmap_id=cx)

print mir_eval.segment.hmeasure(ref_tree, est_tree, window=150)


(0.65558766336003593, 0.66426538289660342, 0.6598979961583783)

In [104]:
evaluate_hier(ref_times, est_times, levels1=None, levels2=None, title=None, figsize=(7,3), ratios=[1,1], plot=True)


w: 0.5	 Tu: 5.83	 To: 0.00
w: 3.0	 Tu: 12.25	 To: 29.24
w: 15.0	 Tu: 61.92	 To: 36.51
w: 30.0	 Tu: 76.19	 To: 16.14
w: inf	 Tu: 82.88	 To: 7.02