diff --git a/Trajectories/trajectories.py b/Trajectories/trajectories.py index d9ba1987d953d4be6708eeed7261a39dd48f3593..f66f16966ec4a4430b28308b006e39a2e87e7f0f 100755 --- a/Trajectories/trajectories.py +++ b/Trajectories/trajectories.py @@ -75,6 +75,7 @@ traj_vert_ind = [] # An element of traj_vert_ind is a trajectory, represented by a list # of vertex indices. +in_deg_prop = g.degree_property_map("in") # Loop to define traj_prop: for n in topology.topological_sort(g): @@ -84,10 +85,10 @@ for n in topology.topological_sort(g): # immediately followed by merging. We do not want to let phantom # patterns interrupt trajectories. - if g.vertex(n).in_degree() == 2: + if in_deg_prop[n] == 2: pred = g.get_in_neighbors(n) - if np.all(g.get_in_degrees(pred) == 1) \ + if in_deg_prop[pred[0]] == 1 == in_deg_prop[pred[1]] \ and np.all(g.get_out_degrees(pred) == 1): n1 = g.get_in_neighbors(pred[0])[0] n2 = g.get_in_neighbors(pred[1])[0] @@ -132,7 +133,7 @@ for n in topology.topological_sort(g): traj_vert_ind[traj_prop[n1]].append(n) if traj_prop[n] == - 1: - if g.vertex(n).in_degree() >= 1: + if in_deg_prop[n] >= 1: # Find the index of the closest direct predecessor of a node: # head of the in-edge with smallest cost.