Add negative tolerance

pull/2/head
Vinayak Mehta 2016-08-31 22:25:33 +05:30 committed by GitHub
parent 2a55621d05
commit 8d56f15130
1 changed files with 19 additions and 8 deletions

View File

@ -56,7 +56,7 @@ def _group_rows(text, ytol=2):
return rows return rows
def _merge_columns(l, mtol=2): def _merge_columns(l, mtol=0):
"""Merges overlapping columns and returns list with updated """Merges overlapping columns and returns list with updated
columns boundaries. columns boundaries.
@ -76,13 +76,24 @@ def _merge_columns(l, mtol=2):
merged.append(higher) merged.append(higher)
else: else:
lower = merged[-1] lower = merged[-1]
if (higher[0] <= lower[1] or if mtol > 0:
np.isclose(higher[0], lower[1], atol=mtol)): if (higher[0] <= lower[1] or
upper_bound = max(lower[1], higher[1]) np.isclose(higher[0], lower[1], atol=mtol)):
lower_bound = min(lower[0], higher[0]) upper_bound = max(lower[1], higher[1])
merged[-1] = (lower_bound, upper_bound) lower_bound = min(lower[0], higher[0])
else: merged[-1] = (lower_bound, upper_bound)
merged.append(higher) else:
merged.append(higher)
elif mtol < 0:
if higher[0] <= lower[1]:
if np.isclose(higher[0], lower[1], atol=abs(mtol)):
merged.append(higher)
else:
upper_bound = max(lower[1], higher[1])
lower_bound = min(lower[0], higher[0])
merged[-1] = (lower_bound, upper_bound)
else:
merged.append(higher)
return merged return merged