python的精益持久同源库
ripser的Python项目详细描述
较厚的py
py是python的一个精益持久同源包。以闪亮的C++ River软件包为核心计算引擎,Ripser.py为
提供了直观的界面- 计算稀疏和稠密数据集的持久上同调,
- 可视化持久性图表,
- 计算图像上的lowerstar过滤,以及
- 计算代表Cochains。
此外,通过广泛的测试和持续的集成,ripser.py很容易安装在Mac、Linux和Windows平台上。
为了帮助您使用该软件包,我们已经组装了一套大型笔记本,演示了许多可用的功能。有关包的完整文档可以在ripser.scikit-tda.org找到。
如果你在寻找原始C++库,你可以在Ripser/ripser找到它。
设置
ripser.py可用于所有主要平台。所需的只是安装标准的python数值计算库和cython。
依赖关系:
- 赛顿
- 努比
- scipy
- SCIKIT学习
- 波斯
windows用户:如果使用的是windows计算机,则还需要在系统上安装MinGW。
mac用户:更新xcode和xcode命令行工具可能会解决安装中的任何问题。
cython应该是安装前所需的唯一库。要安装,请在您的环境中键入以下命令:
pip install cython
pip install ripser
如果您安装有问题,请告诉我们!
用法
界面非常简单:
import numpy as np
from ripser import ripser
from persim import plot_diagrams
data = np.random.random((100,2))
diagrams = ripser(data)['dgms']
plot_diagrams(diagrams, show=True)
如果您愿意使用,我们还提供一个scikit learn transformer样式的对象:
import numpy as np
from ripser import Rips
rips = Rips()
data = np.random.random((100,2))
diagrams = rips.fit_transform(data)
rips.plot(diagrams)
贡献
我们欢迎各种各样的贡献!如果你想帮忙,请联系。从代码到笔记本,再到示例和文档,所有的东西都同样有价值,所以请不要觉得自己无法贡献。若要参与,请分叉项目进行更改并提交拉取请求。我们将尽最大努力解决与您有关的任何问题,并将您的代码合并到主分支中。
如果您发现一个bug,有问题,或者只是在库中遇到问题,请在我们的issue tracker中打开一个问题,我们将尽力帮助解决问题。
许可证
ripser.py有麻省理工学院的许可证!核心C++代码是从RiSpER派生的,它也可以在MIT许可证和Ulrich Bauer的版权下使用。这些修改、python代码和文档是christopher tralie和nathaniel saul的版权。
引用
您可以使用以下bibtex条目
@article{ctralie2018ripser,
doi = {10.21105/joss.00925},
url = {https://doi.org/10.21105/joss.00925},
year = {2018},
month = {Sep},
publisher = {The Open Journal},
volume = {3},
number = {29},
pages = {925},
author = {Christopher Tralie and Nathaniel Saul and Rann Bar-On},
title = {{Ripser.py}: A Lean Persistent Homology Library for Python},
journal = {The Journal of Open Source Software}
}