[PyObjC] CIFilter subclass in PyObjC

In PyObjC, it turns into very convenient to create a subclass of CIFilter.

class colorMaskFilter(CIFilter):
    code = """
kernel vec4 maskWithColor(sampler image, sampler maskImage, __color color, float threshold)
{
	vec4 c = sample(maskImage, samplerCoord(maskImage));
	float d = distance(c, color);
	return (d < threshold ? sample(image, samplerCoord(image)) : vec4(0.));
}"""
    kernel = CIKernel.kernelsWithString_(code).objectAtIndex_(0)
    inputImage = None
    maskImage = None
    maskColor = None
    threshold = None
 
    def outputImage(self):
        return self.apply_arguments_options_(self.kernel, [CISampler.samplerWithImage_(self.inputImage), CISampler.samplerWithImage_(self.maskImage), self.maskColor, self.threshold], {})
 
# Usage:
# ciImage = filter.outputImage()
Body
Comment me!