move logger to main file
[imago.git] / imago_pack / hough.py
index deeb9d8..6235b5d 100644 (file)
@@ -9,24 +9,26 @@ import pcf
 class Hough:
     """Hough transform.
 
 class Hough:
     """Hough transform.
 
-    This class stores the transformed image and metainformation.
+    This class stores the parameters of the transformation.
     """
     """
-    def __init__(self, size, dt, init_angle, image):
+    def __init__(self, size, dt, init_angle):
         self.size = size # this is a tuple (width, height)
         self.dt = dt     # this is the angle step in hough transform
         self.initial_angle = init_angle
         self.size = size # this is a tuple (width, height)
         self.dt = dt     # this is the angle step in hough transform
         self.initial_angle = init_angle
-        self.image = image
 
     @classmethod
 
     @classmethod
-    def Transform(cls, image):
-        """Create Hough transform of the *image* with default parameters."""
-        # TODO rename to transform?
+    def default(cls, image):
+        """Default parameters for Hough transform of the *image*."""
         size = image.size
         dt = pi / size[1]
         initial_angle = (pi / 4) + (dt / 2)
         size = image.size
         dt = pi / size[1]
         initial_angle = (pi / 4) + (dt / 2)
-        image_s = pcf.hough(size, image.tostring(), initial_angle, dt)
-        image_t = Image.fromstring('L', size, image_s)
-        return cls(size, dt, initial_angle, image_t)
+        return cls(size, dt, initial_angle)
+
+    def transform(self, image):
+        image_s = pcf.hough(self.size, image.tostring(), self.initial_angle,
+                            self.dt)
+        image_t = Image.fromstring('L', self.size, image_s)
+        return image_t
 
     def apply_filter(self, filter_f):
         return Hough(self.size, self.dt, self.initial_angle,
 
     def apply_filter(self, filter_f):
         return Hough(self.size, self.dt, self.initial_angle,
@@ -40,9 +42,9 @@ class Hough:
             lines.append(self.angle_distance(p))
         return lines
 
             lines.append(self.angle_distance(p))
         return lines
 
-    def all_lines_h(self):
+    def all_lines_h(self, image):
         # TODO what is this?
         # TODO what is this?
-        im_l = self.image.load()
+        im_l = image.load()
         lines1 = []
         for x in xrange(self.size[0] / 2):
             for y in xrange(self.size[1]):
         lines1 = []
         for x in xrange(self.size[0] / 2):
             for y in xrange(self.size[1]):