def test_plotTree(self): # function to chose next spillting axis sel_axis = (lambda axis: axis) #create tree, first node splits in x direction tree = kdtree.createNewTree([[0.5, 0.5]],axis = 0, sel_axis= sel_axis) tree.split2([0.4, 0.5], axis = 0, sel_axis = sel_axis) #add right node root node and left node to new node tree.split2([0.6, 0.5], axis = 1, sel_axis = sel_axis) tree.split2([0.7, 0.4], axis = 0, sel_axis = sel_axis) print "node before: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label print "node before: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label #add a node tree.split2([0.3, 0.6], axis = 1, sel_axis = sel_axis) print "node after: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label print "node after: ", tree.get_path_to_best_matching_node([0.3, 0.5])[-1].label kdtree.visualize(tree) # img=mpimg.imread("test_unconstraint_tree.png") # plt.imshow(img) # Compare to image test_unconstraint_tree.png kdtree.plot2D(tree, plt=plt)
tree = kdtree.create(no) #kdtree.visualize(tree) #print [ n.label for n in tree.get_path_to_best_matching_node((0.6,0.4))] print [ str(n.label) +" " + str(n.height()) for n in tree.get_path_to_best_matching_node((0.6, 0.4))] print [ n.label for n in tree.get_path_to_best_matching_node((0.6, 0.1))] print [ n.label for n in tree.get_path_to_best_matching_node((0.175, 0.6))] kdtree.visualize(tree) # unbalanced tree tree2=kdtree.create([ (1, 2), (2, 3) ]) node=tree2.search_nn((1.1,2.1)) print node[0].label node[0].add((1,1)) kdtree.visualize(tree2) print "tree2.height(): ", tree2.height() print "node[0].level(tree2): ", node[0].level(tree2) print "tree2.level(tree2): ", tree2.level(tree2) #asumtion no kdtree.plot2D(tree)