summaryrefslogtreecommitdiff
path: root/src/Nerve_GIC/doc
diff options
context:
space:
mode:
authormcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-10-09 16:48:40 +0000
committermcarrier <mcarrier@636b058d-ea47-450e-bf9e-a15bfbe3eedb>2017-10-09 16:48:40 +0000
commitfe381d1ffe037028a9704966ec26d19894f4f5b1 (patch)
tree7365b91c1e4b40bcd10ef0cf9b1a4f20e8531653 /src/Nerve_GIC/doc
parent304012f82e02a5727f604b2907070b4661a9ed18 (diff)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/Nerve_GIC@2771 636b058d-ea47-450e-bf9e-a15bfbe3eedb
Former-commit-id: cd87a5b72b67d27b21f765fac822ea69f9496019
Diffstat (limited to 'src/Nerve_GIC/doc')
-rw-r--r--src/Nerve_GIC/doc/Intro_graph_induced_complex.h96
-rw-r--r--src/Nerve_GIC/doc/coordGICvisu.pdf (renamed from src/Nerve_GIC/doc/mapperdeltacoordvisu.pdf)bin20745 -> 20745 bytes
-rw-r--r--src/Nerve_GIC/doc/coordGICvisu2.jpg (renamed from src/Nerve_GIC/doc/mapperdeltacoordvisu2.jpg)bin1259868 -> 1259868 bytes
-rw-r--r--src/Nerve_GIC/doc/funcGICvisu.jpg (renamed from src/Nerve_GIC/doc/mapperdeltafuncvisu.jpg)bin71647 -> 71647 bytes
4 files changed, 49 insertions, 47 deletions
diff --git a/src/Nerve_GIC/doc/Intro_graph_induced_complex.h b/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
index 89b7a1b4..339c1284 100644
--- a/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
+++ b/src/Nerve_GIC/doc/Intro_graph_induced_complex.h
@@ -34,9 +34,10 @@ namespace graph_induced_complex {
* @{
*
* Visualizations of the simplicial complexes can be done with either
- * neato (from <a target="_blank" href="http://www.graphviz.org/"> graphviz </a>),
- * <a target="_blank" href="http://www.geomview.org/"> geomview </a>, or
- * <a target="_blank" href="https://www.python.org/"> python </a> + <a target="_blank" href="https://www.mozilla.org/fr/firefox/new/"> firefox </a>.
+ * neato (from <a target="_blank" href="http://www.graphviz.org/">graphviz</a>),
+ * <a target="_blank" href="http://www.geomview.org/">geomview</a>,
+ * <a target="_blank" href="https://github.com/MLWave/kepler-mapper">KeplerMapper</a>.
+ * Input point clouds are assumed to be <a target="_blank" href="http://www.geomview.org/docs/html/OFF.html">OFF files</a>.
*
* \section covers Covers
*
@@ -75,20 +76,15 @@ namespace graph_induced_complex {
*
* \include Nerve_GIC/Nerve.txt
*
- * The program also writes a file SC.txt.
- * The first three lines in this file are requirements for visualization with Kepler-Mapper.
+ * The program also writes a file SC.txt. The first three lines in this file are the location of the input point cloud and the function used to compute the cover.
* The fourth line contains the number of vertices nv and edges ne of the Nerve.
* The next nv lines represent the vertices. Each line contains the vertex ID,
* the number of data points it contains, and their average color function value.
* Finally, the next ne lines represent the edges, characterized by the ID of their vertices.
- * Using e.g.
*
- * \code $> python KeplerMapperVisuFromTxtFile.py && firefox SC.html
- * \endcode
- *
- * one can obtain the following visualization:
+ * Using KeplerMapper, one can obtain the following visualization:
*
- * \image html "nervevisu.jpg" "Visualization with Kepler Mapper"
+ * \image html "nervevisu.jpg" "Visualization with KeplerMapper"
*
* \section gic Graph Induced Complexes (GIC)
*
@@ -98,31 +94,10 @@ namespace graph_induced_complex {
* you are also given a graph G built on top of P. Then, for any clique in G
* whose nodes all belong to different elements of C, the GIC includes a corresponding
* simplex, whose dimension is the number of nodes in the clique minus one.
- * See <a target="_blank" href="https://arxiv.org/abs/1304.0662"> this article </a>
- * for more details.
+ * See \cite Dey13 for more details.
*
* \image html "GIC.jpg" "GIC of a point cloud."
*
- * \subsection gicexample Example with cover from function
- *
- * This example builds the GIC of a point cloud sampled on a 3D human shape (human.off).
- * The cover C comes from the preimages of intervals (with length 0.075 and gain 0)
- * covering the height function (coordinate 2),
- * and the graph G comes from a Rips complex built with threshold 0.075.
- * Note that if the gain is too big, the number of cliques increases a lot,
- * which make the computation time much larger.
- *
- * \include Nerve_GIC/GIC.cpp
- *
- * When launching:
- *
- * \code $> ./GIC ../../../../data/points/human.off 0.075 2 0.075 0 --v
- * \endcode
- *
- * the program outputs SC.txt, which can be visualized with python and firefox as before:
- *
- * \image html "gicvisu.jpg" "Visualization with Kepler Mapper"
- *
* \subsection gicexamplevor Example with cover from Voronoï
*
* This example builds the GIC of a point cloud sampled on a 3D human shape (human.off).
@@ -132,11 +107,11 @@ namespace graph_induced_complex {
* comes from the triangulation of the human shape. Note that the resulting simplicial complex is in dimension 3
* in this example.
*
- * \include Nerve_GIC/GICvoronoi.cpp
+ * \include Nerve_GIC/VoronoiGIC.cpp
*
* When launching:
*
- * \code $> ./GICvoronoi ../../../../data/points/human.off 700 --v
+ * \code $> ./VoronoiGIC ../../../../data/points/human.off 700 --v
* \endcode
*
* the program outputs SC.off. Using e.g.
@@ -148,29 +123,28 @@ namespace graph_induced_complex {
*
* \image html "gicvoronoivisu.jpg" "Visualization with Geomview"
*
- * \subsection mapperdeltadefinition Mapper Delta
+ * \subsection functionalGICdefinition Functional GIC
*
* If one restricts to the cliques in G whose nodes all belong to preimages of consecutive
* intervals (assuming the cover of the height function is minimal, i.e. no more than
* two intervals can intersect at a time), the GIC is of dimension one, i.e. a graph.
- * We call this graph the Mapper Delta, since it is related to the usual Mapper. See
- * <a target="_blank" href="https://arxiv.org/abs/1511.05823"> this article </a> for more details.
+ * We call this graph the functional GIC. See \cite Carriere16 for more details.
*
- * \subsection mapperdeltaexample Example
+ * \subsection functionalGICexample Example
*
- * Mapper Delta comes with optimal selection for the Rips threshold,
+ * Functional GIC comes with optimal selection for the Rips threshold,
* the resolution and the gain of the function cover. In this example,
- * we compute the Mapper Delta of a Klein bottle embedded in R^5,
+ * we compute the functional GIC of a Klein bottle embedded in R^5,
* where the graph G comes from a Rips complex with optimal threshold,
* and the cover C comes from the preimages of intervals covering the first coordinate,
* with optimal resolution and gain. Note that optimal threshold, resolution and gain
* can be computed as well for the Nerve.
*
- * \include Nerve_GIC/MapperDeltaCoord.cpp
+ * \include Nerve_GIC/CoordGIC.cpp
*
* When launching:
*
- * \code $> ./MapperDeltaCoord ../../../../data/points/KleinBottle5D.off 0 --v
+ * \code $> ./CoordGIC ../../../../data/points/KleinBottle5D.off 0 --v
* \endcode
*
* the program outputs SC.dot. Using e.g.
@@ -180,7 +154,7 @@ namespace graph_induced_complex {
*
* one can obtain the following visualization:
*
- * \image html "mapperdeltacoordvisu2.jpg" "Visualization with Neato"
+ * \image html "coordGICvisu2.jpg" "Visualization with Neato"
*
* where nodes are colored by the filter function values and, for each node, the first number is its ID
* and the second is the number of data points that its contain.
@@ -189,16 +163,16 @@ namespace graph_induced_complex {
* The function is now the first eigenfunction given by PCA, whose values
* are written in a file (lucky_cat_PCA1). Threshold, resolution and gain are automatically selected as before.
*
- * \include Nerve_GIC/MapperDeltaFunc.cpp
+ * \include Nerve_GIC/FuncGIC.cpp
*
* When launching:
*
- * \code $> ./MapperDeltaFunc ../../../../data/points/COIL_database/lucky_cat.off ../../../../data/points/COIL_database/lucky_cat_PCA1 --v
+ * \code $> ./FuncGIC ../../../../data/points/COIL_database/lucky_cat.off ../../../../data/points/COIL_database/lucky_cat_PCA1 --v
* \endcode
*
* the program outputs again SC.dot which gives the following visualization after using neato:
*
- * \image html "mapperdeltafuncvisu.jpg" "Visualization with Neato"
+ * \image html "funcGICvisu.jpg" "Visualization with neato"
*
* \copyright GNU General Public License v3.
* \verbatim Contact: gudhi-users@lists.gforge.inria.fr \endverbatim
@@ -210,3 +184,31 @@ namespace graph_induced_complex {
} // namespace Gudhi
#endif // DOC_GRAPH_INDUCED_COMPLEX_INTRO_GRAPH_INDUCED_COMPLEX_H_
+
+
+/* * \subsection gicexample Example with cover from function
+ *
+ * This example builds the GIC of a point cloud sampled on a 3D human shape (human.off).
+ * The cover C comes from the preimages of intervals (with length 0.075 and gain 0)
+ * covering the height function (coordinate 2),
+ * and the graph G comes from a Rips complex built with threshold 0.075.
+ * Note that if the gain is too big, the number of cliques increases a lot,
+ * which make the computation time much larger.
+ *
+ * \include Nerve_GIC/GIC.cpp
+ *
+ * When launching:
+ *
+ * \code $> ./GIC ../../../../data/points/human.off 0.075 2 0.075 0 --v
+ * \endcode
+ *
+ * the program outputs SC.txt, which can be visualized with python and firefox as before:
+ *
+ * \image html "gicvisu.jpg" "Visualization with KeplerMapper"
+ * */
+
+
+/* * Using e.g.
+ *
+ * \code $> python KeplerMapperVisuFromTxtFile.py && firefox SC.html
+ * \endcode */
diff --git a/src/Nerve_GIC/doc/mapperdeltacoordvisu.pdf b/src/Nerve_GIC/doc/coordGICvisu.pdf
index 313aa1b5..313aa1b5 100644
--- a/src/Nerve_GIC/doc/mapperdeltacoordvisu.pdf
+++ b/src/Nerve_GIC/doc/coordGICvisu.pdf
Binary files differ
diff --git a/src/Nerve_GIC/doc/mapperdeltacoordvisu2.jpg b/src/Nerve_GIC/doc/coordGICvisu2.jpg
index 046feb2a..046feb2a 100644
--- a/src/Nerve_GIC/doc/mapperdeltacoordvisu2.jpg
+++ b/src/Nerve_GIC/doc/coordGICvisu2.jpg
Binary files differ
diff --git a/src/Nerve_GIC/doc/mapperdeltafuncvisu.jpg b/src/Nerve_GIC/doc/funcGICvisu.jpg
index f3da45ac..f3da45ac 100644
--- a/src/Nerve_GIC/doc/mapperdeltafuncvisu.jpg
+++ b/src/Nerve_GIC/doc/funcGICvisu.jpg
Binary files differ