diff options
Diffstat (limited to 'src/Contraction/include/gudhi/Edge_contraction.h')
-rw-r--r-- | src/Contraction/include/gudhi/Edge_contraction.h | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/src/Contraction/include/gudhi/Edge_contraction.h b/src/Contraction/include/gudhi/Edge_contraction.h index dfce8d1b..61f2d945 100644 --- a/src/Contraction/include/gudhi/Edge_contraction.h +++ b/src/Contraction/include/gudhi/Edge_contraction.h @@ -30,23 +30,23 @@ #include <gudhi/Contraction/policies/Valid_contraction_policy.h> #include <gudhi/Contraction/policies/Dummy_valid_contraction.h> #include <gudhi/Contraction/policies/Link_condition_valid_contraction.h> -#include <gudhi/Utils.h> +#include <gudhi/Debug_utils.h> namespace Gudhi { namespace contraction { -/** \defgroup contr Contraction +/** \defgroup contr Edge contraction \author David Salinas -\section Introduction +\section edgecontractionintroduction Introduction The purpose of this package is to offer a user-friendly interface for edge contraction simplification of huge simplicial complexes. It uses the \ref skbl data-structure whose size remains small during simplification of most used geometrical complexes of topological data analysis such as the Rips or the Delaunay complexes. In practice, the -size of this data-structure is even uch lower than the total number of simplices. +size of this data-structure is even much lower than the total number of simplices. The edge contraction operation consists in identifying two vertices of a simplicial complex. A lot of algorithms have been developed in computer graphics that allows to reduce efficiently the size of 2-dimensional simplicial complexes @@ -127,7 +127,7 @@ while ensuring its homotopy type is preserved during the contraction (edge are c using namespace std; using namespace Gudhi; -using namespace skbl; +using namespace skeleton_blocker; using namespace contraction; struct Geometry_trait{ @@ -158,7 +158,7 @@ void build_rips(ComplexType& complex, double offset){ for (auto p = vertices.begin(); p != vertices.end(); ++p) for (auto q = p; ++q != vertices.end(); ) if (eucl_distance(complex.point(*p), complex.point(*q)) < 2 * offset) - complex.add_edge(*p,*q); + complex.add_edge_without_blockers(*p,*q); } int main (int argc, char *argv[]) @@ -194,7 +194,7 @@ int main (int argc, char *argv[]) contractor.contract_edges(); std::cout << "Counting final number of simplices \n"; - unsigned num_simplices = std::distance(complex.simplex_range().begin(),complex.simplex_range().end()); + unsigned num_simplices = std::distance(complex.star_simplex_range().begin(),complex.star_simplex_range().end()); std::cout << "Final complex has "<< complex.num_vertices()<<" vertices, "<< @@ -226,7 +226,6 @@ Time to simplify and enumerate simplices: \copyright GNU General Public License v3. -\verbatim Contact: David Salinas, david.salinas@inria.fr \endverbatim */ /** @} */ // end defgroup } // namespace contraction |