Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Persistence Landscapes #48

Merged
merged 57 commits into from
Mar 15, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
9ed088f
Initial import from pyscapes
catanzaromj Jan 8, 2021
dc6824f
Update README
catanzaromj Jan 13, 2021
01ccdb4
Fix spikes
catanzaromj Jan 13, 2021
185ed0c
Update naming, directory, docstrings
catanzaromj Jan 13, 2021
f5e7328
add 2D plotting utililty
calderds Jan 13, 2021
8272446
Update import statements
catanzaromj Jan 14, 2021
3672504
add plotting to pers landscape visual file
calderds Jan 14, 2021
2ad1396
package imports for Calder now, fix syntax in pers landscape visual
calderds Jan 14, 2021
e7bee56
revert imports
calderds Jan 15, 2021
3786edf
Update formatting
catanzaromj Jan 15, 2021
52dc823
Revert "package imports for Calder now, fix syntax in pers landscape …
catanzaromj Jan 15, 2021
7b6181f
Merge branch 'master' of github.com:catanzaromj/persim
catanzaromj Jan 15, 2021
dab78aa
Merge branch 'master' of https://github.com/scikit-tda/persim
catanzaromj Jan 15, 2021
d8f3e7f
Update test_pl.py
gabbyangeloro Jan 19, 2021
56c67ec
Clean up docs
catanzaromj Jan 19, 2021
f58a671
Update tests
catanzaromj Jan 19, 2021
116a0bb
Fix type hinting
catanzaromj Jan 19, 2021
58c2b6b
Remove unnecessary aux files
catanzaromj Jan 19, 2021
d952a1e
Update test_pl.py
gabbyangeloro Jan 20, 2021
fca0c91
Start notebook for persistence landscapes, add axis passthrough for l…
calderds Jan 21, 2021
2e3d89b
Move author names
catanzaromj Jan 22, 2021
2db9750
fix unexpected keyword bug
calderds Jan 25, 2021
e97a278
Merge pull request #1 from catanzaromj/calder
calderds Jan 25, 2021
da528f4
Add PL differentiation notebook
catanzaromj Jan 26, 2021
fe24173
Merge remote-tracking branch 'origin/master'
catanzaromj Jan 26, 2021
4c0bd2a
Change focus of notebook
calderds Jan 26, 2021
2af1321
Start PCA algorithm
calderds Jan 27, 2021
065dd7f
Remove line breaks from setup.py
catanzaromj Jan 27, 2021
bb70a66
Merge pull request #2 from catanzaromj/calder
calderds Jan 27, 2021
218244d
Fix typo in test_pl
catanzaromj Feb 4, 2021
8587972
make changes to PL notebook
calderds Feb 4, 2021
2b1ba37
Refactor transformer
catanzaromj Feb 4, 2021
9dceb67
Update documentation
catanzaromj Feb 4, 2021
5b7471e
move landscape files to a subfolder
Feb 6, 2021
65745fb
more rearranging, fixing what was arranged
Feb 6, 2021
10cf920
run notebooks
Feb 6, 2021
47e9578
run notebooks and add bits to sphinx docs
Feb 6, 2021
cb68fd9
final notebook cell execution
Feb 6, 2021
febba43
tweaks to make documentation render nicely"
Feb 6, 2021
471711e
Merge pull request #3 from scikit-tda/pr-tweaks
catanzaromj Feb 7, 2021
6eb1fa8
finalize notebook
calderds Feb 7, 2021
f347f84
add authors and email spaces
calderds Feb 7, 2021
22176cf
Add email addresses
catanzaromj Feb 7, 2021
2b64092
Finalize notebooks
catanzaromj Feb 7, 2021
3f4f6ff
Merge branch 'calder'
catanzaromj Feb 7, 2021
2613d1c
Update MANIFEST.in
calderds Feb 26, 2021
c566ff0
Update __init__.py
calderds Feb 26, 2021
b032c6b
Merge pull request #5 from catanzaromj/landscapes-install
catanzaromj Feb 28, 2021
27c291d
Add error to exact class for empty list and pairs
catanzaromj Mar 1, 2021
01cd6a5
Add error to approx class for empty list and pairs
catanzaromj Mar 2, 2021
fa568b5
Refactor p_norm throughout
catanzaromj Mar 2, 2021
d762468
Update `vectorize` parameters
catanzaromj Mar 2, 2021
cae337c
Refactor auxiliary and tools
catanzaromj Mar 2, 2021
7b7cf9e
Add additional tests
catanzaromj Mar 2, 2021
cdcf511
Update examples with correct import statements
catanzaromj Mar 2, 2021
4eaced7
Update version, add entry to RELEASE.txt
catanzaromj Mar 7, 2021
a94b328
Merge branch 'master' into master
catanzaromj Mar 14, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
include *.txt
include *.md
include persim/landscapes/*
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is surprising. Is this necessary? I thought setuptools will automatically include any *.py files.

1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
Persim is a Python package for many tools used in analyzing Persistence Diagrams. It currently houses implementations of

- Persistence Images
- Persistence Landscapes
- Bottleneck distance
- Modified Gromov–Hausdorff distance
- Sliced Wasserstein Kernel
Expand Down
3 changes: 3 additions & 0 deletions RELEASE.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
0.3.0
- Add implementations of Persistence Landscapes, including plotting methods, a transformer, and additional notebooks.

0.2.1
- Allowed for more than 9 diagram labels in plot_persistence_diagrams.

Expand Down
10 changes: 6 additions & 4 deletions docs/index.rst
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
|PyPI version| |Downloads| |Build Status| |Codecov| |License: MIT|

Persim is a Python package for many tools used in analyzing Persistence Diagrams. It currently houses implementations of
Persim is a Python package for many tools used in analyzing Persistence Diagrams. It currently includes implementations of most of the popular methods of working with persistence diagrams, including

- Persistence Images
- Persistence Landscapes
- Bottleneck distance
- Modified Gromov--Hausdorff distance
- Sliced Wasserstein Kernel
Expand All @@ -26,11 +27,11 @@ We welcome contributions of all shapes and sizes. There are lots of opportunitie

To contribute please fork the project make your changes and submit a pull request. We will do our best to work through any issues with you and get your code merged into the main branch.


Documentation
--------------

.. toctree::
:maxdepth: 1
:hidden:
:caption: User Guide

notebooks/Persistence images
Expand All @@ -40,11 +41,12 @@ To contribute please fork the project make your changes and submit a pull reques

.. toctree::
:maxdepth: 1
:hidden:
:caption: Tutorials

notebooks/Classification with persistence images
notebooks/Persistence barcode measure
notebooks/Differentiation with Persistence Landscapes
notebooks/Persistence Landscapes and Machine Learning


.. |Downloads| image:: https://pypip.in/download/persim/badge.svg
Expand Down
378 changes: 378 additions & 0 deletions docs/notebooks/Differentiation with Persistence Landscapes.ipynb

Large diffs are not rendered by default.

731 changes: 731 additions & 0 deletions docs/notebooks/Persistence Landscapes and Machine Learning.ipynb

Large diffs are not rendered by default.

23 changes: 21 additions & 2 deletions docs/reference/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,26 @@ Persistence Images
persim.PersistenceImager
persim.PersImage

Persistence Landscapes
========================
.. autosummary::
:toctree: stubs
:recursive:
:nosignatures:

persim.PersLandscapeExact
persim.PersLandscapeApprox
persim.PersistenceLandscaper

.. autosummary::
:toctree: stubs
:recursive:
:nosignatures:

persim.average_approx
persim.snap_PL
persim.plot_landscape
persim.plot_landscape_simple


Diagram Visualization
Expand All @@ -40,8 +59,8 @@ Diagram Visualization
persim.plot_diagrams
persim.bottleneck_matching
persim.wasserstein_matching


persim.plot_landscape
persim.plot_landscape_simple


Persistence barcode measure
Expand Down
2 changes: 1 addition & 1 deletion persim/_version.py
Original file line number Diff line number Diff line change
@@ -1 +1 @@
__version__ = "0.2.1"
__version__ = "0.3.0"
5 changes: 5 additions & 0 deletions persim/landscapes/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from .exact import PersLandscapeExact
from .approximate import PersLandscapeApprox
from .transformer import PersistenceLandscaper
from .visuals import plot_landscape, plot_landscape_simple
from .tools import *
Loading