From 30890785a1b1516cbcfbf5c9b41e4657794d3fb2 Mon Sep 17 00:00:00 2001 From: vrouvrea Date: Wed, 8 Mar 2017 22:51:17 +0000 Subject: Add witness_complex_from_nearest_landmark_table.py git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/ST_cythonize@2182 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: 5e9efcf4c6e50f0864cf473d649dfa26b4ef2cf4 --- src/cython/cython/witness_complex.pyx | 2 +- .../witness_complex_from_nearest_landmark_table.py | 46 ++++++++++++++++++++++ 2 files changed, 47 insertions(+), 1 deletion(-) create mode 100755 src/cython/example/witness_complex_from_nearest_landmark_table.py (limited to 'src/cython') diff --git a/src/cython/cython/witness_complex.pyx b/src/cython/cython/witness_complex.pyx index e0d8b1e3..21624fe3 100644 --- a/src/cython/cython/witness_complex.pyx +++ b/src/cython/cython/witness_complex.pyx @@ -44,7 +44,7 @@ cdef class WitnessComplex: cdef Witness_complex_interface * thisptr # Fake constructor that does nothing but documenting the constructor - def __init__(self, points=None, number_of_landmarks=5): + def __init__(self, nearest_landmark_table=None): """WitnessComplex constructor. :param nearest_landmark_table: A list of nearest landmark. diff --git a/src/cython/example/witness_complex_from_nearest_landmark_table.py b/src/cython/example/witness_complex_from_nearest_landmark_table.py new file mode 100755 index 00000000..00b946b1 --- /dev/null +++ b/src/cython/example/witness_complex_from_nearest_landmark_table.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python + +from gudhi import WitnessComplex, SimplexTree + +"""This file is part of the Gudhi Library. The Gudhi library + (Geometric Understanding in Higher Dimensions) is a generic C++ + library for computational topology. + + Author(s): Vincent Rouvreau + + Copyright (C) 2016 INRIA + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +""" + +__author__ = "Vincent Rouvreau" +__copyright__ = "Copyright (C) 2016 INRIA" +__license__ = "GPL v3" + +print("#####################################################################") +print("WitnessComplex creation from nearest landmark table") +nearest_landmark_table = [[[0, 0], [1, 1], [2, 2], [3, 3], [4, 4]], + [[1, 0], [2, 1], [3, 2], [4, 3], [0, 4]], + [[2, 0], [3, 1], [4, 2], [0, 3], [1, 4]], + [[3, 0], [4, 1], [0, 2], [1, 3], [2, 4]], + [[4, 0], [0, 1], [1, 2], [2, 3], [3, 4]]] + +witness_complex = WitnessComplex(nearest_landmark_table=nearest_landmark_table) +simplex_tree = witness_complex.create_simplex_tree(max_alpha_square=4.1) + +message = "Number of simplices: " + repr(simplex_tree.num_simplices()) +print(message) + +diag = simplex_tree.persistence(min_persistence=-0.1, homology_coeff_field=11) +print(diag) -- cgit v1.2.3