parameters
[imago.git] / src / gridf3.py
index 6f6f386..5f90cb8 100644 (file)
@@ -2,9 +2,10 @@ import random
 from math import sqrt
 
 from intrsc import intersections_from_angl_dist
-import linef as linef
-import ransac as ransac
-import manual as manual
+import linef
+import params
+import ransac
+import manual_lines as manual
 from geometry import l2ad
 
 # TODO comments, refactoring, move methods to appropriate modules
@@ -172,7 +173,6 @@ def score(lines, points):
 
 
 def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger):
-    logger("finding the grid")
     new_lines1 = map(lambda l: Line.from_ad(l, size), lines[0])
     new_lines2 = map(lambda l: Line.from_ad(l, size), lines[1])
     for l1 in new_lines1:
@@ -191,8 +191,10 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger):
         return sqrt(x * x + y * y)
 
     for n_tries in xrange(3):
+        logger("finding the diagonals")
         model = Diagonal_model(points)
-        diag_lines = ransac.ransac_multi(6, points, 2, 800, model=model)
+        diag_lines = ransac.ransac_multi(6, points, 2,
+                                         params.ransac_diagonal_iter, model=model)
         diag_lines = [l[0] for l in diag_lines]
         centers = []
         cen_lin = []
@@ -206,7 +208,7 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger):
 
         if show_all:
             import matplotlib.pyplot as pyplot
-            import Image
+            from PIL import Image
 
             def plot_line_g((a, b, c), max_x):
                 find_y = lambda x: - (c + a * x) / b
@@ -227,6 +229,7 @@ def find(lines, size, l1, l2, bounds, hough, show_all, do_something, logger):
             image_p = Image.fromstring('RGB', size_f, buff, 'raw')
             do_something(image_p, "finding diagonals")
 
+        logger("finding the grid")
         data = sum(points, [])
         # TODO what if lines are missing?
         sc = float("inf")