Skip to content

Commit bc4bb6b

Browse files
author
Robert Sachunsky
committed
resegment: fix method=baseline (join MultiPolygon)
1 parent 14e27e1 commit bc4bb6b

File tree

2 files changed

+11
-11
lines changed

2 files changed

+11
-11
lines changed

ocrd_cis/ocropy/common.py

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1279,12 +1279,12 @@ def lines2regions(binary, llabels,
12791279
sepmask = 1-morph.keep_marked(1-sepmask, lbinary>0)
12801280
DSAVE('sepmask', [sepmask,binary])
12811281
objects = [None] + morph.find_objects(llabels)
1282-
#centers = measurements.center_of_mass(binary, llabels, np.unique(llabels))
1283-
def center(obj):
1284-
if morph.sl.empty(obj):
1285-
return [0,0]
1286-
return morph.sl.center(obj)
1287-
centers = list(map(center, objects[1:]))
1282+
# centers = measurements.center_of_mass(binary, llabels, np.unique(llabels))
1283+
# def center(obj):
1284+
# if morph.sl.empty(obj):
1285+
# return [0,0]
1286+
# return morph.sl.center(obj)
1287+
# centers = list(map(center, objects[1:]))
12881288
if scale is None:
12891289
scale = psegutils.estimate_scale(binary, zoom)
12901290
bincounts = np.bincount(lbinary.flatten())
@@ -1448,7 +1448,7 @@ def find_topological():
14481448
seplab, nseps = morph.label(sepm)
14491449
if nseps == 0:
14501450
return
1451-
sepind = np.unique(seplab)
1451+
# sepind = np.unique(seplab)
14521452
# (but keep only those with large fg i.e. ignore white-space seps)
14531453
seplabs, counts = np.unique(seplab * bin, return_counts=True)
14541454
kept = np.in1d(seplab.ravel(), seplabs[counts > scale * min_line])

ocrd_cis/ocropy/resegment.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ def __init__(self, *args, **kwargs):
5252
self.ocrd_tool = get_ocrd_tool()
5353
kwargs['ocrd_tool'] = self.ocrd_tool['tools'][TOOL]
5454
kwargs['version'] = self.ocrd_tool['version']
55-
super(OcropyResegment, self).__init__(*args, **kwargs)
55+
super().__init__(*args, **kwargs)
5656

5757
def process(self):
5858
"""Resegment lines of the workspace.
@@ -118,7 +118,7 @@ def process(self):
118118
self.add_metadata(pcgts)
119119
page_id = pcgts.pcGtsId or input_file.pageId or input_file.ID
120120
page = pcgts.get_Page()
121-
121+
122122
page_image, page_coords, page_image_info = self.workspace.image_from_page(
123123
page, page_id, feature_selector='binarized')
124124
if self.parameter['dpi'] > 0:
@@ -266,9 +266,9 @@ def _process_segment(self, parent, parent_image, parent_coords, page_id, zoom, l
266266
continue
267267
line_polygon = baseline_of_segment(line, parent_coords)
268268
line_ltr = line_polygon[0,0] < line_polygon[-1,0]
269-
line_polygon = make_valid(LineString(line_polygon).buffer(
269+
line_polygon = make_valid(join_polygons(LineString(line_polygon).buffer(
270270
# left-hand side if left-to-right, and vice versa
271-
scale * (-1) ** line_ltr, single_sided=True))
271+
scale * (-1) ** line_ltr, single_sided=True), loc=line.id))
272272
line_polygon = np.array(line_polygon.exterior, np.int)[:-1]
273273
line_y, line_x = draw.polygon(line_polygon[:, 1],
274274
line_polygon[:, 0],

0 commit comments

Comments
 (0)