original_docstring: Select highly acute triangle artifacts from the boundary of a Delaunay
      triangulation.
  
      It is important to note that multiple (almost, up to float precision) linear points
      (i.e. on a line), can create layers of these acute triangles. This necessitates the
      iterative algorithm below.
  
      Parameters
      ----------
      tri
          Delaunay triangulation
      epsilon
          Maximum angle to filter in radians
      
docstring: Select highly acute triangle artifacts from the boundary of a Delaunay
  triangulation.
  
  It is important to note that multiple (almost, up to float precision) linear points
  , can create layers of these acute triangles. This necessitates the
  iterative algorithm below.
  
  Parameters
  
  tri
  Delaunay triangulation
  epsilon
  Maximum angle to filter in radians
docstring_tokens: Select highly acute triangle artifacts from the boundary of a Delaunay triangulation . It is important to note that multiple ( almost up to float precision ) linear points can create layers of these acute triangles . This necessitates the iterative algorithm below . Parameters tri Delaunay triangulation epsilon Maximum angle to filter in radians
code: def select_acute_boundary_triangles(
      tri: Delaunay, epsilon: float = np.pi / 180
  ) -> np.ndarray:
      """Select highly acute triangle artifacts from the boundary of a Delaunay
      triangulation.
  
      It is important to note that multiple (almost, up to float precision) linear points
      (i.e. on a line), can create layers of these acute triangles. This necessitates the
      iterative algorithm below.
  
      Parameters
      ----------
      tri
          Delaunay triangulation
      epsilon
          Maximum angle to filter in radians
      """
  
      predicate = BoundaryAnglePredicate(tri.points, epsilon)
      return select_boundary_mesh_cells(tri, predicate)
code_tokens: def select_acute_boundary_triangles ( tri : Delaunay , epsilon : float = np . pi / 180 ) -> np . ndarray : predicate = BoundaryAnglePredicate ( tri . points , epsilon ) return select_boundary_mesh_cells ( tri , predicate )
short_docstring: Select highly acute triangle artifacts from the boundary of a Delaunay
  triangulation.
short_docstring_tokens: Select highly acute triangle artifacts from the boundary of a Delaunay triangulation .
comment: """Select highly acute triangle artifacts from the boundary of a Delaunay
      triangulation.
  
      It is important to note that multiple (almost, up to float precision) linear points
      (i.e. on a line), can create layers of these acute triangles. This necessitates the
      iterative algorithm below.
  
      Parameters
      ----------
      tri
          Delaunay triangulation
      epsilon
          Maximum angle to filter in radians
      """