def search_graph(query, nodes, DS, K): dt = numpy.dtype('f8') random.seed(100) k = nodes.shape[1] depth = 0 flag = 0 parent_id = randd(1, nodes.shape[0], 1); # Check this visited = 1; while 1: parent_vec = MA(DS[parent_id,0:],dt) # parent node child_ids = nodes[parent_id,0:]; Val = numpy.zeros((len(child_ids),DS.shape[1]),dt) I = 0 while I < len(child_ids): Val[I,0:] = DS[child_ids[I],0:] I += 1 (nn1_ind, nn1_dist) = knnsearch(query,Val, K) visited = visited + k if (parent_dist <= nn1_dist): flag=1 break parent_id = child_ids(nn1_ind) depth = depth+1 if flag == 1: nn_id = parent_id nn_dist = parent_dist else: nn_id = - 1 nn_dist = -1 return nn_id, nn_dist, visited
def search_graph(query, nodes, DS, K): dt = numpy.dtype('f8') random.seed(100) k = nodes.shape[1] depth = 0 flag = 0 parent_id = randd(1, nodes.shape[0], 1) # Check this visited = 1 while 1: parent_vec = MA(DS[parent_id, 0:], dt) # parent node child_ids = nodes[parent_id, 0:] Val = numpy.zeros((len(child_ids), DS.shape[1]), dt) I = 0 while I < len(child_ids): Val[I, 0:] = DS[child_ids[I], 0:] I += 1 (nn1_ind, nn1_dist) = knnsearch(query, Val, K) visited = visited + k if (parent_dist <= nn1_dist): flag = 1 break parent_id = child_ids(nn1_ind) depth = depth + 1 if flag == 1: nn_id = parent_id nn_dist = parent_dist else: nn_id = -1 nn_dist = -1 return nn_id, nn_dist, visited
def search_graph(query, nodes, DS, K): ''' Authors: Ankush Roy ([email protected]) Kiana Hajebi ([email protected]) ''' dt = numpy.dtype('f8') nodes = MA(nodes,dt) query = MA(query,dt) DS = MA(DS, dt) random.seed(100) k = nodes.shape[1] depth = 0 flag = 0 parent_id = randd(1, nodes.shape[0], 1); # Check this visited = 1; while 1: parent_vec = MA(DS[int(parent_id),0:],dt) # parent node parent_dist = numpy.sqrt((query - parent_vec) * numpy.transpose(query - parent_vec)) child_ids = nodes[int(parent_id),0:]; Val = numpy.zeros((child_ids.shape[1],DS.shape[1]),dt) I = 0 while I < child_ids.shape[1]: Val[I,0:] = DS[int(child_ids[0,I]),0:] I += 1 Val = MA(Val) (nn1_ind, nn1_dist) = knnsearch(query,Val, K) visited = visited + k if (parent_dist <= nn1_dist): flag=1 break parent_id = child_ids[0,nn1_ind] depth = depth+1 if flag == 1: nn_id = parent_id nn_dist = parent_dist else: nn_id = - 1 nn_dist = -1 return nn_id, nn_dist, visited
def build_graph(X, k): ''' Build a Connected graph using k neighbours Author: Ankush Roy ([email protected]) Kiana Hajebi ([email protected]) ''' dt = numpy.dtype('f8') f = [] nodes = numpy.zeros((X.shape[0], k), dt) for i in range(X.shape[0]): query = MA(X[(i - 1), 0:], dt) (nns_inds, nns_dists) = knnsearch(query, X, k + 1) I = 0 f = [] while I < len(nns_inds): if nns_inds[I] == i - 1: nns_inds.remove(i - 1) nodes[i - 1, 0:] = nns_inds break else: I += 1 return nodes
def build_graph(X, k): dt = numpy.dtype('f8') f = [] nodes = numpy.zeros((X.shape[1], k), dt) i = 0 while i <= X.shape[0]: # print i query = MA(X[(i - 1), 0:], dt) (nns_inds, nns_dists) = knnsearch(query, X, k + 1) I = 0 f = [] # import pdb;pdb.set_trace() while I < len(nns_inds): if nns_inds[I] == i - 1: nns_inds.remove(i - 1) print i nodes[i - 1, 0:] = nns_inds break else: I += 1 i += 1 print nodes return nodes
def build_graph(X, k): ''' Build a Connected graph using k neighbours Author: Ankush Roy ([email protected]) Kiana Hajebi ([email protected]) ''' dt = numpy.dtype('f8') f=[] nodes = numpy.zeros((X.shape[0],k),dt) for i in range(X.shape[0]): query = MA(X[(i-1),0:],dt) (nns_inds, nns_dists) = knnsearch(query,X,k+1) I = 0 f = [] while I < len(nns_inds): if nns_inds[I] == i-1: nns_inds.remove(i-1) nodes[i-1,0:] = nns_inds break else: I += 1 return nodes
def build_graph(X, k): dt = numpy.dtype('f8') f=[] nodes = numpy.zeros((X.shape[1],k),dt); i = 0 while i <= X.shape[0]: # print i query = MA(X[(i-1),0:],dt) (nns_inds, nns_dists) = knnsearch(query,X,k+1) I = 0 f = [] # import pdb;pdb.set_trace() while I < len(nns_inds): if nns_inds[I] == i-1: nns_inds.remove(i-1) print i nodes[i-1,0:] = nns_inds break else: I += 1 i += 1 print nodes return nodes