def get_cuts(big_block, small_block):
    """ Get the list of the shape mismatches between big block and small_blocks.
    The big block is partitioned by the small blocks.
    In particular, this function is used for computing the cuts of the input image by the buffers. 

    Arguments: 
    ----------  
        big_block: shape of big block
        small_block: shape of a small block
    """
    def get_cuts_by_dim(big_block, small_block, i):
        nb_max = int(big_block[i] / small_block[i])
        cuts = list(tuple([small_block[i]*j for j in range(nb_max+1)])) # stop before R[dim]
        cuts.remove(0) # remove 0
        return cuts

    return [get_cuts_by_dim(big_block, small_block, i) for i in range(3)]