Source code for geomfum.shape.point_cloud

"""Definition of point cloud."""

import geomstats.backend as gs

from geomfum.io import load_pointcloud

from ._base import Shape


[docs] class PointCloud(Shape): """Point cloud. Parameters ---------- vertices : array-like, shape=[n_vertices, 3] Vertices of the point cloud. """ def __init__(self, vertices): super().__init__(is_mesh=False) self.vertices = gs.asarray(vertices)
[docs] @classmethod def from_file(cls, filename): """Instantiate given a file. Returns ------- mesh : PointCloud A point cloud. """ vertices = load_pointcloud(filename) return cls(vertices)
@property def n_vertices(self): """Number of points. Returns ------- n_vertices : int """ return self.vertices.shape[0]