human
Complete this python program:
def blackwhite(clip, RGB=None, preserve_luminosity=True):
assistant
#Here is the Python code you requested.

    """Desaturates the picture, makes it black and white.
    Parameter RGB allows to set weights for the different color
    channels.
    If RBG is \CRT_phosphor\ a special set of values is used.
    preserve_luminosity maintains the sum of RGB to 1.
    """
    if (RGB is None):
        RGB = [1, 1, 1]
    if (RGB == 'CRT_phosphor'):
        RGB = [0.2125, 0.7154, 0.0721]
    (R, G, B) = ((1.0 * np.array(RGB)) / (sum(RGB) if preserve_luminosity else 1))
    def fl(im):
        im = (((R * im[:, :, 0]) + (G * im[:, :, 1])) + (B * im[:, :, 2]))
        return np.dstack((3 * [im])).astype('uint8')
    return clip.fl_image(fl)