code: def miller_index_from_sites(lattice, coords, coords_are_cartesian=True,
                              round_dp=4, verbose=True):
      
      if not isinstance(lattice, Lattice):
          lattice = Lattice(lattice)
  
      return lattice.get_miller_index_from_coords(
          coords, coords_are_cartesian=coords_are_cartesian, round_dp=round_dp,
          verbose=verbose)
docs: Get the Miller index of a plane from a list of site coordinates.
  
      A minimum of 3 sets of coordinates are required. If more than 3 sets of
      coordinates are given, the best plane that minimises the distance to all
      points will be calculated.
  
      Args:
          lattice (list or Lattice): A 3x3 lattice matrix or `Lattice` object (for
              example obtained from Structure.lattice).
          coords (iterable): A list or numpy array of coordinates. Can be
              cartesian or fractional coordinates. If more than three sets of
              coordinates are provided, the best plane that minimises the
              distance to all sites will be calculated.
          coords_are_cartesian (bool, optional): Whether the coordinates are
              in cartesian space. If using fractional coordinates set to False.
          round_dp (int, optional): The number of decimal places to round the
              miller index to.
          verbose (bool, optional): Whether to print warnings.
  
      Returns:
          (tuple): The Miller index.