class_docstr: Class for image processing. Methods for detecting lines in an image and clustering them. Helper methods for
  drawing.
docstr: From a list of lines <lines_hough> in polar coordinate space, generate lines in cartesian coordinate space
  from points A to B in image dimension space. A and B are at the respective opposite borders
  of the line projected into the image.
  Will return a list with tuples (A, B, DIRECTION_HORIZONTAL or DIRECTION_VERTICAL).
docstr_tok: ["From","a","list","of","lines","<","lines_hough",">","in","polar","coordinate","space",",","generate","lines","in","cartesian","coordinate","space","from","points","A","to","B","in","image","dimension","space",".","A","and","B","are","at","the","respective","opposite","borders","of","the","line","projected","into","the","image",".","Will","return","a","list","with","tuples","(","A",",","B",",","DIRECTION_HORIZONTAL","or","DIRECTION_VERTICAL",")","."]
code: def ab_lines_from_hough_lines(self, lines_hough):
      """
      From a list of lines <lines_hough> in polar coordinate space, generate lines in cartesian coordinate space
      from points A to B in image dimension space. A and B are at the respective opposite borders
      of the line projected into the image.
      Will return a list with tuples (A, B, DIRECTION_HORIZONTAL or DIRECTION_VERTICAL).
      """
  
      projected = project_polarcoord_lines(
          [l[:2] for l in lines_hough], self.img_w, self.img_h
      )
      return [
          (p1, p2, line_dir)
          for (p1, p2), (_, _, _, line_dir) in zip(
              projected, lines_hough
          )
      ]
  
imports: from logging import warning
  from math import degrees
  import numpy
  import cv2
  from pdftabextract.common import ROTATION, SKEW_X, SKEW_Y, DIRECTION_HORIZONTAL, DIRECTION_VERTICAL
  from pdftabextract.geom import normalize_angle, project_polarcoord_lines
  from pdftabextract.clustering import zip_clusters_and_values, find_clusters_1d_break_dist, calc_cluster_centers_1d
label_desc: Use image node_id 6 for calling the ImageProc obj's underlying member method code with example usage: obj.ab_lines_from_hough_lines(lines_hough) and returns: unknown