diff options
author | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2017-04-01 08:59:44 +0000 |
---|---|---|
committer | vrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb> | 2017-04-01 08:59:44 +0000 |
commit | 39cd1e8ab33bd069236649edc10459925cea83f4 (patch) | |
tree | 23c2138114ebcdfa6c75daf0a0268a1eaa0049ad /src/GudhUI/utils | |
parent | 5084fc612a5f8ed47a80771785e5c26ee4e42d94 (diff) | |
parent | dd108b5a6c620b10675b7ebaf8d1561c2c165bf2 (diff) |
Merge last trunk modifications and fix new rips interface
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/gudhi_stat@2299 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: 1e836cba1a372f609e94b66b6db512817a3d875e
Diffstat (limited to 'src/GudhUI/utils')
-rw-r--r-- | src/GudhUI/utils/Critical_points.h | 1 | ||||
-rw-r--r-- | src/GudhUI/utils/Is_manifold.h | 1 | ||||
-rw-r--r-- | src/GudhUI/utils/Persistence_compute.h | 17 | ||||
-rw-r--r-- | src/GudhUI/utils/Vertex_collapsor.h | 1 |
4 files changed, 13 insertions, 7 deletions
diff --git a/src/GudhUI/utils/Critical_points.h b/src/GudhUI/utils/Critical_points.h index 3021a5fe..2a18e079 100644 --- a/src/GudhUI/utils/Critical_points.h +++ b/src/GudhUI/utils/Critical_points.h @@ -106,6 +106,7 @@ template<typename SkBlComplex> class Critical_points { return 0; Edge_contractor<Complex> contractor(link, link.num_vertices() - 1); + (void)contractor; if (link.num_connected_components() > 1) // one than more CC -> not contractible diff --git a/src/GudhUI/utils/Is_manifold.h b/src/GudhUI/utils/Is_manifold.h index 0640ea47..d0974463 100644 --- a/src/GudhUI/utils/Is_manifold.h +++ b/src/GudhUI/utils/Is_manifold.h @@ -77,6 +77,7 @@ template<typename SkBlComplex> class Is_manifold { bool is_k_sphere(Vertex_handle v, int k) { auto link = input_complex_.link(v); Edge_contractor<Complex> contractor(link, link.num_vertices() - 1); + (void)contractor; return (is_sphere_simplex(link) == k); } diff --git a/src/GudhUI/utils/Persistence_compute.h b/src/GudhUI/utils/Persistence_compute.h index 97165490..2dc03c8e 100644 --- a/src/GudhUI/utils/Persistence_compute.h +++ b/src/GudhUI/utils/Persistence_compute.h @@ -29,6 +29,7 @@ #include <gudhi/Simplex_tree.h> #include <gudhi/distance_functions.h> #include <gudhi/Persistent_cohomology.h> +#include <gudhi/Rips_complex.h> #include <vector> @@ -69,21 +70,23 @@ template<typename SkBlComplex> class Persistence_compute { points.emplace_back(std::move(pt_to_add)); } + using Simplex_tree = Gudhi::Simplex_tree<>; + using Filtration_value = Simplex_tree::Filtration_value; + using Rips_complex = Gudhi::rips_complex::Rips_complex<Filtration_value>; + using Field_Zp = Gudhi::persistent_cohomology::Field_Zp; + using Persistent_cohomology = Gudhi::persistent_cohomology::Persistent_cohomology<Simplex_tree, Field_Zp>; - Graph_t prox_graph = compute_proximity_graph(points, params.threshold, euclidean_distance<Point_t>); - Gudhi::Simplex_tree<> st; - st.insert_graph(prox_graph); - st.expansion(params.max_dim); + Rips_complex rips_complex(points, params.threshold, Euclidean_distance()); - Gudhi::persistent_cohomology::Persistent_cohomology< Gudhi::Simplex_tree<>, - Gudhi::persistent_cohomology::Field_Zp > pcoh(st); + Simplex_tree st; + rips_complex.create_complex(st, params.max_dim); + Persistent_cohomology pcoh(st); // initializes the coefficient field for homology pcoh.init_coefficients(params.p); // put params.min_pers pcoh.compute_persistent_cohomology(params.min_pers); stream << "persistence: \n"; stream << "p dimension birth death: \n"; - pcoh.output_diagram(stream); } }; diff --git a/src/GudhUI/utils/Vertex_collapsor.h b/src/GudhUI/utils/Vertex_collapsor.h index 2b36cb3a..568dab2f 100644 --- a/src/GudhUI/utils/Vertex_collapsor.h +++ b/src/GudhUI/utils/Vertex_collapsor.h @@ -81,6 +81,7 @@ template<typename SkBlComplex> class Vertex_collapsor { if (link.is_cone()) return true; if (link.num_connected_components() > 1) return false; Edge_contractor<Complex> contractor(link, link.num_vertices() - 1); + (void)contractor; return (link.num_vertices() == 1); } }; |