perscode

Persistence Codebooks: Vectorization methods for persistence diagrams.

https://github.com/chronchi/perscode

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
    Links to: arxiv.org
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (5.2%) to scientific vocabulary
Last synced: 7 months ago · JSON representation ·

Repository

Persistence Codebooks: Vectorization methods for persistence diagrams.

Basic Info
  • Host: GitHub
  • Owner: chronchi
  • License: mit
  • Language: Python
  • Default Branch: master
  • Size: 10.7 KB
Statistics
  • Stars: 4
  • Watchers: 2
  • Forks: 2
  • Open Issues: 0
  • Releases: 0
Created over 6 years ago · Last pushed over 3 years ago
Metadata Files
Readme License Citation

README.md

perscode

Vectorization methods for persistence diagrams based in the paper Persistence Codebooks for Topological Data Analysis.

Installation

pip install perscode

Usage

```python import perscode import numpy as np

generate diagrams

diagrams = [np.random.rand(100,2) for _ in range(20)] for diagram in diagrams: diagram[:,1] += diagram[:,0]

N is the size of the vectors

normalize is a Bool to whether or not normalize the output vector

pbow = perscode.PBoW(N = 3, normalize = False) wpbow = perscode.wPBoW(N = 3)

n_subsample is an int or None. If none all points will be used when calculating GMMs.

spbow = perscode.sPBoW(N = 10, n_subsample = None)

vectorize diagrams

pbowdiagrams = pbow.transform(diagrams) wpbowdiagrams = wpbow.transform(diagrams) spbow_diagrams = spbow.transform(diagrams)

for PVLAD and stable PVLAD

pvlad = perscode.PVLAD(N = 3) spvlad = perscode.sPVLAD(N = 3)

pvladdiagrams = pvlad.transform(diagrams) spvladdiagrams = spvlad.transform(diagrams) ```

TODO

  • [x] Implement options to pass cluster centers as arguments in wPBoW and sPBoW.
  • [x] Implement PVLAD
  • [x] Implement sPVLAD
  • [ ] Implement PFV
  • [x] Implement optional weighted subsampling to wPBoW, sPBoW, sPVLAD classes.
  • [ ] Proper documentation

Owner

  • Name: Carlos
  • Login: chronchi
  • Kind: user

Citation (Citation.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
  - family-names: Ronchi
    given-names: Carlos
    orcid: https://orcid.org/0000-0002-8079-8643
title: "perscode: a python implementation"
date-released: 2019-08-09

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: about 3 years ago

All Time
  • Total Commits: 6
  • Total Committers: 1
  • Avg Commits per committer: 6.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Carlos c****i@g****m 6

Issues and Pull Requests

Last synced: 8 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

setup.py pypi
  • numpy *
  • scikit-learn *