summaryrefslogtreecommitdiff
path: root/src/Alpha_complex/doc
diff options
context:
space:
mode:
authorvrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-11-14 10:35:55 +0000
committervrouvrea <vrouvrea@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2018-11-14 10:35:55 +0000
commit9015dbcab28082375afccc159347bf1e7dfb49d8 (patch)
tree610c9fc09c688ab58e481312743acb3cf6d233d9 /src/Alpha_complex/doc
parentd121955a744c87e6b4ebbe42b42fb2321a32e9e3 (diff)
parent7b64e122ccda2f592a1a20c339318880302a92ed (diff)
Merge alpha_complex_3d_module_vincent branch
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/trunk@3980 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 6401af7c313479caaa45ec0958b74097955b5d8b
Diffstat (limited to 'src/Alpha_complex/doc')
-rw-r--r--src/Alpha_complex/doc/Intro_alpha_complex.h99
1 files changed, 61 insertions, 38 deletions
diff --git a/src/Alpha_complex/doc/Intro_alpha_complex.h b/src/Alpha_complex/doc/Intro_alpha_complex.h
index 7a375c9f..648fb6d6 100644
--- a/src/Alpha_complex/doc/Intro_alpha_complex.h
+++ b/src/Alpha_complex/doc/Intro_alpha_complex.h
@@ -29,34 +29,34 @@ namespace Gudhi {
namespace alpha_complex {
/** \defgroup alpha_complex Alpha complex
- *
+ *
* \author Vincent Rouvreau
*
* @{
- *
+ *
* \section definition Definition
- *
+ *
* Alpha_complex is a <a target="_blank" href="https://en.wikipedia.org/wiki/Simplicial_complex">simplicial complex</a>
* 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.
- *
+ *
* \image html "alpha_complex_representation.png" "Alpha-complex representation"
- *
+ *
* Alpha_complex is constructing a <a target="_blank"
* href="http://doc.cgal.org/latest/Triangulation/index.html#Chapter_Triangulations">Delaunay Triangulation</a>
* \cite cgal:hdj-t-15b from <a target="_blank" href="http://www.cgal.org/">CGAL</a> (the Computational Geometry
* Algorithms Library \cite cgal:eb-15b) and is able to create a `SimplicialComplexForAlpha`.
- *
+ *
* The complex is a template class requiring an Epick_d <a target="_blank"
* href="http://doc.cgal.org/latest/Kernel_d/index.html#Chapter_dD_Geometry_Kernel">dD Geometry Kernel</a>
* \cite cgal:s-gkd-15b from CGAL as template parameter.
- *
+ *
* \remark
* - When the simplicial complex is constructed with an infinite value of alpha, the complex is a Delaunay
* complex.
@@ -65,30 +65,30 @@ namespace alpha_complex {
* \ref cech_complex can still make sense in higher dimension precisely because you can bound the radii.
*
* \section pointsexample Example from points
- *
+ *
* This example builds the Delaunay triangulation from the given points in a 2D static kernel, and creates a
* `Simplex_tree` with it.
- *
+ *
* Then, it is asked to display information about the simplicial complex.
- *
+ *
* \include Alpha_complex/Alpha_complex_from_points.cpp
- *
+ *
* When launching:
- *
+ *
* \code $> ./Alpha_complex_example_from_points
* \endcode
*
* the program output is:
- *
+ *
* \include Alpha_complex/alphaoffreader_for_doc_60.txt
- *
+ *
* \section createcomplexalgorithm Create complex algorithm
- *
+ *
* \subsection datastructure Data structure
- *
+ *
* In order to create the simplicial complex, first, it is built from the cells of the Delaunay Triangulation.
* The filtration values are set to NaN, which stands for unknown value.
- *
+ *
* In example, :
* \image html "alpha_complex_doc.png" "Simplicial complex structure construction example"
*
@@ -118,53 +118,76 @@ namespace alpha_complex {
* \f$
*
* \subsubsection dimension2 Dimension 2
- *
+ *
* From the example above, it means the algorithm looks into each triangle ([0,1,2], [0,2,4], [1,2,3], ...),
* computes the filtration value of the triangle, and then propagates the filtration value as described
* here :
* \image html "alpha_complex_doc_420.png" "Filtration value propagation example"
- *
+ *
* \subsubsection dimension1 Dimension 1
- *
+ *
* Then, the algorithm looks into each edge ([0,1], [0,2], [1,2], ...),
* computes the filtration value of the edge (in this case, propagation will have no effect).
- *
+ *
* \subsubsection dimension0 Dimension 0
- *
+ *
* Finally, the algorithm looks into each vertex ([0], [1], [2], [3], [4], [5] and [6]) and
* sets the filtration value (0 in case of a vertex - propagation will have no effect).
- *
+ *
* \subsubsection nondecreasing Non decreasing filtration values
- *
+ *
* As the squared radii computed by CGAL are an approximation, it might happen that these alpha squared values do not
* quite define a proper filtration (i.e. non-decreasing with respect to inclusion).
* We fix that up by calling `SimplicialComplexForAlpha::make_filtration_non_decreasing()`.
- *
+ *
* \subsubsection pruneabove Prune above given filtration value
- *
+ *
* The simplex tree is pruned from the given maximum alpha squared value (cf.
* `SimplicialComplexForAlpha::prune_above_filtration()`).
* In the following example, the value is given by the user as argument of the program.
- *
- *
+ *
+ *
* \section offexample Example from OFF file
- *
+ *
* This example builds the Delaunay triangulation in a dynamic kernel, and initializes the alpha complex with it.
- *
- *
+ *
+ *
* Then, it is asked to display information about the alpha complex.
- *
+ *
* \include Alpha_complex/Alpha_complex_from_off.cpp
- *
+ *
* When launching:
- *
+ *
* \code $> ./Alpha_complex_example_from_off ../../data/points/alphacomplexdoc.off 32.0
* \endcode
*
* the program output is:
- *
+ *
* \include Alpha_complex/alphaoffreader_for_doc_32.txt
- *
+ *
+ *
+ * \section weighted3dexample 3d specific example
+ *
+ * A specific module for Alpha complex is available in 3d (cf. Alpha_complex_3d) and allows to construct default, exact,
+ * weighted, periodic or weighted and periodic versions of alpha complexes
+ *
+ * This example builds the CGAL 3d weighted alpha shapes from a small molecule, and initializes the alpha complex with
+ * it. This example is taken from <a href="https://doc.cgal.org/latest/Alpha_shapes_3/index.html#title13">CGAL 3d
+ * weighted alpha shapes</a>.
+ *
+ * Then, it is asked to display information about the alpha complex.
+ *
+ * \include Alpha_complex/Weighted_alpha_complex_3d_from_points.cpp
+ *
+ * When launching:
+ *
+ * \code $> ./Alpha_complex_example_weighted_3d_from_points
+ * \endcode
+ *
+ * the program output is:
+ *
+ * \include Alpha_complex/weightedalpha3dfrompoints_for_doc.txt
+ *
*/
/** @} */ // end defgroup alpha_complex