def reference_bruteforce(data, h, query_point): t = BruteForce(data, h) return t.nearest_neighbours(query_point)
ax.scatter(query_point[0],query_point[1],query_point[2],c='y') if save!=False: plt.savefig(save) plt.show() return if __name__ == "__main__": examples = {} datas = make_dataset() query_point = [5,5.5,0] for data in datas: examples[data.__name__] = data if sys.argv[1] == "bruteforce": x = dataset.two_dimensional_square(300) b = BruteForce(x.data,x.h) plot_nearest_neighbours(x.data,query_point,b.nearest_neighbours(query_point),save="test.png") if sys.argv[1] == "spatialhash": x = dataset.two_dimensional_lattice(300) t = SpatialHash(x.data,3) plot_nearest_neighbours(x.data,query_point,t.nearest_neighbours(query_point)) if sys.argv[1] == "ext_spatialhash": x = dataset.two_dimensional_lattice(100) t = ExtendedSpatialHash(x.data, x.h) plot_nearest_neighbours(x.data,query_point,t.nearest_neighbours(query_point)) if sys.argv[1] in examples: plot_test_data(examples[sys.argv[1]]().data,save=sys.argv[1]+'.png')