+
+def peaks(image):
+ image_l = image.load()
+ new_image = Image.new('L', image.size)
+ new_image_l = new_image.load()
+ clear()
+ print "peak extraction"
+ for x in range(2, image.size[0] - 2):
+ for y in range(2, image.size[1] - 2):
+ pix = (sum([sum([
+ - image_l[a, b]
+ for b in range(y - 2, y + 3)])
+ for a in range(x - 2, x + 3)])
+ + (16 * image_l[x, y]))
+ if pix > 255:
+ pix = 255
+ if pix < 0:
+ pix = 0
+ new_image_l[x, y] = pix
+ return new_image