Skip to main content

Implementation of Minibox and Delauany edges algorithms.

Project description

persty - Minibox and Delaunay Edges Algorithms

This package provides an implementation of algorithms for finding the Minibox and Delaunay edges on a finite set of points in d-dimensional space with Chebysehv distance.

Installation

This package requires setuptools and numpy.

To use the functionality of the persty.util submodule also gudhi needs to be installed. See Computing Persistent Homology section below.

Install it with

>>> pip install git+https://github.com/gbeltramo/persty.git

Usage

import numpy as np
import persty.minibox
import persty.delaunay

np.random.seed(0)
points = np.random.rand(20, 2).tolist()

minibox_edges = persty.minibox.edges(points)
delaunay_edges = persty.delaunay.edges(points)

Computing Persistent Homology

Minibox and Delaunay edges can be used to compute persistent homology in homological dimensions zero and one.

The pesty package provides a wrapper function to generate a gudhi.SimplexTree() object that can be used to compute persistence diagrams of Minibox and Alpha Clique filtrations.

The gudhi package must be installed. If you installed conda this can be obtained by running the following command in a terminal window.

>>> conda install -c conda-forge gudhi

The following code computes the zero and one dimensional persistence diagrams of 1000 randomly sample points in the unit cube in $5$ dimensional space.

import numpy as np
import persty.minibox
import persty.util
from scipy.spatial.distance import chebyshev

np.random.seed(0)
points = np.random.rand(100, 3).tolist()
minibox_edges = persty.minibox.edges(points)
simplex_tree = persty.util.make_gudhi_simplex_tree(points,
                                                   minibox_edges,
                                                   max_simplex_dim=2,
                                                   metric=chebyshev)
persistence_diagrams = simplex_tree.persistence(homology_coeff_field=2,
                                                persistence_dim_max=False)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

persty-0.2.2.tar.gz (9.1 kB view hashes)

Uploaded Source

Built Distributions

persty-0.2.2-py3.7-win-amd64.egg (20.3 kB view hashes)

Uploaded Source

persty-0.2.2-cp37-cp37m-win_amd64.whl (29.3 kB view hashes)

Uploaded CPython 3.7m Windows x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page