measuring performance
[imago.git] / src / imago.py
index 2d225e5..0dd970a 100755 (executable)
@@ -11,16 +11,15 @@ import argparse
 import pickle
 
 try:
 import pickle
 
 try:
-    import Image, ImageDraw
+    from PIL import Image, ImageDraw
 except ImportError, msg:
     print >> sys.stderr, msg
     sys.exit(1)
 
 except ImportError, msg:
     print >> sys.stderr, msg
     sys.exit(1)
 
-import im_debug
 import linef
 import manual
 import intrsc
 import linef
 import manual
 import intrsc
-import gridf2 as gridf
+import gridf3 as gridf
 import output
 
 def argument_parser():
 import output
 
 def argument_parser():
@@ -76,11 +75,23 @@ def main():
         do_something = Imsave("saved/" + args.files[0][:-4] + "_" +
                                str(image.size[0]) + "/").save
     else:
         do_something = Imsave("saved/" + args.files[0][:-4] + "_" +
                                str(image.size[0]) + "/").save
     else:
+        import im_debug
         do_something = im_debug.show
 
     if verbose:
         do_something = im_debug.show
 
     if verbose:
-        def logger(m):
-            print >> sys.stderr, m
+        import time
+        class Logger:
+            def __init__(self):
+                self.t = 0
+
+            def __call__(self, m):
+                t_n = time.time()
+                if self.t > 0:
+                    print >> sys.stderr, "\t" + str(t_n - self.t)
+                print >> sys.stderr, m
+                self.t = t_n
+        logger = Logger()
+
     else:
         def logger(m):
             pass
     else:
         def logger(m):
             pass
@@ -108,6 +119,10 @@ def main():
                 d_file.close()
         else:
             lines, l1, l2, bounds, hough = linef.find_lines(image, do_something, logger)
                 d_file.close()
         else:
             lines, l1, l2, bounds, hough = linef.find_lines(image, do_something, logger)
+            #d_file = open('lines09.pickle', 'wb')
+            #pickle.dump(lines, d_file)
+            #d_file.close() #TODO delete this
+
 
         grid, lines = gridf.find(lines, image.size, l1, l2, bounds, hough,
                                  show_all, do_something, logger)
 
         grid, lines = gridf.find(lines, image.size, l1, l2, bounds, hough,
                                  show_all, do_something, logger)
@@ -118,7 +133,9 @@ def main():
                 draw.line(l, fill=(64, 255, 64), width=1)
             do_something(im_g, "grid", name="grid")
 
                 draw.line(l, fill=(64, 255, 64), width=1)
             do_something(im_g, "grid", name="grid")
 
-    board = intrsc.board(image, lines, show_all, do_something)
+    board = intrsc.board(image, lines, show_all, do_something, logger)
+
+    logger("finished")
 
     if len(args.files) == 1:
 
 
     if len(args.files) == 1:
 
@@ -139,7 +156,7 @@ def main():
                 print >> sys.stderr, "Opening", f
             if image.mode == 'P':
                 image = image.convert('RGB')
                 print >> sys.stderr, "Opening", f
             if image.mode == 'P':
                 image = image.convert('RGB')
-            board = intrsc.board(image, lines, show_all, do_something)
+            board = intrsc.board(image, lines, show_all, do_something, logger)
             if args.sgf_output:
                 game.addMove(board)
             else:
             if args.sgf_output:
                 game.addMove(board)
             else: