-LINE_HEIGHT_THRESHOLD = 0.5
-LARGEST_LINE_HEIGHT_WINDOW = 0.07
-SPLIT_SECTION_THRESHOLD = 1.1
+LINE_HEIGHT_THRESHOLD = 0.5 # To allow for small variations (half of the unit of difference)
+LARGEST_LINE_HEIGHT_WINDOW = 0.07 # Heuristic
+SPLIT_SECTION_THRESHOLD = 1.01 # To allow for small rounding errors
 SECTION_INDENT_THRESHOLD = 1.0 / 40.0
 SPLIT_PARAGRAPH_THRESHOLD = 0.9
 

    lineHeights = []
    for dy in dys
      lastLineHeights = lineHeights[lineHeights.length - 1]
      if lastLineHeights and Math.abs(lastLineHeights.average - dy.dy) < LINE_HEIGHT_THRESHOLD * SCALE
        lastLineHeights.average = ((lastLineHeights.average * lastLineHeights.count) + dy.dy) / (lastLineHeights.count + 1)
        lastLineHeights.area += dy.area
        lastLineHeights.count++

      left = Math.min left, segment.left
      right = Math.max right, (segment.left + segment.width)

    left + (right - left) * SECTION_INDENT_THRESHOLD

  _splitParagraphs: (pageNumber, segments, sectionIndentThreshold) =>
    page = @_pages[pageNumber - 1]
