Skip to content

mrzv/dionysus

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
doc
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Dionysus 2

Dionysus is a computational topology package focused on persistent homology. It is written in C++, with Python bindings. The second version (previous version) is re-written from scratch, which helps it accomplish a few goals:

  • Modified BSD license (because GPL causes too many problems in academic software).
  • No dependency on Boost.Python; Dionysus 2 uses (and includes) PyBind11 instead, which greatly simplifies installation.
  • Cleaner, more consistent internal design (for example, all algorithms support arbitrary fields).
  • Some new algorithms, e.g., omni-field persistence and Wasserstein and bottleneck distance computation from Hera.
  • A few plotting routines, based on Matplotlib.
  • Better integration with NumPy.

Features that haven't (yet) made it over from Dionysus 1 include vineyards. Alpha shape filtrations are available via DioDe.

Dependencies:
  • Boost, although Dionysus 2 doesn't link any of its libraries, so it's considerably easier to build the project.
  • (Optional) SciPy for the LSQR routine used in circular coordinates.
  • (Optional) Matplotlib for plotting.
Requirements:
  • Boost needs to be at least version 1.55.
  • If you are using GCC, the oldest supported version is 5.4.
Contact:
  • please use the dionysus mailing list for all questions and discussion related to the library;
  • GitHub's issue tracker is a central location for bug reports and feature requests.

Get, Build, Install

The simplest way to install Dionysus, as a Python package, is from PyPI:

pip install --verbose dionysus

Pass --upgrade to pip, if you have already installed some version of Dionysus.

Alternatively, you can install it directly from the development repository (this gives you the latest version):

pip install --verbose git+https://github.com/mrzv/dionysus.git

Alternatively, you can clone and build everything by hand. To get Dionysus 2, either clone its repository:

git clone https://github.com/mrzv/dionysus.git

or download it as a Zip archive.

To build the project:

mkdir build
cd build
cmake ..
make

To use the Python bindings, either launch Python from .../build/bindings/python or add this directory to your PYTHONPATH variable, by adding:

export PYTHONPATH=.../build/bindings/python:$PYTHONPATH

to your ~/.bashrc or ~/.zshrc.

Documentation

Documentation for Dionysus can be found here.

About

Library for computing persistent homology

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published