+def dst(line):
+ """Return normalized line."""
+ if line[0] < pi / 2:
+ line = line[0] + pi, - line[1]
+ return line
+
+def dst_sort(lines):
+ """Return lines sorted by distance."""
+ l_max = max(l[0] for l in lines)
+ l_min = min(l[0] for l in lines)
+ if l_max - l_min > (3. / 4) * pi:
+ lines = [dst(l) for l in lines]
+ lines.sort(key=itemgetter(1))
+ return lines
+