'**SUMMARY**
apply a function to every pixel and return the result
The function must be of the form int (r,g,b)=func((r,g,b))
**PARAMETERS**
* *theFunc* - a function pointer to a function of the form (r,g.b) = theFunc((r,g,b))
**RETURNS**
A simpleCV image after mapping the function to the image.
**EXAMPLE**
>>> def derp(pixels):
>>>     return (int(b*.2),int(r*.3),int(g*.5))
>>> img = Image("lenna")
>>> img2 = img.applyPixelFunction(derp)'

def applyPixelFunction(self, theFunc):

    pixels = np.array(self.getNumpy()).reshape((-1), 3).tolist()
    result = np.array(map(theFunc, pixels), dtype=uint8).reshape(self.width, self.height, 3)
    return Image(result)
