how does ImageFilter in PIL normalize the pixel values between 0 and 255 after filtering with Kernel or mask
The above answer of Mark states his theory regarding what happens when a Zero-summing kernel is used with scale argument 0 or None or not passed/mentioned. Now talking about how PIL handles calculated pixel values after applying kernel,scale and offset, which are not in [0,255] range. My theory about how it normalizes calculated pixel value is that it simply do: Any resulting value <= 0 becomes 0 and anything > 255 becomes 255.
how does ImageFilter in PIL normalize the pixel values(not the kernel) between 0 and 255 after filtering with Kernel or mask?(Specially zero-summing kernel like:( -1,-1,-1,0,0,0,1,1,1 ))

my code was like:
import Image
import ImageFilter
Horiz = ImageFilter.Kernel((3, 3), (-1,-2,-1,0,0,0,1,2,1), scale=None, offset=0) #sobel mask
im_fltd = myimage.filter(Horiz)