GithubHelp home page GithubHelp logo

ondraganov / chromatic-tda Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 0.0 1.78 MB

Tool to compute six-packs of persistence diagrams for chromatic point clouds [packaged on PyPI]

Home Page: https://pypi.org/project/chromatic-tda/

License: GNU Affero General Public License v3.0

Python 18.23% Jupyter Notebook 81.77%
alpha-complex persistent-homology spatial-analysis tda topological-data-analysis

chromatic-tda's Introduction

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; an alpha version with support for higher dimension is already available!).

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’
             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.

Future

The code is under active development. The future plans include:

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.

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, [email protected], for commercial licensing opportunities.

chromatic-tda's People

Contributors

ondraganov avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.