def fill(image, mask=None, iterations=1):
    '''Fill isolated black pixels
    
    1 1 1     1 1 1
    1 0 1 ->  1 1 1
    1 1 1     1 1 1
    '''
    global fill_table
    if mask is None:
        masked_image = image
    else:
        masked_image = image.astype(bool).copy()
        masked_image[~mask] = True
    result = table_lookup(masked_image, fill_table, True, iterations)
    if not mask is None:
        result[~mask] = image[~mask]
    return result
Fill isolated black pixels
    
    1 1 1     1 1 1
    1 0 1 ->  1 1 1
    1 1 1     1 1 1