diff options
author | Marc Glisse <marc.glisse@inria.fr> | 2022-11-09 17:46:39 +0100 |
---|---|---|
committer | Marc Glisse <marc.glisse@inria.fr> | 2022-11-09 17:46:39 +0100 |
commit | ad1123c3c7cfddc1c15e9933b96af08ef3398b3c (patch) | |
tree | f0bd124532b029d42040460ab2106a0c854ca8aa /src/python/gudhi | |
parent | c47d7ed4537a2fb011eb43e265c777f8581ee9a3 (diff) |
New write_points_to_off_file
Diffstat (limited to 'src/python/gudhi')
-rw-r--r-- | src/python/gudhi/off_utils.pyx (renamed from src/python/gudhi/off_reader.pyx) | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/python/gudhi/off_reader.pyx b/src/python/gudhi/off_utils.pyx index a3200704..155575d5 100644 --- a/src/python/gudhi/off_reader.pyx +++ b/src/python/gudhi/off_utils.pyx @@ -13,8 +13,10 @@ from __future__ import print_function from cython cimport numeric from libcpp.vector cimport vector from libcpp.string cimport string +cimport cython import errno import os +import numpy as np __author__ = "Vincent Rouvreau" __copyright__ = "Copyright (C) 2016 Inria" @@ -39,3 +41,17 @@ def read_points_from_off_file(off_file=''): raise FileNotFoundError(errno.ENOENT, os.strerror(errno.ENOENT), off_file) +@cython.embedsignature(True) +def write_points_to_off_file(fname, points): + """Write points to an OFF file. + + A simple wrapper for `numpy.savetxt`. + + :param fname: Name of the OFF file. + :type fname: str or file handle + :param points: Point coordinates. + :type points: numpy array of shape (n, dim) + """ + points = np.array(points, copy=False) + assert len(points.shape) == 2 + np.savetxt(fname, points, header='nOFF\n{} {} 0 0'.format(points.shape[1], points.shape[0]), comments='') |