diff options
Diffstat (limited to 'doc/Nerve_GIC')
-rw-r--r-- | doc/Nerve_GIC/COPYRIGHT | 19 | ||||
-rw-r--r-- | doc/Nerve_GIC/GIC.jpg | bin | 457905 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/GIC.pdf | bin | 26073 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/Intro_graph_induced_complex.h | 186 | ||||
-rw-r--r-- | doc/Nerve_GIC/coordGICvisu.pdf | bin | 20745 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/coordGICvisu2.jpg | bin | 1259868 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/funcGICvisu.jpg | bin | 68388 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/funcGICvisu.pdf | bin | 11347 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/gicvisu.jpg | bin | 167192 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/gicvoronoivisu.jpg | bin | 37785 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/nerve.png | bin | 45129 -> 0 bytes | |||
-rw-r--r-- | doc/Nerve_GIC/nervevisu.jpg | bin | 127619 -> 0 bytes |
12 files changed, 0 insertions, 205 deletions
diff --git a/doc/Nerve_GIC/COPYRIGHT b/doc/Nerve_GIC/COPYRIGHT deleted file mode 100644 index 6b33053e..00000000 --- a/doc/Nerve_GIC/COPYRIGHT +++ /dev/null @@ -1,19 +0,0 @@ -The files of this directory are part of the Gudhi Library. The Gudhi library -(Geometric Understanding in Higher Dimensions) is a generic C++ library for -computational topology. - -Author(s): Mathieu Carrière - -Copyright (C) 2017 Inria - -This program is free software: you can redistribute it and/or modify it under -the terms of the GNU General Public License as published by the Free Software -Foundation, either version 3 of the License, or (at your option) any later -version. - -This program is distributed in the hope that it will be useful, but WITHOUT -ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS -FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - -You should have received a copy of the GNU General Public License along with -this program. If not, see <http://www.gnu.org/licenses/>. diff --git a/doc/Nerve_GIC/GIC.jpg b/doc/Nerve_GIC/GIC.jpg Binary files differdeleted file mode 100644 index cb1b9b7f..00000000 --- a/doc/Nerve_GIC/GIC.jpg +++ /dev/null diff --git a/doc/Nerve_GIC/GIC.pdf b/doc/Nerve_GIC/GIC.pdf Binary files differdeleted file mode 100644 index 30525745..00000000 --- a/doc/Nerve_GIC/GIC.pdf +++ /dev/null diff --git a/doc/Nerve_GIC/Intro_graph_induced_complex.h b/doc/Nerve_GIC/Intro_graph_induced_complex.h deleted file mode 100644 index bc8aecc3..00000000 --- a/doc/Nerve_GIC/Intro_graph_induced_complex.h +++ /dev/null @@ -1,186 +0,0 @@ -/* This file is part of the Gudhi Library. The Gudhi library - * (Geometric Understanding in Higher Dimensions) is a generic C++ - * library for computational topology. - * - * Author(s): Mathieu Carriere - * - * Copyright (C) 2017 Inria - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -#ifndef DOC_COVER_COMPLEX_INTRO_COVER_COMPLEX_H_ -#define DOC_COVER_COMPLEX_INTRO_COVER_COMPLEX_H_ - -namespace Gudhi { - -namespace cover_complex { - -/** \defgroup cover_complex Cover complex - * - * \author Mathieu Carrière - * - * @{ - * - * 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>, - * <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 - * - * Nerves and Graph Induced Complexes require a cover C of the input point cloud P, - * that is a set of subsets of P whose union is P itself. - * Very often, this cover is obtained from the preimage of a family of intervals covering - * the image of some scalar-valued function f defined on P. This family is parameterized - * by its resolution, which can be either the number or the length of the intervals, - * and its gain, which is the overlap percentage between consecutive intervals (ordered by their first values). - * - * \section nerves Nerves - * - * \subsection nervedefinition Nerve definition - * - * Assume you are given a cover C of your point cloud P. Then, the Nerve of this cover - * is the simplicial complex that has one k-simplex per k-fold intersection of cover elements. - * See also <a target="_blank" href="https://en.wikipedia.org/wiki/Nerve_of_a_covering"> Wikipedia </a>. - * - * \image html "nerve.png" "Nerve of a double torus" - * - * \subsection nerveexample Example - * - * This example builds the Nerve of a point cloud sampled on a 3D human shape (human.off). - * The cover C comes from the preimages of intervals (10 intervals with gain 0.3) - * covering the height function (coordinate 2), - * which are then refined into their connected components using the triangulation of the .OFF file. - * - * \include Nerve_GIC/Nerve.cpp - * - * When launching: - * - * \code $> ./Nerve ../../data/points/human.off 2 10 0.3 -v - * \endcode - * - * the program output is: - * - * \include Nerve_GIC/Nerve.txt - * - * The program also writes a file ../../data/points/human_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 KeplerMapper, one can obtain the following visualization: - * - * \image html "nervevisu.jpg" "Visualization with KeplerMapper" - * - * \section gic Graph Induced Complexes (GIC) - * - * \subsection gicdefinition GIC definition - * - * Again, assume you are given a cover C of your point cloud P. Moreover, assume - * 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 \cite Dey13 for more details. - * - * \image html "GIC.jpg" "GIC of a point cloud." - * - * \subsection gicexamplevor Example with cover from Voronoï - * - * This example builds the GIC of a point cloud sampled on a 3D human shape (human.off). - * We randomly subsampled 100 points in the point cloud, which act as seeds of - * a geodesic Voronoï diagram. Each cell of the diagram is then an element of C. - * The graph G (used to compute both the geodesics for Voronoï and the GIC) - * comes from the triangulation of the human shape. Note that the resulting simplicial complex is in dimension 3 - * in this example. - * - * \include Nerve_GIC/VoronoiGIC.cpp - * - * When launching: - * - * \code $> ./VoronoiGIC ../../data/points/human.off 700 -v - * \endcode - * - * the program outputs SC.off. Using e.g. - * - * \code $> geomview ../../data/points/human_sc.off - * \endcode - * - * one can obtain the following visualization: - * - * \image html "gicvoronoivisu.jpg" "Visualization with Geomview" - * - * \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 functional GIC. See \cite Carriere16 for more details. - * - * \subsection functionalGICexample Example - * - * Functional GIC comes with automatic selection of the Rips threshold, - * the resolution and the gain of the function cover. See \cite Carriere17c for more details. In this example, - * we compute the functional GIC of a Klein bottle embedded in R^5, - * where the graph G comes from a Rips complex with automatic threshold, - * and the cover C comes from the preimages of intervals covering the first coordinate, - * with automatic resolution and gain. Note that automatic threshold, resolution and gain - * can be computed as well for the Nerve. - * - * \include Nerve_GIC/CoordGIC.cpp - * - * When launching: - * - * \code $> ./CoordGIC ../../data/points/KleinBottle5D.off 0 -v - * \endcode - * - * the program outputs SC.dot. Using e.g. - * - * \code $> neato SC.dot -Tpdf -o SC.pdf - * \endcode - * - * one can obtain the following visualization: - * - * \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. - * - * We also provide an example on a set of 72 pictures taken around the same object (lucky_cat.off). - * 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/FuncGIC.cpp - * - * When launching: - * - * \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 "funcGICvisu.jpg" "Visualization with neato" - * - */ -/** @} */ // end defgroup cover_complex - -} // namespace cover_complex - -} // namespace Gudhi - -#endif // DOC_COVER_COMPLEX_INTRO_COVER_COMPLEX_H_ diff --git a/doc/Nerve_GIC/coordGICvisu.pdf b/doc/Nerve_GIC/coordGICvisu.pdf Binary files differdeleted file mode 100644 index 313aa1b5..00000000 --- a/doc/Nerve_GIC/coordGICvisu.pdf +++ /dev/null diff --git a/doc/Nerve_GIC/coordGICvisu2.jpg b/doc/Nerve_GIC/coordGICvisu2.jpg Binary files differdeleted file mode 100644 index 046feb2a..00000000 --- a/doc/Nerve_GIC/coordGICvisu2.jpg +++ /dev/null diff --git a/doc/Nerve_GIC/funcGICvisu.jpg b/doc/Nerve_GIC/funcGICvisu.jpg Binary files differdeleted file mode 100644 index 36b64dde..00000000 --- a/doc/Nerve_GIC/funcGICvisu.jpg +++ /dev/null diff --git a/doc/Nerve_GIC/funcGICvisu.pdf b/doc/Nerve_GIC/funcGICvisu.pdf Binary files differdeleted file mode 100644 index d7456cd3..00000000 --- a/doc/Nerve_GIC/funcGICvisu.pdf +++ /dev/null diff --git a/doc/Nerve_GIC/gicvisu.jpg b/doc/Nerve_GIC/gicvisu.jpg Binary files differdeleted file mode 100644 index 576dae47..00000000 --- a/doc/Nerve_GIC/gicvisu.jpg +++ /dev/null diff --git a/doc/Nerve_GIC/gicvoronoivisu.jpg b/doc/Nerve_GIC/gicvoronoivisu.jpg Binary files differdeleted file mode 100644 index cd86c411..00000000 --- a/doc/Nerve_GIC/gicvoronoivisu.jpg +++ /dev/null diff --git a/doc/Nerve_GIC/nerve.png b/doc/Nerve_GIC/nerve.png Binary files differdeleted file mode 100644 index b66da4a4..00000000 --- a/doc/Nerve_GIC/nerve.png +++ /dev/null diff --git a/doc/Nerve_GIC/nervevisu.jpg b/doc/Nerve_GIC/nervevisu.jpg Binary files differdeleted file mode 100644 index 67ae1d7e..00000000 --- a/doc/Nerve_GIC/nervevisu.jpg +++ /dev/null |