code: def read_point_ply(filename):
      """Load point cloud from ply file.
  
      Args:
        filename: str, filename for ply file to load.
      Returns:
        v: np.array of shape [#v, 3], vertex coordinates
        n: np.array of shape [#v, 3], vertex normals
      """
      pd = PlyData.read(filename)["vertex"]
      v = np.array(np.stack([pd[i] for i in ["x", "y", "z"]], axis=-1))
      n = np.array(
          np.stack([pd[i] for i in ["nx", "ny", "nz"]], axis=-1)
      )
      return v, n
  
file_path: graphics/tensorflow_graphics/projects/local_implicit_grid/core/point_utils.py
imports: import numpy
  from plyfile import PlyData
  from plyfile import PlyElement
label_desc: Use image node_id 1 for calling a global function with example usage: read_point_ply(filename) and returns: v,  n