Skip to content
My persistent homology related code.
Jupyter Notebook Python
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
pershombox
tutorials
.gitignore
LICENSE
README.md added tutorial link in readme Nov 10, 2017

README.md

tda-toolkit

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.

Installation

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 https://github.com/DIPHA/dipha.git
cd dipha
mkdir build
cmake ..
make -j4

Then manipulate the software_backends.cfg:

[paths]
# 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

hera_wasserstein_dist=

perseus=

Main features

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

toplex_persistence_diagrams

Uses Perseus to calculate persistence diagrams of filtrated Toplex. Tutorial

cubical_complex_persistence_diagrams

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

calculate_discrete_NPHT_2d

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

calculate_discrete_NPHT_3d_Lebedev26

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

distance_npht2D

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

distance_npht3D_lebedev_26

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

References

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

@inproceedings{Hofer17a,
  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

@inproceedings{Hofer17b,
  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.