diff options
Diffstat (limited to 'src/cython/include')
-rw-r--r-- | src/cython/include/Rips_complex_interface.h | 5 | ||||
-rw-r--r-- | src/cython/include/Simplex_tree_interface.h | 29 | ||||
-rw-r--r-- | src/cython/include/Subsampling_interface.h | 2 |
3 files changed, 21 insertions, 15 deletions
diff --git a/src/cython/include/Rips_complex_interface.h b/src/cython/include/Rips_complex_interface.h index 1879bd74..6d813f4a 100644 --- a/src/cython/include/Rips_complex_interface.h +++ b/src/cython/include/Rips_complex_interface.h @@ -49,7 +49,7 @@ class Rips_complex_interface { if (euclidean) { // Rips construction where values is a vector of points rips_complex_ = new Rips_complex<Simplex_tree_interface<>::Filtration_value>(values, threshold, - Euclidean_distance()); + Gudhi::Euclidean_distance()); } else { // Rips construction where values is a distance matrix rips_complex_ = new Rips_complex<Simplex_tree_interface<>::Filtration_value>(values, threshold); @@ -61,7 +61,8 @@ class Rips_complex_interface { // Rips construction where file_name is an OFF file Gudhi::Points_off_reader<Point_d> off_reader(file_name); rips_complex_ = new Rips_complex<Simplex_tree_interface<>::Filtration_value>(off_reader.get_point_cloud(), - threshold, Euclidean_distance()); + threshold, + Gudhi::Euclidean_distance()); } else { // Rips construction where values is a distance matrix Distance_matrix distances = diff --git a/src/cython/include/Simplex_tree_interface.h b/src/cython/include/Simplex_tree_interface.h index 4266b3ef..45ce1916 100644 --- a/src/cython/include/Simplex_tree_interface.h +++ b/src/cython/include/Simplex_tree_interface.h @@ -52,29 +52,32 @@ class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> { return (Base::find(vh) != Base::null_simplex()); } + bool insert(const Simplex& simplex, Filtration_value filtration = 0) { + Insertion_result result = Base::insert_simplex_and_subfaces(simplex, filtration); + return (result.second); + } + + // Do not interface this function, only used in alpha complex interface for complex creation bool insert_simplex(const Simplex& simplex, Filtration_value filtration = 0) { Insertion_result result = Base::insert_simplex(simplex, filtration); - Base::initialize_filtration(); return (result.second); } + // Do not interface this function, only used in interface for complex creation bool insert_simplex_and_subfaces(const Simplex& simplex, Filtration_value filtration = 0) { Insertion_result result = Base::insert_simplex_and_subfaces(simplex, filtration); - Base::initialize_filtration(); return (result.second); } // Do not interface this function, only used in strong witness interface for complex creation bool insert_simplex(const std::vector<std::size_t>& complex, Filtration_value filtration = 0) { Insertion_result result = Base::insert_simplex(complex, filtration); - Base::initialize_filtration(); return (result.second); } // Do not interface this function, only used in strong witness interface for complex creation bool insert_simplex_and_subfaces(const std::vector<std::size_t>& complex, Filtration_value filtration = 0) { Insertion_result result = Base::insert_simplex_and_subfaces(complex, filtration); - Base::initialize_filtration(); return (result.second); } @@ -87,28 +90,29 @@ class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> { Base::initialize_filtration(); } - Complex get_filtered_tree() { - Complex filtered_tree; + Complex get_filtration() { + Base::initialize_filtration(); + Complex filtrations; for (auto f_simplex : Base::filtration_simplex_range()) { Simplex simplex; for (auto vertex : Base::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } - filtered_tree.push_back(std::make_pair(simplex, Base::filtration(f_simplex))); + filtrations.push_back(std::make_pair(simplex, Base::filtration(f_simplex))); } - return filtered_tree; + return filtrations; } - Complex get_skeleton_tree(int dimension) { - Complex skeleton_tree; + Complex get_skeleton(int dimension) { + Complex skeletons; for (auto f_simplex : Base::skeleton_simplex_range(dimension)) { Simplex simplex; for (auto vertex : Base::simplex_vertex_range(f_simplex)) { simplex.insert(simplex.begin(), vertex); } - skeleton_tree.push_back(std::make_pair(simplex, Base::filtration(f_simplex))); + skeletons.push_back(std::make_pair(simplex, Base::filtration(f_simplex))); } - return skeleton_tree; + return skeletons; } Complex get_star(const Simplex& simplex) { @@ -140,6 +144,7 @@ class Simplex_tree_interface : public Simplex_tree<SimplexTreeOptions> { } void create_persistence(Gudhi::Persistent_cohomology_interface<Base>* pcoh) { + Base::initialize_filtration(); pcoh = new Gudhi::Persistent_cohomology_interface<Base>(*this); } }; diff --git a/src/cython/include/Subsampling_interface.h b/src/cython/include/Subsampling_interface.h index 1c6032c0..b0f4a50a 100644 --- a/src/cython/include/Subsampling_interface.h +++ b/src/cython/include/Subsampling_interface.h @@ -46,7 +46,7 @@ std::vector<std::vector<double>> subsampling_n_farthest_points(const std::vector unsigned nb_points) { std::vector<std::vector<double>> landmarks; Subsampling_dynamic_kernel k; - choose_n_farthest_points(k, points, nb_points, std::back_inserter(landmarks)); + choose_n_farthest_points(k, points, nb_points, random_starting_point, std::back_inserter(landmarks)); return landmarks; } |