From f043cf8aaf676cc88e84082de49f70dd3492ecb0 Mon Sep 17 00:00:00 2001 From: albert-github Date: Sun, 22 May 2022 12:08:58 +0200 Subject: Documentation: handling references to examples in a more transparent way In case we have the files`Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp` this will be linked to `_random_bitmap_cubical_complex_8cpp-example.html` and this is now hard coded. When the setting of `CASE_SENSE_NAMES` is set to `YES` the mapping is to `Random_bitmap_cubical_complex_8cpp-example.html` but the hard coded link is still to `_random_bitmap_cubical_complex_8cpp-example.html` so the link cannot be resolved (at runtime!). Same could happen when the `CASE_SENSE_NAMES` is left blank and the the value is system dependent. It is unlikely that this happens but ... By introducing the `ALIASES` `gudhi_example_link` this can be handled by doxygen in a more transparent way. Furthermore wit 2 examples there was a double `cpp` in the text part, this has been corrected as well Notre this solution supersedes #621 and maked #621 obsolete. --- src/common/doc/installation.h | 234 ++++++++++++++---------------------------- 1 file changed, 78 insertions(+), 156 deletions(-) (limited to 'src/common') diff --git a/src/common/doc/installation.h b/src/common/doc/installation.h index 67d026bd..fb5ee665 100644 --- a/src/common/doc/installation.h +++ b/src/common/doc/installation.h @@ -76,58 +76,32 @@ make \endverbatim * * The following examples/utilities require the Computational Geometry Algorithms * Library (CGAL \cite cgal:eb-19b) and will not be built if CGAL version 4.11.0 or higher is not installed: - * \li - * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp - * \li - * Witness_complex/strong_witness_persistence.cpp - * \li - * Witness_complex/weak_witness_persistence.cpp - * \li - * Witness_complex/example_strong_witness_complex_off.cpp - * \li - * Witness_complex/example_witness_complex_off.cpp - * \li - * Witness_complex/example_witness_complex_sphere.cpp - * \li - * Alpha_complex/Alpha_complex_from_off.cpp - * \li - * Alpha_complex/Alpha_complex_from_points.cpp - * \li - * Alpha_complex/alpha_complex_persistence.cpp - * \li - * Persistent_cohomology/custom_persistence_sort.cpp - * \li - * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp - * \li - * Bottleneck_distance/bottleneck_basic_example.cpp - * \li - * Bottleneck_distance/bottleneck_distance.cpp - * \li - * Nerve_GIC/CoordGIC.cpp - * \li - * Nerve_GIC/FuncGIC.cpp - * \li - * Nerve_GIC/Nerve.cpp - * \li - * Nerve_GIC/VoronoiGIC.cpp - * \li - * Spatial_searching/example_spatial_searching.cpp - * \li - * Subsampling/example_choose_n_farthest_points.cpp - * \li - * Subsampling/example_pick_n_random_points.cpp - * \li - * Subsampling/example_sparsify_point_set.cpp - * \li - * Tangential_complex/example_basic.cpp - * \li - * Tangential_complex/example_with_perturb.cpp - * \li - * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp - * \li - * Alpha_complex/alpha_complex_3d_persistence.cpp - * \li - * Coxeter_triangulation/manifold_tracing_flat_torus_with_boundary.cpp + * \li \gudhi_example_link{Simplex_tree,example_alpha_shapes_3_simplex_tree_from_off_file.cpp} + * \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,example_strong_witness_complex_off.cpp} + * \li \gudhi_example_link{Witness_complex,example_witness_complex_off.cpp} + * \li \gudhi_example_link{Witness_complex,example_witness_complex_sphere.cpp} + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp} + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp} + * \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp} + * \li \gudhi_example_link{Bottleneck_distance,alpha_rips_persistence_bottleneck_distance.cpp} + * \li \gudhi_example_link{Bottleneck_distance,bottleneck_basic_example.cpp} + * \li \gudhi_example_link{Bottleneck_distance,bottleneck_distance.cpp} + * \li \gudhi_example_link{Nerve_GIC,CoordGIC.cpp} + * \li \gudhi_example_link{Nerve_GIC,FuncGIC.cpp} + * \li \gudhi_example_link{Nerve_GIC,Nerve.cpp} + * \li \gudhi_example_link{Nerve_GIC,VoronoiGIC.cpp} + * \li \gudhi_example_link{Spatial_searching,example_spatial_searching.cpp} + * \li \gudhi_example_link{Subsampling,example_choose_n_farthest_points.cpp} + * \li \gudhi_example_link{Subsampling,example_pick_n_random_points.cpp} + * \li \gudhi_example_link{Subsampling,example_sparsify_point_set.cpp} + * \li \gudhi_example_link{Tangential_complex,example_basic.cpp} + * \li \gudhi_example_link{Tangential_complex,example_with_perturb.cpp} + * \li \gudhi_example_link{Alpha_complex,Weighted_alpha_complex_3d_from_points.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp} + * \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_flat_torus_with_boundary.cpp} * * \subsection eigen Eigen * Some GUDHI modules (cf. \ref main_page "modules list"), and few examples require @@ -136,48 +110,27 @@ make \endverbatim * * The following examples/utilities require the Eigen and will not be * built if Eigen is not installed: - * \li - * Alpha_complex/Alpha_complex_from_off.cpp - * \li - * Alpha_complex/Alpha_complex_from_points.cpp - * \li - * Alpha_complex/alpha_complex_persistence.cpp - * \li - * Alpha_complex/alpha_complex_3d_persistence.cpp - * \li - * Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp - * \li - * Bottleneck_distance/alpha_rips_persistence_bottleneck_distance.cpp.cpp - * \li - * Persistent_cohomology/custom_persistence_sort.cpp - * \li - * Spatial_searching/example_spatial_searching.cpp - * \li - * Subsampling/example_choose_n_farthest_points.cpp - * \li - * Subsampling/example_pick_n_random_points.cpp - * \li - * Subsampling/example_sparsify_point_set.cpp - * \li - * Tangential_complex/example_basic.cpp - * \li - * Tangential_complex/example_with_perturb.cpp - * \li - * Witness_complex/strong_witness_persistence.cpp - * \li - * Witness_complex/weak_witness_persistence.cpp - * \li - * Witness_complex/example_strong_witness_complex_off.cpp - * \li - * Witness_complex/example_witness_complex_off.cpp - * \li - * Witness_complex/example_witness_complex_sphere.cpp - * \li - * Coxeter_triangulation/cell_complex_from_basic_circle_manifold.cpp - * \li - * Coxeter_triangulation/manifold_tracing_custom_function.cpp - * \li - * Coxeter_triangulation/manifold_tracing_flat_torus_with_boundary.cpp + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp} + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp} + * \li \gudhi_example_link{Alpha_complex,Weighted_alpha_complex_3d_from_points.cpp} + * \li \gudhi_example_link{Bottleneck_distance,alpha_rips_persistence_bottleneck_distance.cpp} + * \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp} + * \li \gudhi_example_link{Spatial_searching,example_spatial_searching.cpp} + * \li \gudhi_example_link{Subsampling,example_choose_n_farthest_points.cpp} + * \li \gudhi_example_link{Subsampling,example_pick_n_random_points.cpp} + * \li \gudhi_example_link{Subsampling,example_sparsify_point_set.cpp} + * \li \gudhi_example_link{Tangential_complex,example_basic.cpp} + * \li \gudhi_example_link{Tangential_complex,example_with_perturb.cpp} + * \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,example_strong_witness_complex_off.cpp} + * \li \gudhi_example_link{Witness_complex,example_witness_complex_off.cpp} + * \li \gudhi_example_link{Witness_complex,example_witness_complex_sphere.cpp} + * \li \gudhi_example_link{Coxeter_triangulation,cell_complex_from_basic_circle_manifold.cpp} + * \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_custom_function.cpp} + * \li \gudhi_example_link{Coxeter_triangulation,manifold_tracing_flat_torus_with_boundary.cpp} * * \subsection tbb Threading Building Blocks * Intel® TBB lets you easily write parallel @@ -187,68 +140,37 @@ make \endverbatim * Having Intel® TBB installed is recommended to parallelize and accelerate some GUDHI computations. * * The following examples/utilities are using Intel® TBB if installed: - * \li - * Alpha_complex/Alpha_complex_from_off.cpp - * \li - * Alpha_complex/Alpha_complex_from_points.cpp - * \li - * Alpha_complex/alpha_complex_3d_persistence.cpp - * \li - * Alpha_complex/alpha_complex_persistence.cpp - * \li - * Bitmap_cubical_complex/cubical_complex_persistence.cpp - * \li - * Bitmap_cubical_complex/periodic_cubical_complex_persistence.cpp - * \li - * Bitmap_cubical_complex/Random_bitmap_cubical_complex.cpp - * \li - * Nerve_GIC/CoordGIC.cpp - * \li - * Nerve_GIC/FuncGIC.cpp - * \li - * Nerve_GIC/Nerve.cpp - * \li - * Nerve_GIC/VoronoiGIC.cpp - * \li - * Simplex_tree/simple_simplex_tree.cpp - * \li - * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp - * \li - * Simplex_tree/simplex_tree_from_cliques_of_graph.cpp - * \li - * Simplex_tree/graph_expansion_with_blocker.cpp - * \li - * Persistent_cohomology/alpha_complex_3d_persistence.cpp - * \li - * Persistent_cohomology/alpha_complex_persistence.cpp - * \li - * Persistent_cohomology/rips_persistence_via_boundary_matrix.cpp - * \li - * Persistent_cohomology/persistence_from_file.cpp - * \li - * Persistent_cohomology/persistence_from_simple_simplex_tree.cpp - * \li - * Persistent_cohomology/plain_homology.cpp - * \li - * Persistent_cohomology/rips_multifield_persistence.cpp - * \li - * Persistent_cohomology/rips_persistence_step_by_step.cpp - * \li - * Persistent_cohomology/custom_persistence_sort.cpp - * \li - * Rips_complex/example_one_skeleton_rips_from_points.cpp - * \li - * Rips_complex/example_rips_complex_from_off_file.cpp - * \li - * Rips_complex/rips_distance_matrix_persistence.cpp - * \li - * Rips_complex/rips_persistence.cpp - * \li - * Witness_complex/strong_witness_persistence.cpp - * \li - * Witness_complex/weak_witness_persistence.cpp - * \li - * Witness_complex/example_nearest_landmark_table.cpp + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_off.cpp} + * \li \gudhi_example_link{Alpha_complex,Alpha_complex_from_points.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp} + * \li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp} + * \li \gudhi_example_link{Bitmap_cubical_complex,cubical_complex_persistence.cpp} + * \li \gudhi_example_link{Bitmap_cubical_complex,periodic_cubical_complex_persistence.cpp} + * \li \gudhi_example_link{Bitmap_cubical_complex,Random_bitmap_cubical_complex.cpp} + * \li \gudhi_example_link{Nerve_GIC,CoordGIC.cpp} + * \li \gudhi_example_link{Nerve_GIC,FuncGIC.cpp} + * \li \gudhi_example_link{Nerve_GIC,Nerve.cpp} + * \li \gudhi_example_link{Nerve_GIC,VoronoiGIC.cpp} + * \li \gudhi_example_link{Simplex_tree,simple_simplex_tree.cpp} + * \li \gudhi_example_link{Simplex_tree,example_alpha_shapes_3_simplex_tree_from_off_file.cpp} + * \li \gudhi_example_link{Simplex_tree,simplex_tree_from_cliques_of_graph.cpp} + * \li \gudhi_example_link{Simplex_tree,graph_expansion_with_blocker.cpp} + * \li \gudhi_example_link{Persistent_cohomology,alpha_complex_3d_persistence.cpp} + * \li \gudhi_example_link{Persistent_cohomology,alpha_complex_persistence.cpp} + * \li \gudhi_example_link{Persistent_cohomology,rips_persistence_via_boundary_matrix.cpp} + * \li \gudhi_example_link{Persistent_cohomology,persistence_from_file.cpp} + * \li \gudhi_example_link{Persistent_cohomology,persistence_from_simple_simplex_tree.cpp} + * \li \gudhi_example_link{Persistent_cohomology,plain_homology.cpp} + * \li \gudhi_example_link{Persistent_cohomology,rips_multifield_persistence.cpp} + * \li \gudhi_example_link{Persistent_cohomology,rips_persistence_step_by_step.cpp} + * \li \gudhi_example_link{Persistent_cohomology,custom_persistence_sort.cpp} + * \li \gudhi_example_link{Rips_complex,example_one_skeleton_rips_from_points.cpp} + * \li \gudhi_example_link{Rips_complex,example_rips_complex_from_off_file.cpp} + * \li \gudhi_example_link{Rips_complex,rips_distance_matrix_persistence.cpp} + * \li \gudhi_example_link{Rips_complex,rips_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,strong_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,weak_witness_persistence.cpp} + * \li \gudhi_example_link{Witness_complex,example_nearest_landmark_table.cpp} * * \section Contributions Bug reports and contributions * Please help us improving the quality of the GUDHI library. -- cgit v1.2.3 From 298ae783896d7a9fee43b58a3a01041c9106962c Mon Sep 17 00:00:00 2001 From: albert-github Date: Mon, 23 May 2022 13:25:06 +0200 Subject: Documentation: handling references to examples in a more transparent way Adding the other examples also with `gudhi_example_link`. --- src/Cech_complex/doc/Intro_cech_complex.h | 5 ++--- .../doc/Intro_persistent_cohomology.h | 21 +++++++-------------- src/Rips_complex/doc/Intro_rips_complex.h | 5 ++--- src/Simplex_tree/doc/Intro_simplex_tree.h | 12 ++++-------- src/common/doc/installation.h | 3 +-- 5 files changed, 16 insertions(+), 30 deletions(-) (limited to 'src/common') diff --git a/src/Cech_complex/doc/Intro_cech_complex.h b/src/Cech_complex/doc/Intro_cech_complex.h index 698f9749..095fd320 100644 --- a/src/Cech_complex/doc/Intro_cech_complex.h +++ b/src/Cech_complex/doc/Intro_cech_complex.h @@ -70,9 +70,8 @@ namespace cech_complex { * This radius computation is the reason why the Cech_complex is taking much more time to be computed than the * \ref rips_complex but it offers more topological guarantees. * - * If the Cech_complex interfaces are not detailed enough for your need, please refer to - * - * cech_complex_step_by_step.cpp example, where the graph construction over the Simplex_tree is more detailed. + * If the Cech_complex interfaces are not detailed enough for your need, please refer to the example + * \gudhi_example_link{Cech_complex,cech_complex_step_by_step.cpp}, where the graph construction over the Simplex_tree is more detailed. * * \subsection cechpointscloudexample Example from a point cloud * diff --git a/src/Persistent_cohomology/doc/Intro_persistent_cohomology.h b/src/Persistent_cohomology/doc/Intro_persistent_cohomology.h index a3613d0d..94579564 100644 --- a/src/Persistent_cohomology/doc/Intro_persistent_cohomology.h +++ b/src/Persistent_cohomology/doc/Intro_persistent_cohomology.h @@ -131,8 +131,7 @@ namespace persistent_cohomology { We provide several example files: run these examples with -h for details on their use, and read the README file. -\li -Rips_complex/rips_persistence.cpp computes the Rips complex of a point cloud and outputs its persistence +\li \gudhi_example_link{Rips_complex,rips_persistence.cpp} computes the Rips complex of a point cloud and outputs its persistence diagram. \code $> ./rips_persistence ../../data/points/tore3D_1307.off -r 0.25 -m 0.5 -d 3 -p 3 \endcode \code The complex contains 177838 simplices @@ -144,12 +143,10 @@ diagram. More details on the Rips complex utilities dedicated page. -\li -Persistent_cohomology/rips_multifield_persistence.cpp computes the Rips complex of a point cloud and outputs its +\li \gudhi_example_link{Persistent_cohomology,rips_multifield_persistence.cpp} computes the Rips complex of a point cloud and outputs its persistence diagram with a family of field coefficients. -\li -Rips_complex/rips_distance_matrix_persistence.cpp computes the Rips complex of a distance matrix and +\li \gudhi_example_link{Rips_complex,rips_distance_matrix_persistence.cpp} computes the Rips complex of a distance matrix and outputs its persistence diagram. The file should contain square or lower triangular distance matrix with semicolons as separators. @@ -158,8 +155,7 @@ Please refer to data/distance_matrix/lower_triangular_distance_matrix.csv for an More details on the Rips complex utilities dedicated page. -\li -Rips_complex/rips_correlation_matrix_persistence.cpp +\li \gudhi_example_link{Rips_complex,rips_correlation_matrix_persistence.cpp} computes the Rips complex of a correlation matrix and outputs its persistence diagram. Note that no check is performed if the matrix given as the input is a correlation matrix. @@ -169,8 +165,7 @@ Please refer to data/correlation_matrix/lower_triangular_correlation_matrix.csv More details on the Rips complex utilities dedicated page. -\li -Alpha_complex/alpha_complex_3d_persistence.cpp computes the persistent homology with +\li \gudhi_example_link{Alpha_complex,alpha_complex_3d_persistence.cpp} computes the persistent homology with \f$\mathbb{Z}/2\mathbb{Z}\f$ coefficients of the alpha complex on points sampling from an OFF file. \code $> ./alpha_complex_3d_persistence ../../data/points/tore3D_300.off -p 2 -m 0.45 \endcode \code Simplex_tree dim: 3 @@ -235,8 +230,7 @@ Note that the lengths of the sides of the periodic cuboid have to be the same. -Alpha_complex/alpha_complex_persistence.cpp computes the persistent homology with +\li \gudhi_example_link{Alpha_complex,alpha_complex_persistence.cpp} computes the persistent homology with \f$\mathbb{Z}/p\mathbb{Z}\f$ coefficients of the alpha complex on points sampling from an OFF file. \code $> ./alpha_complex_persistence -r 32 -p 2 -m 0.45 ../../data/points/tore3D_300.off \endcode \code Alpha complex is of dimension 3 - 9273 simplices - 300 vertices. @@ -248,8 +242,7 @@ Simplex_tree dim: 3 More details on the Alpha complex utilities dedicated page. -\li -Persistent_cohomology/plain_homology.cpp computes the plain homology of a simple simplicial complex without +\li \gudhi_example_link{Persistent_cohomology,plain_homology.cpp} computes the plain homology of a simple simplicial complex without filtration values. */ diff --git a/src/Rips_complex/doc/Intro_rips_complex.h b/src/Rips_complex/doc/Intro_rips_complex.h index 3888ec8f..cd77b327 100644 --- a/src/Rips_complex/doc/Intro_rips_complex.h +++ b/src/Rips_complex/doc/Intro_rips_complex.h @@ -63,9 +63,8 @@ namespace rips_complex { * value set with \f$max(filtration(4,5), filtration(4,6), filtration(5,6))\f$. * And so on for simplex (0,1,2,3). * - * If the Rips_complex interfaces are not detailed enough for your need, please refer to - * - * rips_persistence_step_by_step.cpp example, where the constructions of the graph and + * If the Rips_complex interfaces are not detailed enough for your need, please refer to the example + * \gudhi_example_link{Persistent_cohomology,rips_persistence_step_by_step.cpp} , where the constructions of the graph and * the Simplex_tree are more detailed. * * \section sparserips Sparse Rips complex diff --git a/src/Simplex_tree/doc/Intro_simplex_tree.h b/src/Simplex_tree/doc/Intro_simplex_tree.h index ef8dec91..2d3ecdec 100644 --- a/src/Simplex_tree/doc/Intro_simplex_tree.h +++ b/src/Simplex_tree/doc/Intro_simplex_tree.h @@ -39,11 +39,9 @@ namespace Gudhi { * \subsubsection filteredcomplexessimplextreeexamples Examples * * Here is a list of simplex tree examples : - * \li - * Simplex_tree/simple_simplex_tree.cpp - Simple simplex tree construction and basic function use. + * \li \gudhi_example_link{Simplex_tree,simple_simplex_tree.cpp} - Simple simplex tree construction and basic function use. * - * \li - * Simplex_tree/simplex_tree_from_cliques_of_graph.cpp - Simplex tree construction from cliques of graph read in + * \li \gudhi_example_link{Simplex_tree,simplex_tree_from_cliques_of_graph.cpp} - Simplex tree construction from cliques of graph read in * a file. * * Simplex tree construction with \f$\mathbb{Z}/3\mathbb{Z}\f$ coefficients on weighted graph Klein bottle file: @@ -54,12 +52,10 @@ Expand the simplex tree in 3.8e-05 s. Information of the Simplex Tree: Number of vertices = 10 Number of simplices = 98 \endcode * - * \li - * Simplex_tree/example_alpha_shapes_3_simplex_tree_from_off_file.cpp - Simplex tree is computed and displayed + * \li \gudhi_example_link{Simplex_tree,example_alpha_shapes_3_simplex_tree_from_off_file.cpp} - Simplex tree is computed and displayed * from a 3D alpha complex (Requires CGAL, GMP and GMPXX to be installed). * - * \li - * Simplex_tree/graph_expansion_with_blocker.cpp - Simple simplex tree construction from a one-skeleton graph with + * \li \gudhi_example_link{Simplex_tree,graph_expansion_with_blocker.cpp} - Simple simplex tree construction from a one-skeleton graph with * a simple blocker expansion method. * * \subsection filteredcomplexeshassecomplex Hasse complex diff --git a/src/common/doc/installation.h b/src/common/doc/installation.h index fb5ee665..e786f53a 100644 --- a/src/common/doc/installation.h +++ b/src/common/doc/installation.h @@ -58,8 +58,7 @@ make \endverbatim * * The following example requires the GNU Multiple Precision Arithmetic * Library (GMP) and will not be built if GMP is not installed: - * \li - * Persistent_cohomology/rips_multifield_persistence.cpp + * \li \gudhi_example_link{Persistent_cohomology,rips_multifield_persistence.cpp} * * Having GMP version 4.2 or higher installed is recommended. * -- cgit v1.2.3