Topologically aware constructions for large and irregular datasets
Tools to modify and simplify datasets with topological guarantees about their properties. The intial motivation was hypervolumes for use in ecology, but the underlying methods of building related and topologically bounded point clouds are not restricted to use in one area. The code in this repo is meant to be self-contained and easy to use. See the Python notebook for a visual example of the intended use cases
- preprint: Background on mathematical methods, stability results, Nov 2025
- poster: Interdisciplinary Research and Education Symposium, University of Aberdeen, Oct 2025
Ideas are borrowed from, and the code relies on:
- hypervolume: The orginal program to generate hypervolumes via kernel density estimators
- gudhi: Methods to construct simplicial complexes and sparsify point clouds
- rgudhi: A port of GUDHI into R
TopoAware may be used by either downloading the individual file(s) in the language intended to be used, or by cloning the full repository, and then using the files.
The code in this repository is actively being developed by @jlazovskis.
- Python tasks
- Python code
- Python example notebook
- Computing and comparing persistence in notebook
- R tasks
- R code
- R example file
- Full import of
subsamplingmodule intorgudhi(as fork of rgudhi) - Computing and comparing persistence in example file
- C++ tasks
- C++ header files
- C++ example files
- Computing and comparing persistence in example file
- Set up C++ example files to be compiled with cmake