peak extraction
[imago.git] / filters.py
index df3b49f..222d8fe 100644 (file)
@@ -10,8 +10,8 @@ def edge_detection(image):
     print "edge detection"
     for x in range(2, image.size[0] - 2):
         for y in range(2, image.size[1] - 2):
     print "edge detection"
     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] 
+            pix = (sum([sum([
+                image_l[a, b] 
                     for b in range(y - 2, y + 3)]) 
                     for a in range(x - 2, x + 3)])
                 - (25 * image_l[x, y]))
                     for b in range(y - 2, y + 3)]) 
                     for a in range(x - 2, x + 3)])
                 - (25 * image_l[x, y]))
@@ -21,6 +21,26 @@ def edge_detection(image):
                 pix = 0 
             new_image_l[x, y] = pix
     return new_image
                 pix = 0 
             new_image_l[x, y] = pix
     return new_image
+       
+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
 
 def high_pass(image, height):
     image_l = image.load()
 
 def high_pass(image, height):
     image_l = image.load()