docs: def guess_segments_lines(segments, lines, nearline_tolerance=5.0):
      """
      given segments, outputs a array of line numbers, or -1 if it
      doesn't belong to any
      """
      ys = segments[:, 1]
      closeness = numpy.abs(numpy.subtract.outer(ys, lines))  # each row a y, each collumn a distance to each line
      line_of_y = numpy.argmin(closeness, axis=1)
      distance = numpy.min(closeness, axis=1)
      bad = distance > numpy.mean(distance) + nearline_tolerance * numpy.std(distance)
      line_of_y[bad] = -1
      return line_of_y