diff options
author | Vincent Rouvreau <10407034+VincentRouvreau@users.noreply.github.com> | 2020-01-27 09:57:23 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-27 09:57:23 +0100 |
commit | 5d5f40493ce60f2a606793645bf713c60fb5284d (patch) | |
tree | fb52c87d0a4aae8e1fa4a8083eff19ac990d6386 /src | |
parent | d2eac76e24031c1746e73e8703b0caafc66dc0a3 (diff) | |
parent | 43b6452cf36e92595e4fd05bdeca6c5eeaf95e86 (diff) |
Merge pull request #209 from mglisse/doccxx
Reorganize the main page of C++ doc
Diffstat (limited to 'src')
-rw-r--r-- | src/common/doc/main_page.md | 276 |
1 files changed, 146 insertions, 130 deletions
diff --git a/src/common/doc/main_page.md b/src/common/doc/main_page.md index 0b4bfb7a..6ea10b88 100644 --- a/src/common/doc/main_page.md +++ b/src/common/doc/main_page.md @@ -4,8 +4,8 @@ \image html "Gudhi_banner.png" <br><br><br><br> -## Complexes {#Complexes} -### Cubical complex +## Data structures for cell complexes {#Complexes} +### Cubical complexes <table> <tr> @@ -29,246 +29,269 @@ </tr> </table> -### Simplicial complex - -#### Alpha complex +### Simplicial complexes +#### Simplex tree <table> <tr> <td width="35%" rowspan=2> - \image html "alpha_complex_representation.png" + \image html "Simplex_tree_representation.png" </td> <td width="50%"> - Alpha complex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.<br> - 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 \f$ > \alpha^2 \f$ are removed from the Delaunay complex - when creating the simplicial complex if it is specified.<br> - For performances reasons, it is advised to use \ref cgal ≥ 5.0.0. + The simplex tree is an efficient and flexible + data structure for representing general (filtered) simplicial complexes. The data structure + is described in \cite boissonnatmariasimplextreealgorithmica . </td> <td width="15%"> - <b>Author:</b> Vincent Rouvreau<br> - <b>Introduced in:</b> GUDHI 1.3.0<br> - <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> - <b>Requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 + <b>Author:</b> Clément Maria<br> + <b>Introduced in:</b> GUDHI 1.0.0<br> + <b>Copyright:</b> MIT<br> </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref alpha_complex + <b>User manual:</b> \ref simplex_tree </td> </tr> </table> -#### Čech complex +#### Toplex Map <table> - <tr> + <tr> <td width="35%" rowspan=2> - \image html "cech_complex_representation.png" + \image html "map.png" </td> <td width="50%"> - 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. + 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. </td> <td width="15%"> - <b>Author:</b> Vincent Rouvreau<br> - <b>Introduced in:</b> GUDHI 2.2.0<br> - <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> - <b>Includes:</b> [Miniball](https://people.inf.ethz.ch/gaertner/subdir/software/miniball.html)<br> + <b>Author:</b> François Godi<br> + <b>Introduced in:</b> GUDHI 2.1.0<br> + <b>Copyright:</b> MIT<br> </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref cech_complex + <b>User manual:</b> \ref toplex_map </td> </tr> </table> -#### Rips complex +#### Skeleton blocker <table> <tr> <td width="35%" rowspan=2> - \image html "rips_complex_representation.png" + \image html "ds_representation.png" </td> <td width="50%"> - Rips complex is a simplicial complex constructed from a one skeleton graph.<br> - The filtration value of each edge is computed from a user-given distance function and is inserted until a - user-given threshold value.<br> - This complex can be built from a point cloud and a distance function, or from a distance matrix. + 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. </td> <td width="15%"> - <b>Author:</b> Clément Maria, Pawel Dlotko, Vincent Rouvreau, Marc Glisse<br> - <b>Introduced in:</b> GUDHI 2.0.0<br> + <b>Author:</b> David Salinas<br> + <b>Introduced in:</b> GUDHI 1.1.0<br> <b>Copyright:</b> MIT<br> </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref rips_complex + <b>User manual:</b> \ref skbl </td> </tr> </table> -#### Witness complex +#### Basic operation: contraction <table> <tr> <td width="35%" rowspan=2> - \image html "Witness_complex_representation.png" + \image html "sphere_contraction_representation.png" </td> <td width="50%"> - 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 . + 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. </td> <td width="15%"> - <b>Author:</b> Siargey Kachanovich<br> - <b>Introduced in:</b> GUDHI 1.3.0<br> - <b>Copyright:</b> MIT ([GPL v3](../../licensing/) for Euclidean version)<br> - <b>Euclidean version requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 + <b>Author:</b> David Salinas<br> + <b>Introduced in:</b> GUDHI 1.1.0<br> + <b>Copyright:</b> MIT [(LGPL v3)](../../licensing/)<br> + <b>Requires:</b> \ref cgal ≥ 4.11.0 </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref witness_complex + <b>User manual:</b> \ref contr </td> </tr> </table> -### Cover Complexes +## Filtrations and reconstructions {#FiltrationsReconstructions} +### Alpha complex + <table> <tr> <td width="35%" rowspan=2> - \image html "gicvisu.jpg" + \image html "alpha_complex_representation.png" </td> <td width="50%"> - 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. <br> + Alpha complex is a simplicial complex constructed from the finite cells of a Delaunay Triangulation.<br> + 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 \f$ > \alpha^2 \f$ are removed from the Delaunay complex + when creating the simplicial complex if it is specified.<br> + For performances reasons, it is advised to use \ref cgal ≥ 5.0.0. </td> <td width="15%"> - <b>Author:</b> Mathieu Carrière<br> - <b>Introduced in:</b> GUDHI 2.1.0<br> + <b>Author:</b> Vincent Rouvreau<br> + <b>Introduced in:</b> GUDHI 1.3.0<br> <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> - <b>Requires:</b> \ref cgal ≥ 4.11.0 + <b>Requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref cover_complex + <b>User manual:</b> \ref alpha_complex </td> </tr> </table> -## Data structures and basic operations {#DataStructuresAndBasicOperations} +### Čech complex -### Data structures +<table> + <tr> + <td width="35%" rowspan=2> + \image html "cech_complex_representation.png" + </td> + <td width="50%"> + 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. + </td> + <td width="15%"> + <b>Author:</b> Vincent Rouvreau<br> + <b>Introduced in:</b> GUDHI 2.2.0<br> + <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> + <b>Includes:</b> [Miniball](https://people.inf.ethz.ch/gaertner/subdir/software/miniball.html)<br> + </td> + </tr> + <tr> + <td colspan=2 height="25"> + <b>User manual:</b> \ref cech_complex + </td> + </tr> +</table> + +### Rips complex -#### Simplex tree <table> <tr> <td width="35%" rowspan=2> - \image html "Simplex_tree_representation.png" + \image html "rips_complex_representation.png" </td> <td width="50%"> - The simplex tree is an efficient and flexible - data structure for representing general (filtered) simplicial complexes. The data structure - is described in \cite boissonnatmariasimplextreealgorithmica . + Rips complex is a simplicial complex constructed from a one skeleton graph.<br> + The filtration value of each edge is computed from a user-given distance function and is inserted until a + user-given threshold value.<br> + This complex can be built from a point cloud and a distance function, or from a distance matrix. </td> <td width="15%"> - <b>Author:</b> Clément Maria<br> - <b>Introduced in:</b> GUDHI 1.0.0<br> + <b>Author:</b> Clément Maria, Pawel Dlotko, Vincent Rouvreau, Marc Glisse<br> + <b>Introduced in:</b> GUDHI 2.0.0<br> <b>Copyright:</b> MIT<br> </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref simplex_tree + <b>User manual:</b> \ref rips_complex </td> </tr> </table> -#### Skeleton blocker +### Witness complex <table> <tr> <td width="35%" rowspan=2> - \image html "ds_representation.png" + \image html "Witness_complex_representation.png" </td> <td width="50%"> - 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. + 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 . </td> <td width="15%"> - <b>Author:</b> David Salinas<br> - <b>Introduced in:</b> GUDHI 1.1.0<br> - <b>Copyright:</b> MIT<br> + <b>Author:</b> Siargey Kachanovich<br> + <b>Introduced in:</b> GUDHI 1.3.0<br> + <b>Copyright:</b> MIT ([GPL v3](../../licensing/) for Euclidean version)<br> + <b>Euclidean version requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref skbl + <b>User manual:</b> \ref witness_complex </td> </tr> </table> -#### Toplex Map - +### Cover Complexes <table> <tr> <td width="35%" rowspan=2> - \image html "map.png" + \image html "gicvisu.jpg" </td> <td width="50%"> - 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. + 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. <br> </td> <td width="15%"> - <b>Author:</b> François Godi<br> + <b>Author:</b> Mathieu Carrière<br> <b>Introduced in:</b> GUDHI 2.1.0<br> - <b>Copyright:</b> MIT<br> + <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> + <b>Requires:</b> \ref cgal ≥ 4.11.0 </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref toplex_map + <b>User manual:</b> \ref cover_complex </td> </tr> </table> -### Basic operations - -#### Contraction +### Tangential complex <table> <tr> <td width="35%" rowspan=2> - \image html "sphere_contraction_representation.png" + \image html "tc_examples.png" </td> <td width="50%"> - 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. + A Tangential Delaunay complex is a <a target="_blank" href="https://en.wikipedia.org/wiki/Simplicial_complex">simplicial complex</a> + 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$. </td> <td width="15%"> - <b>Author:</b> David Salinas<br> - <b>Introduced in:</b> GUDHI 1.1.0<br> - <b>Copyright:</b> MIT [(LGPL v3)](../../licensing/)<br> - <b>Requires:</b> \ref cgal ≥ 4.11.0 + <b>Author:</b> Clément Jamin<br> + <b>Introduced in:</b> GUDHI 2.0.0<br> + <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> + <b>Requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 </td> </tr> <tr> <td colspan=2 height="25"> - <b>User manual:</b> \ref contr + <b>User manual:</b> \ref tangential_complex </td> </tr> </table> @@ -305,36 +328,6 @@ </tr> </table> -## Manifold reconstruction {#ManifoldReconstruction} - -### Tangential complex - -<table> - <tr> - <td width="35%" rowspan=2> - \image html "tc_examples.png" - </td> - <td width="50%"> - A Tangential Delaunay complex is a <a target="_blank" href="https://en.wikipedia.org/wiki/Simplicial_complex">simplicial complex</a> - 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$. - </td> - <td width="15%"> - <b>Author:</b> Clément Jamin<br> - <b>Introduced in:</b> GUDHI 2.0.0<br> - <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> - <b>Requires:</b> \ref eigen ≥ 3.1.0 and \ref cgal ≥ 4.11.0 - </td> - </tr> - <tr> - <td colspan=2 height="25"> - <b>User manual:</b> \ref tangential_complex - </td> - </tr> -</table> - ## Topological descriptors tools {#TopologicalDescriptorsTools} ### Bottleneck distance @@ -390,3 +383,26 @@ </td> </tr> </table> + +## Point cloud utilities {#PointCloudUtils} + +<table> + <tr> + <td width="35%" rowspan=2> + \f$(x_1,\ldots,x_d)\f$ + </td> + <td width="50%"> + This contains various tools to handle point clouds: spatial searching, subsampling, etc. + </td> + <td width="15%"> + <b>Author:</b> Clément Jamin<br> + <b>Introduced in:</b> GUDHI 1.3.0<br> + <b>Copyright:</b> MIT [(GPL v3)](../../licensing/)<br> + </td> + </tr> + <tr> + <td colspan=2 height="25"> + <b>Manuals:</b> \ref spatial_searching, \ref subsampling + </td> + </tr> +</table> |