another high pass
[imago.git] / imago.py
index 94f90a0..bfa4c7a 100755 (executable)
--- a/imago.py
+++ b/imago.py
@@ -1,39 +1,50 @@
 #!/usr/bin/env python
 """Usage: imago.py file"""
 
+import sys
 import Image
 import im_debug
-import sys
-from filter import filter
+import filter
+import hough
 
-class Usage(Exception):
+class UsageError(Exception):
     def __init__(self, msg):
         self.msg = msg
 
-def main(argv=None):
+def main(*argv):
     """Main function of the program."""
     try:
-        if argv is None:
-            try:
-                argv = sys.argv[1]
-            except IndexError:
-                raise Usage('no arguments given')
-    except Usage, err:
-        print >>sys.stderr, err.msg
-        print >>sys.stderr, "for help use --help"
+        if argv is ():
+            argv = sys.argv[1:]
+            if argv == []:
+                raise UsageError('Missing filename')
+        if "--help" in argv:
+                print __doc__
+                return 0    
+    except UsageError, err:
+        print >>sys.stderr, err.msg, "(\"imago.py --help\" for help)"
         return 2
 
-    #TODO exception on empty argument
     #TODO exception on file error
-    image = Image.open(argv)
-    im_debug.show(image, "original image")
+    image = Image.open(argv[0])
+    #im_debug.show(image, "original image")
 
     im_l = image.convert('L')
-    im_debug.show(im_l, "ITU-R 601-2 luma transform")
+    #im_debug.show(im_l, "ITU-R 601-2 luma transform")
+
+    im_edges = filter.edge_detection(im_l)
+    #im_debug.show(im_edges, "edge detection")
+
+    im_h = filter.high_pass(im_edges, 80)
+    #im_debug.show(im_h, "high pass filter")
+
+    im_hough = hough.transform(im_h)
+    #im_debug.show(im_hough, "hough transform")
+
+    im_h2 = filter.high_pass(im_hough, 120)
+    im_debug.show(im_h2, "high pass filter")
 
-    im_edges = filter(im_l)
-    im_debug.show(im_edges, "edge detection")
+    return 0
 
 if __name__ == '__main__':
-    main() #sys.exit(main())
-    
+    sys.exit(main())