summaryrefslogtreecommitdiff
path: root/src/python/example/alpha_complex_from_generated_points_example.py
blob: 7a07ed422aa3bfd52a3576802c774170e621d16e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#!/usr/bin/env python

from gudhi import random_point_generators
from gudhi import AlphaComplex, SimplexTree
from gudhi import plot_persistence_barcode, plot_persistence_diagram

import matplotlib.pyplot as plt


""" This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
    See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
    Author(s):       Hind Montassif

    Copyright (C) 2021 Inria

    Modification(s):
      - YYYY/MM Author: Description of the modification
"""

__author__ = "Hind Montassif"
__copyright__ = "Copyright (C) 2021 Inria"
__license__ = "MIT"

print("#####################################################################")
print("AlphaComplex creation from generated points")


# Generate a circle: 50 points; dim 2; radius 1
points = random_point_generators.generate_points_on_sphere_d(50, 2, 1)

# Plot the generated points (to uncomment if wished)
#plt.scatter(points[:,0], points[:,1])
#plt.show()

# Create an alpha complex
alpha_complex = AlphaComplex(points=points)
simplex_tree = alpha_complex.create_simplex_tree()

result_str = 'Alpha complex is of dimension ' + repr(simplex_tree.dimension()) + ' - ' + \
    repr(simplex_tree.num_simplices()) + ' simplices - ' + \
    repr(simplex_tree.num_vertices()) + ' vertices.'
print(result_str)


# Compute the persistence
diag = simplex_tree.persistence()

# Plot the barcode and diagram (to uncomment if wished)
#plot_persistence_barcode(diag)
#plt.show()
#plot_persistence_diagram(diag)
#plt.show()