The ICT - Introduction to Computational Topology is a web-based user-guide on computational topology equipped with interactive examples to facilitate the comprehension of the notions at the of such theory. Currently the guide presents a description of persistent homology.

The source code and additional information can be found here.

Moreover, an interactive guide to Persistent Topology can be found here.


The Forman Gradient 2D is a comprehensive library for computing a Forman Gradient on triangle meshes.

The library provides all the basic functions for encoding a triangle mesh and a scalar function defined on its vertices (both provided in input) and for computing a Forman gradient on it. Two different methods have been implemented. The first one is based on homotopic expansion and the second one uses an input watershed segmentation to avoid spurious critical simplices. Additional functions are furnished for computing the cells of the discrete Morse complex and for producing output files to be visualized in Paraview.

The library is composed of two main parts. The first one provides all the basic functions for managing the triangle mesh (LibMesh). The second part provides the functions for computing the Forman gradient and the Morse cells (LibForman).

The source code and additional information can be found here.

References:
  1. Computing a Forman Gradient From a Watershed decomposition
    Lidija Comic, Leila De Floriani, Federico Iuricich, Paola Magillo
    Computetr and Graphics, vol. 58, pages 43 - 52, Shape Modeling International - Berlin, Germany - June 20-24, 2016
    [doi]
  2. A primal/dual representation for discrete Morse complexes on tetrahedral meshes
    Kenneth Weiss, Federico Iuricich, Riccardo Fellegara, Leila De Floriani
    Computer Graphic Forum, 32(3):361-370, 2013
    [doi]
The Supertetras is a C++ tool for computing an oversegmentation of a tetrahedral mesh. The tool extends the state-of-the-art superpixel algorithm to tetrahedral mesh representations with scalar fields defined over their vertices.

The source code and additional information can be found here.

Reference:
  • Supertetras: A Superpixel Analog for Tetrahedral Mesh Oversegmentation
    Giulia Picciau, Patricio Simari, Federico Iuricich and Leila De Floriani
    Image Analysis and Processing (ICIAP 2015)
    [doi]
The Superfacets-2D is a C++ tool for segmenting the boundary of triangulated 3D shapes into patches. The tools computes superfacet segmentations of meshes based on a k-means style approach using shortest-path distances over the face graph of the mesh. By using a bounded expansion strategy in the reclassification step, our approach obtains a log-linear complexity, enabling the segmentation of large meshes (with several million triangles) where applying normalized cuts or other such cut-based approaches would be intractable.

The source code and additional information can be found here.

Reference:
  • Fast and Scalable Mesh Superfacets
    Patricio Simari, Giulia Picciau and Leila De Floriani
    Computer Graphics Forum
    [doi]
The Mangrove Topological Data Structure (Mangrove TDS) Library is a C++ tool for the fast prototyping of topological data structures representing cell and simplicial complexes of any dimension, not necessarily embedded in an Euclidean space. All types of domains are supported efficiently, including non-manifolds.

The source code and additional information can be found here.

Reference:
  • Representing Simplicial Complexes with Mangroves
    David Canino and Leila De Floriani
    Proceedings of the 22nd International Meshing Roundtable (IMR 2013, Orlando, FL, USA, October 13-16, 2013) pages 465-483, Springer, 2013
    [doi]
The TetraMesh is a C++ library for the topological representation of scalar fields defined on tetrahedral meshes.

The underlying tetrahedral mesh is encoded as an indexed data structure with explicit adjacencies and the scalar function is associated with its vertices. The library provides all the functionalities for reading a mesh (in TS or RAW format) and for retrieving the topological relations among its simplices such as Vertex-Edge relation, Edge-Face relation, Face-Tetrahedra relation and so on.

The source code and additional information can be found here.
The MT Package contains a C++ library that allows you to design interactive applications which exploit the full power of multiresolution on geometric objects represented by meshes in any dimension. There are two basic actions in multiresolution modeling:
  1. Take a simplicial (e.g., triangular, tetrahedral) mesh describing an object and build a multiresolution representation of the same object;
  2. Query this multiresolution representation on-line to obtain meshes representing the object at the level of detail you like.
The MT package provides libraries to support both actions. Based on the MT libraries, you can write a program to build a multiresolution representation, as well as a program to query a multiresolution representation. Some demo programs to query a multiresolution representation are provided togther with the MT libraries, while programs to build a multiresolution representation are distributed separately.

The source code and additional information can be found here.
The MT Delaunay is a set of programs dealing with (constrained) Delaunay triangulations of terrain data (triangulation in the plane with elevations associated with vertices). They can be used to build a triangulation with a set of points, to simplify an existing triangulation by removing a subset of the points, and they can also be used to build an MT during this process.

The source code and additional information can be found here.