code: def slices(img, shape=[3, 4]):
      
      sh = np.asarray(shape)
      i_max = np.prod(sh)
      allimg = np.zeros(img.shape[-2:] * sh)
  
      for i in range(0, i_max):
          # i = 0
          islice = round((img.shape[0] / float(i_max)) * i)
          #         print(islice)
          imgi = img[islice, :, :]
          coords = index_to_coords(i, sh)
          aic = np.asarray(img.shape[-2:]) * coords
  
          allimg[aic[0]:aic[0] + imgi.shape[-2], aic[1]:aic[1] + imgi.shape[-1]] = imgi
  
      #     plt.imshow(imgi)
      #     print(imgi.shape)
      #     print(img.shape)
      return allimg
docs: create tiled image with multiple slices
      :param img:
      :param shape:
      :return: