From d17d140addd5c88200a983609e7d11a5571d7e7b Mon Sep 17 00:00:00 2001 From: ROUVREAU Vincent Date: Tue, 28 May 2019 22:24:04 +0200 Subject: Use markdown for main page. Fix some doxyfile --- src/common/doc/main_page.h | 289 -------------------------------- src/common/doc/main_page.md | 391 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 391 insertions(+), 289 deletions(-) delete mode 100644 src/common/doc/main_page.h create mode 100644 src/common/doc/main_page.md (limited to 'src/common/doc') diff --git a/src/common/doc/main_page.h b/src/common/doc/main_page.h deleted file mode 100644 index afe9b68c..00000000 --- a/src/common/doc/main_page.h +++ /dev/null @@ -1,289 +0,0 @@ -/*! \mainpage The C++ library - * \tableofcontents - * \image html "Gudhi_banner.png" "" width=20cm - * - * \section Introduction Introduction - * The GUDHI library (Geometry Understanding in Higher Dimensions) is a generic open source - * C++ library for - * Computational Topology and Topological Data Analysis - * (TDA). - * The GUDHI library intends to help the development of new algorithmic solutions in TDA and their transfer to - * applications. It provides robust, efficient, flexible and easy to use implementations of state-of-the-art - * algorithms and data structures. - * - * The current release of the GUDHI library includes: - * - * \li Data structures to represent, construct and manipulate simplicial complexes. - * \li Simplification of simplicial complexes by edge contraction. - * \li Algorithms to compute persistent homology and bottleneck distance. - * - * All data-structures are generic and several of their aspects can be parameterized via template classes. - * We refer to \cite gudhilibrary_ICMS14 for a detailed description of the design of the library. - * - \section DataStructures Data structures - \subsection AlphaComplexDataStructure Alpha complex - \image html "alpha_complex_representation.png" "Alpha complex representation" - - - - - -
- Author: Vincent Rouvreau
- Introduced in: GUDHI 1.3.0
- Copyright: GPL v3
- Requires: \ref eigen3 and
- \ref cgal ≥ 4.7.0 for Alpha_complex
- \ref cgal ≥ 4.11.0 for Alpha_complex_3d -
- Alpha_complex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.
- The filtration value of each simplex is computed as the square of the circumradius of the simplex if the - circumsphere is empty (the simplex is then said to be Gabriel), and as the minimum of the filtration - values of the codimension 1 cofaces that make it not Gabriel otherwise. - All simplices that have a filtration value strictly greater than a given alpha squared value are not inserted into - the complex.
- User manual: \ref alpha_complex - Reference manual: Gudhi::alpha_complex::Alpha_complex and - Gudhi::alpha_complex::Alpha_complex_3d -
- \subsection CechComplexDataStructure Čech complex - \image html "cech_complex_representation.png" "Čech complex representation" - - - - - -
- Author: Vincent Rouvreau
- Introduced in: GUDHI 2.2.0
- Copyright: GPL v3
-
- The Čech complex is a simplicial complex constructed from a proximity graph.
- The set of all simplices is filtered by the radius of their minimal enclosing ball.
- User manual: \ref cech_complex - Reference manual: Gudhi::cech_complex::Cech_complex -
- \subsection CubicalComplexDataStructure Cubical complex - \image html "Cubical_complex_representation.png" "Cubical complex representation" - - - - - -
- Author: Pawel Dlotko
- Introduced in: GUDHI 1.3.0
- Copyright: GPL v3
-
- The cubical complex is an example of a structured complex useful in computational mathematics (specially - rigorous numerics) and image analysis.
- User manual: \ref cubical_complex - Reference manual: Gudhi::cubical_complex::Bitmap_cubical_complex -
- \subsection RipsComplexDataStructure Rips complex - \image html "rips_complex_representation.png" "Rips complex representation" - - - - - -
- Author: Clément Maria, Pawel Dlotko, Vincent Rouvreau, Marc Glisse
- Introduced in: GUDHI 2.0.0
- Copyright: GPL v3
-
- Rips_complex is a simplicial complex constructed from a one skeleton graph.
- The filtration value of each edge is computed from a user-given distance function and is inserted until a - user-given threshold value.
- This complex can be built from a point cloud and a distance function, or from a distance matrix.
- User manual: \ref rips_complex - Reference manual: Gudhi::rips_complex::Rips_complex -
- \subsection SimplexTreeDataStructure Simplex tree - \image html "Simplex_tree_representation.png" "Simplex tree representation" - - - - - -
- Author: Clément Maria
- Introduced in: GUDHI 1.0.0
- Copyright: GPL v3
-
- The simplex tree is an efficient and flexible - data structure for representing general (filtered) simplicial complexes. The data structure - is described in \cite boissonnatmariasimplextreealgorithmica .
- User manual: \ref simplex_tree - Reference manual: Gudhi::Simplex_tree -
- \subsection CoverComplexDataStructure Cover Complexes - \image html "gicvisu.jpg" "Graph Induced Complex of a point cloud." - - - - - -
- Author: Mathieu Carrière
- Introduced in: GUDHI 2.1.0
- Copyright: GPL v3
- Requires: \ref cgal ≥ 4.8.1 -
- Nerves and Graph Induced Complexes are cover complexes, i.e. simplicial complexes that provably contain - topological information about the input data. They can be computed with a cover of the - data, that comes i.e. from the preimage of a family of intervals covering the image - of a scalar-valued function defined on the data.
- User manual: \ref cover_complex - Reference manual: Gudhi::cover_complex::Cover_complex -
- \subsection SkeletonBlockerDataStructure Skeleton blocker - \image html "ds_representation.png" "Skeleton blocker representation" - - - - - -
- Author: David Salinas
- Introduced in: GUDHI 1.1.0
- Copyright: GPL v3
-
- The Skeleton-Blocker data-structure proposes a light encoding for simplicial complexes by storing only an *implicit* - representation of its simplices \cite socg_blockers_2011,\cite blockers2012. Intuitively, it just stores the - 1-skeleton of a simplicial complex with a graph and the set of its "missing faces" that is very small in practice. - This data-structure handles all simplicial complexes operations such as simplex enumeration or simplex removal but - operations that are particularly efficient are operations that do not require simplex enumeration such as edge - iteration, link computation or simplex contraction.
- User manual: \ref skbl - Reference manual: Gudhi::skeleton_blocker::Skeleton_blocker_complex -
- \subsection TangentialComplexDataStructure Tangential complex - \image html "tc_examples.png" "Tangential complex representation" - - - - - -
- Author: Clément Jamin
- Introduced in: GUDHI 2.0.0
- Copyright: GPL v3
- Requires: \ref cgal ≥ 4.8.1 and \ref eigen3 -
- A Tangential Delaunay complex is a simplicial complex - designed to reconstruct a \f$ k \f$-dimensional manifold embedded in \f$ d \f$-dimensional Euclidean space. - The input is a point sample coming from an unknown manifold. - The running time depends only linearly on the extrinsic dimension \f$ d \f$ - and exponentially on the intrinsic dimension \f$ k \f$.
- User manual: \ref tangential_complex - Reference manual: Gudhi::tangential_complex::Tangential_complex -
- \subsection ToplexMapDataStructure Toplex Map - \image html "map.png" "Toplex map representation" - - - - - - - \subsection WitnessComplexDataStructure Witness complex - \image html "Witness_complex_representation.png" "Witness complex representation" -
- Author: François Godi
- Introduced in: GUDHI 2.1.0
- Copyright: GPL v3
-
- The Toplex map data structure is composed firstly of a raw storage of toplices (the maximal simplices) - and secondly of a map which associate any vertex to a set of pointers toward all toplices - containing this vertex. - User manual: \ref toplex_map - Reference manual: Gudhi::Toplex_map -
- - - - -
- Author: Siargey Kachanovich
- Introduced in: GUDHI 1.3.0
- Copyright: GPL v3
- Euclidean version requires: \ref cgal ≥ 4.6.0 and \ref eigen3 -
- Witness complex \f$ Wit(W,L) \f$ is a simplicial complex defined on two sets of points in \f$\mathbb{R}^D\f$. - The data structure is described in \cite boissonnatmariasimplextreealgorithmica .
- User manual: \ref witness_complex - Reference manual: Gudhi::witness_complex::SimplicialComplexForWitness -
- - \section Toolbox Toolbox - - \subsection BottleneckDistanceToolbox Bottleneck distance - \image html "perturb_pd.png" "Bottleneck distance is the length of the longest edge" - - - - - -
- Author: François Godi
- Introduced in: GUDHI 2.0.0
- Copyright: GPL v3
- Requires: \ref cgal ≥ 4.8.1 -
- Bottleneck distance measures the similarity between two persistence diagrams. - It's the shortest distance b for which there exists a perfect matching between - the points of the two diagrams (+ all the diagonal points) such that - any couple of matched points are at distance at most b. -
- User manual: \ref bottleneck_distance -
- \subsection ContractionToolbox Contraction - \image html "sphere_contraction_representation.png" "Sphere contraction example" - - - - - -
- Author: David Salinas
- Introduced in: GUDHI 1.1.0
- Copyright: GPL v3
-
- 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 much lower than the total number of simplices.
- User manual: \ref contr -
- \subsection PersistentCohomologyToolbox Persistent Cohomology - \image html "3DTorus_poch.png" "Rips Persistent Cohomology on a 3D Torus" - - - - - -
- Author: Clément Maria
- Introduced in: GUDHI 1.0.0
- Copyright: GPL v3
-
- The theory of homology consists in attaching to a topological space a sequence of (homology) groups, capturing - global topological features like connected components, holes, cavities, etc. Persistent homology studies the - evolution -- birth, life and death -- of these features when the topological space is changing. Consequently, the - theory is essentially composed of three elements: topological spaces, their homology groups and an evolution - scheme. - Computation of persistent cohomology using the algorithm of \cite DBLP:journals/dcg/SilvaMV11 and - \cite DBLP:journals/corr/abs-1208-5018 and the Compressed Annotation Matrix implementation of - \cite DBLP:conf/esa/BoissonnatDM13 .
- User manual: \ref persistent_cohomology - Reference manual: Gudhi::persistent_cohomology::Persistent_cohomology -
- \subsection PersistenceRepresentationsToolbox Persistence representations - \image html "average_landscape.png" "Persistence representations" - - - - - -
- Author: Pawel Dlotko
- Introduced in: GUDHI 2.1.0
- Copyright: GPL v3
-
- It contains implementation of various representations of persistence diagrams; diagrams themselves, persistence - landscapes (rigorous and grid version), persistence heath maps, vectors and others. It implements basic - functionalities which are neccessary to use persistence in statistics and machine learning.
- User manual: \ref Persistence_representations -
- -*/ diff --git a/src/common/doc/main_page.md b/src/common/doc/main_page.md new file mode 100644 index 00000000..61efd582 --- /dev/null +++ b/src/common/doc/main_page.md @@ -0,0 +1,391 @@ +[TOC] + +# The C++ library {#main_page} +\image html "Gudhi_banner.png" +



