docs: def get_partition_scores(image, min_w=1, min_h=1):
      """Return list of best to worst binary splits along the x and y axis.
  
      """
      h, w = image.shape[:2]
      if w == 0 or h == 0:
          return []
      area = h * w
      cnz = numpy.count_nonzero
      total = cnz(image)
      if total == 0 or area == total:
          return []
      if h < min_h * 2:
          y_c = []
      else:
          y_c = [(-abs((count / ((h - y) * w)) - ((total - count) / (y * w))),
                  y, 0)
                 for count, y in ((cnz(image[y:]), y)
                                  for y in range(min_h, image.shape[0] - min_h))]
      if w < min_w * 2:
          x_c = []
      else:
          x_c = [(-abs((count / (h * (w - x))) - ((total - count) / (h * x))),
                  x, 1)
                 for count, x in ((cnz(image[:, x:]), x)
                                  for x in range(min_w, image.shape[1] - min_w))]
      return sorted(x_c + y_c)