Files
scikit-image/skimage/graph/graph_cut.py
T
Vighnesh Birodkar abcb9cf2ef Added testcase
2014-06-19 02:50:24 +05:30

27 lines
636 B
Python

import networkx as nx
import numpy as np
def threshold_cut(label, rag, thresh):
#print [rag.edges_iter(data = True)]
to_remove = [(x,y) for x,y,d in rag.edges_iter(data = True) if d['weight'] >= thresh]
#print "edges to remove",len(to_remove)
rag.remove_edges_from(to_remove)
#print "to remove", to_remove
comps = nx.connected_components(rag)
out = np.copy(label)
#print "comps",len(comps)
for i, nodes in enumerate(comps) :
for node in nodes :
for l in rag.node[node]['labels'] :
out[label == l] = i
#print out
#print label
return out