+ +## Complexes {#Complexes} +### Cubical complex + + + + + + + + + + +
+ \image html "Cubical_complex_representation.png" + + The cubical complex is an example of a structured complex useful in computational mathematics (specially + rigorous numerics) and image analysis.
+
+ Author: Pawel Dlotko
+ Introduced in: GUDHI 1.3.0
+ Copyright: GPL v3
+
+ User manual: \ref cubical_complex - Reference manual: Gudhi::cubical_complex::Bitmap_cubical_complex +
+ +### Simplicial complex + +#### Alpha complex + + + + + + + + + + +
+ \image html "alpha_complex_representation.png" + + Alpha complex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.
+ The filtration value of each simplex is computed as the square of the circumradius of the simplex if the + circumsphere is empty (the simplex is then said to be Gabriel), and as the minimum of the filtration + values of the codimension 1 cofaces that make it not Gabriel otherwise. + All simplices that have a filtration value strictly greater than a given alpha squared value are not inserted into + the complex.
+
+ Author: Vincent Rouvreau
+ Introduced in: GUDHI 1.3.0
+ Copyright: GPL v3
+ Requires: \ref eigen3 and
+ \ref cgal ≥ 4.7.0 for Alpha_complex
+ \ref cgal ≥ 4.11.0 for Alpha_complex_3d +
+ User manual: \ref alpha_complex - Reference manual: Gudhi::alpha_complex::Alpha_complex and + Gudhi::alpha_complex::Alpha_complex_3d +
+ +#### Čech complex + + + + + + + + + + +
+ \image html "cech_complex_representation.png" + + The Čech complex is a simplicial complex constructed from a proximity graph. + The set of all simplices is filtered by the radius of their minimal enclosing ball. + + Author: Vincent Rouvreau
+ Introduced in: GUDHI 2.2.0
+ Copyright: GPL v3
+
+ User manual: \ref cech_complex - Reference manual: Gudhi::cech_complex::Cech_complex +
+ +#### Rips complex + + + + + + + + + + +
+ \image html "rips_complex_representation.png" + + Rips_complex is a simplicial complex constructed from a one skeleton graph.
+ The filtration value of each edge is computed from a user-given distance function and is inserted until a + user-given threshold value.
+ This complex can be built from a point cloud and a distance function, or from a distance matrix. +
+ Author: Clément Maria, Pawel Dlotko, Vincent Rouvreau, Marc Glisse
+ Introduced in: GUDHI 2.0.0
+ Copyright: GPL v3
+
+ User manual: \ref rips_complex - Reference manual: Gudhi::rips_complex::Rips_complex +
+ +#### Witness complex + + + + + + + + + + +
+ \image html "Witness_complex_representation.png" + + Witness complex \f$ Wit(W,L) \f$ is a simplicial complex defined on two sets of points in \f$\mathbb{R}^D\f$. + The data structure is described in \cite boissonnatmariasimplextreealgorithmica . + + Author: Siargey Kachanovich
+ Introduced in: GUDHI 1.3.0
+ Copyright: GPL v3
+ Euclidean version requires: \ref cgal ≥ 4.6.0 and \ref eigen3 +
+ User manual: \ref witness_complex - Reference manual: Gudhi::witness_complex::SimplicialComplexForWitness +
+ +### Cover Complexes + + + + + + + + + +
+ \image html "gicvisu.jpg" + + Nerves and Graph Induced Complexes are cover complexes, i.e. simplicial complexes that provably contain + topological information about the input data. They can be computed with a cover of the + data, that comes i.e. from the preimage of a family of intervals covering the image + of a scalar-valued function defined on the data.
+ User manual: \ref cover_complex - Reference manual: Gudhi::cover_complex::Cover_complex +
+ Author: Mathieu Carrière
+ Introduced in: GUDHI 2.1.0
+ Copyright: GPL v3
+ Requires: \ref cgal ≥ 4.8.1 +
+ User manual: \ref cover_complex - Reference manual: Gudhi::cover_complex::Cover_complex +
+ +## Data structures and basic operations {#DataStructuresAndBasicOperations} + +### Data structures + +#### Simplex tree + + + + + + + + + +
+ \image html "Simplex_tree_representation.png" + + The simplex tree is an efficient and flexible + data structure for representing general (filtered) simplicial complexes. The data structure + is described in \cite boissonnatmariasimplextreealgorithmica . + + Author: Clément Maria
+ Introduced in: GUDHI 1.0.0
+ Copyright: GPL v3
+
+ User manual: \ref simplex_tree - Reference manual: Gudhi::Simplex_tree +
+ +#### Skeleton blocker + + + + + + + + + + +
+ \image html "ds_representation.png" + + The Skeleton-Blocker data-structure proposes a light encoding for simplicial complexes by storing only an *implicit* + representation of its simplices \cite socg_blockers_2011,\cite blockers2012. Intuitively, it just stores the + 1-skeleton of a simplicial complex with a graph and the set of its "missing faces" that is very small in practice. + This data-structure handles all simplicial complexes operations such as simplex enumeration or simplex removal but + operations that are particularly efficient are operations that do not require simplex enumeration such as edge + iteration, link computation or simplex contraction. + + Author: David Salinas
+ Introduced in: GUDHI 1.1.0
+ Copyright: GPL v3
+
+ User manual: \ref skbl - Reference manual: Gudhi::skeleton_blocker::Skeleton_blocker_complex +
+ +#### Toplex Map + + + + + + + + + + +
+ \image html "map.png" + + The Toplex map data structure is composed firstly of a raw storage of toplices (the maximal simplices) + and secondly of a map which associate any vertex to a set of pointers toward all toplices + containing this vertex. + + Author: François Godi
+ Introduced in: GUDHI 2.1.0
+ Copyright: GPL v3
+
+ User manual: \ref toplex_map - Reference manual: Gudhi::Toplex_map +
+ +### Basic operations + +#### Contraction + + + + + + + + + + +
+ \image html "sphere_contraction_representation.png" + + Author: David Salinas
+ Introduced in: GUDHI 1.1.0
+ Copyright: GPL v3
+
+ 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 much lower than the total number of simplices. +
+ User manual: \ref contr +
+ +## Topological descriptors computation {#TopologicalDescriptorsComputation} + +### Persistent Cohomology + + + + + + + + + + +
+ \image html "3DTorus_poch.png" + + The theory of homology consists in attaching to a topological space a sequence of (homology) groups, capturing + global topological features like connected components, holes, cavities, etc. Persistent homology studies the + evolution -- birth, life and death -- of these features when the topological space is changing. Consequently, the + theory is essentially composed of three elements: topological spaces, their homology groups and an evolution + scheme. + Computation of persistent cohomology using the algorithm of \cite DBLP:journals/dcg/SilvaMV11 and + \cite DBLP:journals/corr/abs-1208-5018 and the Compressed Annotation Matrix implementation of + \cite DBLP:conf/esa/BoissonnatDM13 . + + Author: Clément Maria
+ Introduced in: GUDHI 1.0.0
+ Copyright: GPL v3
+
+ User manual: \ref persistent_cohomology - Reference manual: Gudhi::persistent_cohomology::Persistent_cohomology +
+ +## Manifold reconstruction {#ManifoldReconstruction} + +### Tangential complex + + + + + + + + + + +
+ \image html "tc_examples.png" + + A Tangential Delaunay complex is a simplicial complex + designed to reconstruct a \f$ k \f$-dimensional manifold embedded in \f$ d \f$-dimensional Euclidean space. + The input is a point sample coming from an unknown manifold. + The running time depends only linearly on the extrinsic dimension \f$ d \f$ + and exponentially on the intrinsic dimension \f$ k \f$. + + Author: Clément Jamin
+ Introduced in: GUDHI 2.0.0
+ Copyright: GPL v3
+ Requires: \ref cgal ≥ 4.8.1 and \ref eigen3 +
+ User manual: \ref tangential_complex - Reference manual: Gudhi::tangential_complex::Tangential_complex +
+ +## Topological descriptors tools {#TopologicalDescriptorsTools} + +### Bottleneck distance + + + + + + + + + + +
+ \image html "perturb_pd.png" + + Bottleneck distance measures the similarity between two persistence diagrams. + It's the shortest distance b for which there exists a perfect matching between + the points of the two diagrams (+ all the diagonal points) such that + any couple of matched points are at distance at most b. + + Author: François Godi
+ Introduced in: GUDHI 2.0.0
+ Copyright: GPL v3
+ Requires: \ref cgal ≥ 4.8.1 +
+ User manual: \ref bottleneck_distance +
+ +### Persistence representations + + + + + + + + + + +
+ \image html "average_landscape.png" + + It contains implementation of various representations of persistence diagrams; diagrams themselves, persistence + landscapes (rigorous and grid version), persistence heath maps, vectors and others. It implements basic + functionalities which are neccessary to use persistence in statistics and machine learning. + + Author: Pawel Dlotko
+ Introduced in: GUDHI 2.1.0
+ Copyright: GPL v3
+
+ User manual: \ref Persistence_representations +
-- cgit v1.2.3