Skip to content

TOpological Point Features: Node-Level Topological Representation Learning on Point Clouds

License

Notifications You must be signed in to change notification settings

vincent-grande/topf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topological Point Features 🪴

This is the python package for topological point features (TOPF), enabling the construction of point-level features in point clouds stemming from algebraic topology and differential geometry as described in Node-Level Topological Representation Learning on Point Clouds. 🪴

Example of TOPF on three point clouds

Installation

Although being a python package, TOPF requires an installation Julia because it uses the wonderful package Ripserer.jl. After having installed Julia and set up PATH variables, you can install TOPF simply by running

pip install topf

TOPF currently works under macOS and Linux. Windows is not supported.

Usage

Two Jupyter-Notebooks with example usage of TOPF with basic examples and 3d examples can be found in the examples folder.

Citation

TOPF is based on the paper 'Node-Level Topological Representation Learning on Point Clouds', Vincent P. Grande and Michael T. Schaub, 2024. If you find TOPF useful, please consider citing the paper:

@misc{grande2024topf,
  title={Node-Level Topological Representation Learning on Point Clouds}, 
  author={Vincent P. Grande and Michael T. Schaub},
  year={2024},
  eprint={2406.02300},
  archivePrefix={arXiv},
  primaryClass={math.AT}
}

Dependencies

TOPF depends on Julia, the Julia package Ripserer.jl, Python and the Python packages numpy, gudhi, matplotlib, scikit-learn, scipy, pandas, and plotly. The idea of how to fix Z/3Z cycles with faulty lifts to real coefficients was inspired by DreiMac's solution to the problem (for cocycles).

Feedback

Any feedback, comments, or bug reports are welcome! Simply write an email to Vincent.

About

TOpological Point Features: Node-Level Topological Representation Learning on Point Clouds

Resources

License

Stars

Watchers

Forks

Packages

No packages published