This page is a part of CVprimer.com, a wiki devoted to computer vision. It focuses on low level computer vision, digital image analysis, and applications. It is designed as an online textbook but the exposition is informal. It geared towards software developers, especially beginners, and CS students. The wiki contains mathematics, algorithms, code examples, source code, compiled software, and some discussion. If you have any questions or suggestions, please contact me directly.

# Homology software

### From Computer Vision Primer

**CHomP** [1], Computational Homology Project. This is a software package developed by Computational Homology Project group at Georgia Tech, now at Rutgers. CHomP runs on Windows and consists of 38 individual programs for homology computations in n-dimensions. CHomP can compute the Betti numbers and homology of a simplicial and cubical complex as well as the maps induced in homology. All the algorithms are also explained in detail in T. Kaczynski, K. Mischaikow, and M. Mrozek, Computational Homology, Appl. Math. Sci. Vol. 157, Springer Verlag, NY 2004. It is a very powerful, yet very easy package to use, with no installation necessary. The programs are called from a command prompt.

**PLEX** [2]. This is a set of routines written for MATLAB, developed by Vin de Silva at Stanford University with the help of Gunnar Carlson. PLEX computes the Betti numbers of simplicial complexes as well as the Betti numbers of maps. One may only enter data as a list of vertices. After defining an epsilon value (similar to the alpha-value in Persistent Homology), PLEX calculates the appropriate edges for the vertex set.

**Alpha Shapes** [3]. The package consists of several programs (Pdb2alf, Delcx, Mkalf, Alvis, Volbl) by the National Center for Supercomputing Applications and the Department of Computer Science at the University of Illinois at Urbana-Champaign. This program runs only in Linux/Unix/Sun. These programs have been used in the study of proteins, and have also been modified for commercial use in surface reconstruction by Geomagic. Alpha Shapes can compute the Betti numbers of a simplicial complex, but only in dimension three. For the purpose of computing the Betti numbers, this software has a weakness in that you can only look at one Betti number at a time. This means that if you want to look at how the Betti number change as alpha grows (Persistent Homology), you must enter the values in another program by hand. This can be a very time consuming process.

**CGAL** [4], Computational Geometry Algorithms Library. This is a geometry software package created as a collaborative effort from several sites in Europe and Israel. CGAL is basically code to be used in C++ under IRIX/Linux/Unix/Windows. CGAL does not directly compute homology, but can provide the tools necessary to compute triangulations and alpha complexes from which homology can easily be calculated incrementally. However, CGAL can only be used in dimensions two and three.

**GAP homology package** [5]. It runs only on Linux/Unix. The two purposes behind this project were to implement efficient algorithms for the calculation of Smith Normal Forms of sparse matrices with integer entries and simplicial homology of simplicial complexes. Three uses have been suggested for this program. 1. Calculation of homology groups for a large, complex simplicial complex. 2. Calculation of homology for many small simplicial complexes. 3. Use as a teaching aide in homology course.

**Moise** [6]. A topology package for Maple.

Bottom lime, these software packages are not very user friendly.

Back to Homology