return_boxes_of_images_by_order_of_reading_new: log any exceptions

This commit is contained in:
Robert Sachunsky 2025-09-19 12:19:58 +02:00
parent b48c41e68f
commit 66b2bce8b9
2 changed files with 20 additions and 8 deletions

View file

@ -4553,11 +4553,13 @@ class Eynollah:
if np.abs(slope_deskew) < SLOPE_THRESHOLD: if np.abs(slope_deskew) < SLOPE_THRESHOLD:
boxes, peaks_neg_tot_tables = return_boxes_of_images_by_order_of_reading_new( boxes, peaks_neg_tot_tables = return_boxes_of_images_by_order_of_reading_new(
splitter_y_new, regions_without_separators, matrix_of_lines_ch, splitter_y_new, regions_without_separators, matrix_of_lines_ch,
num_col_classifier, erosion_hurts, self.tables, self.right2left) num_col_classifier, erosion_hurts, self.tables, self.right2left,
logger=self.logger)
else: else:
boxes_d, peaks_neg_tot_tables_d = return_boxes_of_images_by_order_of_reading_new( boxes_d, peaks_neg_tot_tables_d = return_boxes_of_images_by_order_of_reading_new(
splitter_y_new_d, regions_without_separators_d, matrix_of_lines_ch_d, splitter_y_new_d, regions_without_separators_d, matrix_of_lines_ch_d,
num_col_classifier, erosion_hurts, self.tables, self.right2left) num_col_classifier, erosion_hurts, self.tables, self.right2left,
logger=self.logger)
if self.plotter: if self.plotter:
self.plotter.write_images_into_directory(polygons_of_images, image_page) self.plotter.write_images_into_directory(polygons_of_images, image_page)

View file

@ -1,3 +1,5 @@
from typing import Tuple
from logging import getLogger
import time import time
import math import math
@ -1626,10 +1628,16 @@ def find_number_of_columns_in_document(region_pre_p, num_col_classifier, tables,
def return_boxes_of_images_by_order_of_reading_new( def return_boxes_of_images_by_order_of_reading_new(
splitter_y_new, regions_without_separators, splitter_y_new, regions_without_separators,
matrix_of_lines_ch, matrix_of_lines_ch,
num_col_classifier, erosion_hurts, tables, right2left_readingorder): num_col_classifier, erosion_hurts, tables,
right2left_readingorder,
logger=None):
if right2left_readingorder: if right2left_readingorder:
regions_without_separators = cv2.flip(regions_without_separators,1) regions_without_separators = cv2.flip(regions_without_separators,1)
if logger is None:
logger = getLogger(__package__)
logger.debug('enter return_boxes_of_images_by_order_of_reading_new')
boxes=[] boxes=[]
peaks_neg_tot_tables = [] peaks_neg_tot_tables = []
splitter_y_new = np.array(splitter_y_new, dtype=int) splitter_y_new = np.array(splitter_y_new, dtype=int)
@ -1710,7 +1718,7 @@ def return_boxes_of_images_by_order_of_reading_new(
#print(peaks_neg_fin,'peaks_neg_fin') #print(peaks_neg_fin,'peaks_neg_fin')
except: except:
pass logger.exception("cannot find peaks consistent with columns")
#num_col, peaks_neg_fin = find_num_col( #num_col, peaks_neg_fin = find_num_col(
# regions_without_separators[splitter_y_new[i]:splitter_y_new[i+1],:], # regions_without_separators[splitter_y_new[i]:splitter_y_new[i+1],:],
# multiplier=7.0) # multiplier=7.0)
@ -1987,7 +1995,7 @@ def return_boxes_of_images_by_order_of_reading_new(
x_starting_all_between_nm_wc = np.append(x_starting_all_between_nm_wc, x_starting_all_between_nm_wc[biggest]) x_starting_all_between_nm_wc = np.append(x_starting_all_between_nm_wc, x_starting_all_between_nm_wc[biggest])
x_ending_all_between_nm_wc = np.append(x_ending_all_between_nm_wc, x_ending_all_between_nm_wc[biggest]) x_ending_all_between_nm_wc = np.append(x_ending_all_between_nm_wc, x_ending_all_between_nm_wc[biggest])
except: except:
pass logger.exception("cannot append")
y_all_between_nm_wc = np.append(y_all_between_nm_wc, [y_column_nc[i_c]] * len(columns_not_covered)) y_all_between_nm_wc = np.append(y_all_between_nm_wc, [y_column_nc[i_c]] * len(columns_not_covered))
x_starting_all_between_nm_wc = np.append(x_starting_all_between_nm_wc, np.array(columns_not_covered, int)) x_starting_all_between_nm_wc = np.append(x_starting_all_between_nm_wc, np.array(columns_not_covered, int))
@ -2067,6 +2075,7 @@ def return_boxes_of_images_by_order_of_reading_new(
y_itself, y_itself,
y_down]) y_down])
except: except:
logger.exception("cannot assign boxes")
boxes.append([0, peaks_neg_tot[len(peaks_neg_tot)-1], boxes.append([0, peaks_neg_tot[len(peaks_neg_tot)-1],
splitter_y_new[i], splitter_y_new[i+1]]) splitter_y_new[i], splitter_y_new[i+1]])
else: else:
@ -2170,6 +2179,7 @@ def return_boxes_of_images_by_order_of_reading_new(
x_end_new = regions_without_separators.shape[1] - boxes[i][0] x_end_new = regions_without_separators.shape[1] - boxes[i][0]
boxes[i][0] = x_start_new boxes[i][0] = x_start_new
boxes[i][1] = x_end_new boxes[i][1] = x_end_new
return boxes, peaks_neg_tot_tables_new peaks_neg_tot_tables = peaks_neg_tot_tables_new
else:
logger.debug('exit return_boxes_of_images_by_order_of_reading_new')
return boxes, peaks_neg_tot_tables return boxes, peaks_neg_tot_tables