def max_shape_from_image_list(images):
    """Get the maximum size in each dimension from a list of images, useful for defining an empty image that can be
    used to overlay every image

    Args:
        images (list of ndarrays): list of images, all of same dimensionality

    Returns:
        (tuple of ints): The maximum shape element along each dimension across all images

    """
    return tuple(
        max([im.shape[i] for im in images]) for i in range(len(images[0].shape))
    )