Tool to compute six-packs of persistence diagrams for chromatic point clouds
Project description
chromatic_tda
chromatic_tda
is a package for computing six-packs of persistent diagrams of colored point clouds. Currently point clouds in R^2 with 2 or 3 colors are supported (see Future).
Installation
Install with pip
The package is uploaded to PyPI, so it can be installed with pip
.
Run pip install chromatic_tda
.
Install from github project
The project uses poetry
for Python dependecy management, which allows you to easily install all you need to run the package:
- Clone the repository
- Install
poetry
- Go to the repository folder in terminal
- Run
poetry shell
- Run
poetry install
- [optional] Run
poetry run pytest
to check that the code runs
How to use
The basic use of the package is as follows:
import chromatic_tda as chro
points, labels = ... # load points, labels
chro_alpha = chro.ChromaticAlphaComplex(points, labels) simplicial_complex = chro_alpha.get_simplicial_complex(
sub_complex=‘bi-chromatic’
full_complex=‘all’
relative=‘mono-chromatic’
) # these options make sense for three colors; for two use, e.g., just sub_complex='mono-chromatic'
six_pack = simplicial_complex.bars_six_pack()
chro.plot_six_pack(six_pack)
For more details check the docstrings of the methods and the jupyter notebook file manual
(in github repo). For more background on the theory, check the resources listed below.
Resources
The code is based on research done at Institute of Science and Technology by Ranita Biswas, Sebastiano Cultrera di Montesano, Ondřej Draganov, Herbert Edelsbrunner and Morteza Saghafian. A draft write up can be found on arxiv.
A presentation about the main concepts used in this package can be viewed on YouTube: AATRN Online Seminar: TDA for Chromatic Point Clouds. A recording of a complementary talk focusing more on the motivations of the work and the combinatorial structures underlying it is accessible through google drive.
Contact
If you have any questions to the code, do not hesitate to contat us. We are also eager to hear from you if you try the code out, and happy to chat about how you can use it on your data. Use, e.g., the mail in my github profile.
Timing
For a rough idea on the performance, see the two plots below showing times the code took on my laptop.
License
Copyright ©2023. Institute of Science and Technology Austria (IST Austria). All Rights Reserved.
This file is part of chromatic_tda, which is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see https://www.gnu.org/licenses/.
Contact the Technology Transfer Office, ISTA, Am Campus 1, A-3400 Klosterneuburg, Austria, +43-(0)2243 9000, twist@ist.ac.at, for commercial licensing opportunities.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for chromatic_tda-1.1.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f811ac476a31342804c9333e97db5793af445323dfac613ca30e76bdad809387 |
|
MD5 | 60620683df0032a43cb2e320befe535a |
|
BLAKE2b-256 | 21de5de2b9045385acc959673b764ef661c11034c7754684abd2448b6d5ee363 |