From 42d383920d7c8cd2cab435e93ecb78b7661e5c77 Mon Sep 17 00:00:00 2001 From: Sai Asish Y Date: Sun, 26 Jul 2026 18:29:07 -0700 Subject: [PATCH] return_deskew_slop: pass refined angles, not sigma_des, on landscape main page Signed-off-by: Sai Asish Y --- src/eynollah/utils/separate_lines.py | 2 +- tests/test_deskew.py | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 tests/test_deskew.py diff --git a/src/eynollah/utils/separate_lines.py b/src/eynollah/utils/separate_lines.py index 689a564..2fc65c4 100644 --- a/src/eynollah/utils/separate_lines.py +++ b/src/eynollah/utils/separate_lines.py @@ -1451,7 +1451,7 @@ def return_deskew_slop(img, angle, _ = best_angle(angles) angles = np.linspace(angle - 22.5, angle + 22.5, n_tot_angles) - angle, _ = best_angle(sigma_des) + angle, _ = best_angle(angles) elif main_page: #angles = np.linspace(-12, 12, n_tot_angles)#np.array([0 , 45 , 90 , -45]) angles = np.concatenate((np.linspace(-12, -7, n_tot_angles // 4), diff --git a/tests/test_deskew.py b/tests/test_deskew.py new file mode 100644 index 0000000..a2a8dc6 --- /dev/null +++ b/tests/test_deskew.py @@ -0,0 +1,12 @@ +import numpy as np + +from eynollah.utils.separate_lines import return_deskew_slop + +def test_deskew_landscape_main_page(): + # landscape page (width > height) used to crash with + # "TypeError: 'int' object is not iterable" (#223) + img = np.zeros((80, 160)) + for y in (20, 40, 60): + img[y:y + 3, 10:150] = 1 + angle = return_deskew_slop(img, 2, n_tot_angles=10, main_page=True) + assert np.isfinite(angle)