Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
105 lines (77 sloc) 3.8 KB


This repository contains persistent homology related code which can be used to implement the approaches from [1] and [2] (see References)

A final code release is planned for late 2017.


The pershombox package is dependent on some third party software tools which we do not provide here. In order to install pershombox you have to get those executables and tell pershombox where to find them by editing the corresponding entry in pershombox/_software_backends/software_backends.cfg.

Where to find the executables/sources and which software_backends.cfg entry corresponds to them is listed below. Do not forget to chmod executables on Unix-based systems!

  1. DIPHA: Source code. Entry: dipha.

  2. Perseus: Source code or precompiled executables. Entry: perseus.

  3. hera: Source code. We need the wasserstein_dist executable in geom_matching/wasserstein. Entry: hera_wasserstein_dist.

We plan to also support Dionysus (v2) in the future.

Exemplary DIPHA installation

git clone
cd dipha
mkdir build
cmake ..
make -j4

Then manipulate the software_backends.cfg:

# Configure the paths to the backend software here
# e.g., dipha=/home/myHome/dipha
# do not forget to chmod +x on unix bases systems

dipha=<path/to/your/dipha/executable/here> # <-- This is your modification



Main features

A short overview of the main features. For each of feature, there exists a tutorial in the tutorials subfolder.


Uses Perseus to calculate persistence diagrams of filtrated Toplex. Tutorial


Uses DIPHA to calculate persistence diagrams of a filtrated cubical complex. Tutorial


Calculates a normalized barycentric persistent homology transform of a given binary 2D cubical complex.Tutorial


Calculates a normalized barycentric persistent homology transform (residing on the 26-points Lebedev grid) of a given binary 3D cubical complex. See [1].


Calculates the 'shape' distance between two 2D persistent homology transforms. Tutorial


Calculates the 'shape' distance between two 3D persistent homology transforms, proposed in [1].


[1] C. Hofer, R. Kwitt, M. Niethammer, Y. Hoeller, E. Trinka and A. Uhl.
Constructing Shape Spaces from a Topological Perspective, In: IPMI, 2017

  author    = {C.~Hofer, R.~Kwitt, M.~Niethammer, Y.~Hoeller, E.~Trinka and A.~Uhl},
  title     = {Constructing Shape Spaces from a Topological Perspective},
  booktitle = {IPMI},
  year      = {2017}}

[2] C. Hofer, R. Kwitt, M. Niethammer and A. Uhl.
Deep Learning with Topological Signatures, In: NIPS, 2017

  author    = {C.~Hofer, R.~Kwitt, M.~Niethammer, and A.~Uhl},
  title     = {Deep Learning with Topological Signatures},
  booktitle = {NIPS},
  year      = {2017}}
You can’t perform that action at this time.