def nearest_correspondance(pts_src, pts_dest, data_src, K=1): print(pts_dest.shape) indices = nearest_neighbors.knn(pts_src, pts_dest, K, omp=True) print(indices.shape) if K == 1: indices = indices.ravel() data_dest = data_src[indices] else: data_dest = data_src[indices].mean(1) return data_dest
def nearest_correspondance(pts_src, pts_dest, data_src, K=1): print(pts_dest.shape) indices = nearest_neighbors.knn(pts_src, pts_dest, K, omp=True) # tree = BallTree(pts_src, leaf_size=2) # _, indices = tree.query(pts_dest, k=K) print(indices.shape) if K == 1: indices = indices.ravel() data_dest = data_src[indices] else: data_dest = data_src[indices].mean(1) return data_dest