def test_join_split_trees(self): eq_(len(self.mesh), 18) join = ct.join_split_tree(self.mesh, self.height_func) split = ct.join_split_tree(self.mesh, self.height_func, split=True) eq_(join.order(), split.order()) eq_(sorted(join.nodes()), sorted(split.nodes())) eq_(sorted(ct.join_split_peak_pit_nodes(join)), [7, 8, 9, 10]) eq_(sorted(ct.join_split_peak_pit_nodes(split)), [1, 2]) eq_(sorted(ct.join_split_pass_nodes(join)), [4, 5, 6]) eq_(sorted(ct.join_split_pass_nodes(split)), [3]) compare_adj(join.adj, join_adj) compare_adj(split.adj, split_adj) if 0: import pylab as pl pl.ion() nx_join = join.to_networkx() _nx.draw_shell(nx_join) pl.title('join') pl.figure() nx_split = split.to_networkx() _nx.draw_shell(nx_split) pl.title('split') raw_input("enter to continue")
def test_contour_tree(self): join = ct.join_split_tree(self.mesh, self.height_func) split = ct.join_split_tree(self.mesh, self.height_func, split=True) contour_tree = ct.contour_tree(self.mesh, self.height_func) crit_pts = ct.critical_points(contour_tree) eq_(sorted(crit_pts.peaks), sorted(ct.join_split_peak_pit_nodes(join))) eq_(sorted(crit_pts.pits), sorted(ct.join_split_peak_pit_nodes(split))) eq_(sorted(crit_pts.passes), sorted([3, 4, 5, 6])) if 0: import pylab as pl pl.ion() pl.figure() try: _nx.draw(contour_tree.to_networkx()) except AttributeError: _nx.draw(contour_tree) raw_input("enter to continue")