From a5661362f1a73f924965103b37fa0175839934d9 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Mon, 25 Apr 2016 16:07:47 +0000 Subject: Rename Complex in Simplex Rename st_from_graph_expansion in st_from_rips Hide insert_simplex and use only insert_simplex_with_subfaces (insert function) git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/ST_cythonize@1139 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 510f37a47361b635a45f7fd3a4c11a37a95b6e80 --- src/cython/Simplex_tree_interface.h | 27 +++++++++++---------------- src/cython/cgudhi.pxd | 1 - src/cython/gudhi.pyx | 12 +----------- src/cython/main.py | 16 ++++++++-------- 4 files changed, 20 insertions(+), 36 deletions(-) (limited to 'src/cython') diff --git a/src/cython/Simplex_tree_interface.h b/src/cython/Simplex_tree_interface.h index df35b335..dc29bed5 100644 --- a/src/cython/Simplex_tree_interface.h +++ b/src/cython/Simplex_tree_interface.h @@ -37,34 +37,29 @@ template class Simplex_tree_interface : public Simplex_tree { typedef typename Simplex_tree::Simplex_handle Simplex_handle; typedef typename std::pair Insertion_result; - typedef std::vector Complex; - typedef std::pair Filtered_complex; + typedef std::vector Simplex; + typedef std::pair Filtered_complex; typedef std::vector Complex_tree; public: - bool find_simplex(const Complex& vh) { + bool find_simplex(const Simplex& vh) { return (Simplex_tree::find(vh) != Simplex_tree::null_simplex()); } - bool insert_simplex(const Complex& vh, Filtration_value filtration = 0) { - Insertion_result result = Simplex_tree::insert_simplex(vh, filtration); - return (result.second); - } - - bool insert_simplex_and_subfaces(const Complex& complex, Filtration_value filtration = 0) { + bool insert_simplex_and_subfaces(const Simplex& complex, Filtration_value filtration = 0) { Insertion_result result = Simplex_tree::insert_simplex_and_subfaces(complex, filtration); return (result.second); } - Filtration_value simplex_filtration(const Complex& complex) { + Filtration_value simplex_filtration(const Simplex& complex) { return Simplex_tree::filtration(Simplex_tree::find(complex)); } Complex_tree get_filtered_tree() { Complex_tree filtered_tree; for (auto f_simplex : Simplex_tree::filtration_simplex_range()) { - Complex simplex; + Simplex simplex; for (auto vertex : Simplex_tree::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } @@ -77,7 +72,7 @@ class Simplex_tree_interface : public Simplex_tree { Complex_tree get_skeleton_tree(int dimension) { Complex_tree skeleton_tree; for (auto f_simplex : Simplex_tree::skeleton_simplex_range(dimension)) { - Complex simplex; + Simplex simplex; for (auto vertex : Simplex_tree::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } @@ -86,10 +81,10 @@ class Simplex_tree_interface : public Simplex_tree { return skeleton_tree; } - Complex_tree get_star_tree(const Complex& complex) { + Complex_tree get_star_tree(const Simplex& complex) { Complex_tree star_tree; for (auto f_simplex : Simplex_tree::star_simplex_range(Simplex_tree::find(complex))) { - Complex simplex; + Simplex simplex; for (auto vertex : Simplex_tree::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } @@ -98,10 +93,10 @@ class Simplex_tree_interface : public Simplex_tree { return star_tree; } - Complex_tree get_coface_tree(const Complex& complex, int dimension) { + Complex_tree get_coface_tree(const Simplex& complex, int dimension) { Complex_tree coface_tree; for (auto f_simplex : Simplex_tree::cofaces_simplex_range(Simplex_tree::find(complex), dimension)) { - Complex simplex; + Simplex simplex; for (auto vertex : Simplex_tree::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } diff --git a/src/cython/cgudhi.pxd b/src/cython/cgudhi.pxd index 9d055c44..1be7309d 100644 --- a/src/cython/cgudhi.pxd +++ b/src/cython/cgudhi.pxd @@ -19,7 +19,6 @@ cdef extern from "Simplex_tree_interface.h" namespace "Gudhi": void set_dimension(int dimension) int dimension() bint find_simplex(vector[int] simplex) - bint insert_simplex(vector[int] simplex, double filtration) bint insert_simplex_and_subfaces(vector[int] simplex, double filtration) vector[pair[vector[int], double]] get_filtered_tree() vector[pair[vector[int], double]] get_skeleton_tree(int dimension) diff --git a/src/cython/gudhi.pyx b/src/cython/gudhi.pyx index dd87f4bb..c5757039 100644 --- a/src/cython/gudhi.pyx +++ b/src/cython/gudhi.pyx @@ -38,11 +38,6 @@ cdef class SimplexTree: complex.push_back(i) return self.thisptr.find_simplex(complex) def insert(self, simplex, filtration = 0.0): - cdef vector[int] complex - for i in simplex: - complex.push_back(i) - return self.thisptr.insert_simplex(complex, filtration) - def insert_with_subfaces(self, simplex, filtration = 0.0): cdef vector[int] complex for i in simplex: complex.push_back(i) @@ -111,12 +106,7 @@ cdef class MiniSimplexTree: for i in simplex: complex.push_back(i) return self.thisptr.find_simplex(complex) - def insert(self, simplex): - cdef vector[int] complex - for i in simplex: - complex.push_back(i) - return self.thisptr.insert_simplex(complex, 0.0) - def insert_with_subfaces(self, simplex, filtration = 0.0): + def insert(self, simplex, filtration = 0.0): cdef vector[int] complex for i in simplex: complex.push_back(i) diff --git a/src/cython/main.py b/src/cython/main.py index c5f1d03b..e9459588 100755 --- a/src/cython/main.py +++ b/src/cython/main.py @@ -16,7 +16,7 @@ if st.find([0,1]): else: print("Not found...") -if st.insert_with_subfaces([0,1,2], filtration=4.0): +if st.insert([0,1,2], filtration=4.0): print("Inserted !!") else: print("Not inserted...") @@ -39,12 +39,12 @@ print("skeleton_tree[1]=", st.get_skeleton_tree(1)) print("skeleton_tree[0]=", st.get_skeleton_tree(0)) print("#######################################################################") -print("SimplexTree creation from graph expansion") -st_from_graph_expansion = gudhi.SimplexTree(points=[[0,0],[1,0],[0,1],[1,1]],max_dimension=1,max_edge_length=42) +print("SimplexTree creation from Rips") +st_from_rips = gudhi.SimplexTree(points=[[0,0],[1,0],[0,1],[1,1]],max_dimension=1,max_edge_length=42) -print("filtered_tree=", st_from_graph_expansion.get_filtered_tree()) -print("star([0])=", st_from_graph_expansion.get_star_tree([0])) -print("coface([0],1)=", st_from_graph_expansion.get_coface_tree([0], 1)) +print("filtered_tree=", st_from_rips.get_filtered_tree()) +print("star([0])=", st_from_rips.get_star_tree([0])) +print("coface([0],1)=", st_from_rips.get_coface_tree([0], 1)) print("#######################################################################") @@ -52,8 +52,8 @@ print("MiniSimplexTree creation from insertion") triangle012 = [0, 1, 2] edge03 = [0, 3] mini_st = gudhi.MiniSimplexTree() -mini_st.insert_with_subfaces(triangle012) -mini_st.insert_with_subfaces(edge03) +mini_st.insert(triangle012) +mini_st.insert(edge03) # FIXME: Remove this line mini_st.set_dimension(2); -- cgit v1.2.3