Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replaces multi-var str() concat with %-format #124

Merged
merged 4 commits into from
Oct 23, 2016
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions ocropus-gpageseg
Original file line number Diff line number Diff line change
Expand Up @@ -343,15 +343,15 @@ def process1(job):
binary = ocrolib.read_image_binary(fname)
except IOError:
if ocrolib.trace: traceback.print_exc()
print_error("cannot open either " + base+".bin.png" + " or " + fname)
print_error("cannot open either %s.bin.png or %s" % (base, fname))
return

checktype(binary,ABINARY2)

if not args.nocheck:
check = check_page(amax(binary)-binary)
if check is not None:
print_error(fname + " SKIPPED " + check + " (use -n to disable this check)")
print_error("%s SKIPPED %s (use -n to disable this check)" % (fname, check))
return

if args.gray:
Expand All @@ -365,22 +365,22 @@ def process1(job):
scale = psegutils.estimate_scale(binary)
else:
scale = args.scale
print_info("scale " + str(scale))
print_info("scale %f" % (scale))
if isnan(scale) or scale>1000.0:
print_error("%s: bad scale (%g); skipping\n"%(fname,str(scale)))
print_error("%s: bad scale (%g); skipping\n" % (fname, scale))
return
if scale<args.minscale:
print_error("%s: scale (%s) less than --minscale; skipping\n"%(fname,str(scale)))
print_error("%s: scale (%g) less than --minscale; skipping\n" % (fname, scale))
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Any reason you do here first a %f and not as in the subsequent lines %g? (This looks inconsistent also it may not be changing much, because the numbers for scale are normally not that large.)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

%f by default is more precise, 19.493589 seemed preferable to 19.4936 to me in this case. In the other instances, I just stuck with the original formatting since I couldn't test it. I'm not a big fan of exponential format.

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Okay, let us leave it as you have here then.

return

# find columns and text lines

if not args.quiet: print_info("computing segmentation")
segmentation = compute_segmentation(binary,scale)
if amax(segmentation)>args.maxlines:
print_error(fname + ": too many lines" + str(amax(segmentation)))
print_error("%s: too many lines %g" % (fname, amax(segmentation)))
return
if not args.quiet: print_info("number of lines"+ str(amax(segmentation)))
if not args.quiet: print_info("number of lines %g" % amax(segmentation))

# compute the reading order

Expand Down Expand Up @@ -410,7 +410,7 @@ def process1(job):
if args.gray:
grayline = psegutils.extract_masked(gray,l,pad=args.pad,expand=args.expand)
ocrolib.write_image_gray("%s/01%04x.nrm.png"%(outputdir,i+1),grayline)
print_info("%6d "%i + fname + " %4.1f "% + scale + " " + str(len(lines)))
print_info("%6d %s %4.1f %d" % (i, fname, scale, len(lines)))

if len(args.files)==1 and os.path.isdir(args.files[0]):
files = glob.glob(args.files[0]+"/????.png")
Expand Down
12 changes: 6 additions & 6 deletions ocropus-nlbin
Original file line number Diff line number Diff line change
Expand Up @@ -106,15 +106,14 @@ def dshow(image,info):

def process1(job):
fname,i = job
print_info("#" + fname)
if args.parallel<2: print_info("=== "+fname+ " " +str(i))
comment = ""
print_info("# %s" % (fname))
if args.parallel<2: print_info("=== %s %-3d" % (fname, i))
raw = ocrolib.read_image_gray(fname)
dshow(raw,"input")
# perform image normalization
image = raw-amin(raw)
if amax(image)==amin(image):
print_info("# image is empty" + fname)
print_info("# image is empty: %s" % (fname))
return
image /= amax(image)

Expand All @@ -130,9 +129,10 @@ def process1(job):
else:
extreme = (sum(image<0.05)+sum(image>0.95))*1.0/prod(image.shape)
if extreme>0.95:
comment += " no-normalization"
comment = "no-normalization"
flat = image
else:
comment = ""
# if not, we need to flatten it by estimating the local whitelevel
if args.parallel<2: print_info("flattening")
warnings.filterwarnings("ignore", category=UserWarning)
Expand Down Expand Up @@ -192,7 +192,7 @@ def process1(job):
bin = 1*(flat>args.threshold)

# output the normalized grayscale and the thresholded images
print_info(fname+" lo-hi (%.2f %.2f) angle %4.1f"%(lo,hi,angle) + comment)
print_info("%s lo-hi (%.2f %.2f) angle %4.1f %s" % (fname, lo, hi, angle, comment))
Copy link
Collaborator

@zuphilip zuphilip Oct 23, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This produces sometimes double spaces, e.g.

INFO:  tests/testpage.png lo-hi (0.39 1.44) angle  0.1  no-normalization

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or is this just reserving enough space for %4.1f?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The first two spaces are because of %4.f for a value < 10. The second two spaces are fixed now.

if args.parallel<2: print_info("writing")
if args.debug>0 or args.show: clf(); gray();imshow(bin); ginput(1,max(0.1,args.debug))
if args.output:
Expand Down
13 changes: 7 additions & 6 deletions ocropus-rpred
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ print_info("")


inputs = ocrolib.glob_all(args.files)
if not args.quiet: print_info("#inputs"+ str(len(inputs)))
if not args.quiet: print_info("#inputs: %d" % (len(inputs)))

# disable parallelism when anything is being displayed

Expand Down Expand Up @@ -140,7 +140,7 @@ def process1(arg):
if not args.nocheck:
check = check_line(amax(line)-line)
if check is not None:
print_error(fname+" SKIPPED "+check+" (use -n to disable this check)")
print_error("%s SKIPPED %s (use -n to disable this check)" % (fname, check))
return (0,[],0,trial,fname)

if not args.nolineest:
Expand Down Expand Up @@ -198,7 +198,7 @@ def process1(arg):
err = edist.xlevenshtein(pred0,gt0)
conf = []
if not args.quiet:
print_info("%3d %3d"%(err,len(gt)) + " " + fname+":"+pred)
print_info("%3d %3d %s:%s" % (err, len(gt), fname, pred))
sys.stdout.flush()
return (err,conf,len(gt0),trial,fname)

Expand Down Expand Up @@ -286,8 +286,9 @@ if args.estrate:
terr += err
total += n
confusions += conf
print_info("%.5f"%(terr*1.0/total) + " " + terr+ " " + total + " " + args.model)
print_info("%.5f %d %d %s" % (terr*1.0/total, terr, total, args.model))
if args.estconf>0:
print_info("top " + args.estconf + " confusions (count pred gt), comparison: " + args.compare)
print_info("top %d confusions (count pred gt), comparison: %s" % (
args.estconf, args.compare))
for ((u,v),n) in Counter(confusions).most_common(args.estconf):
print_info("%6d %-4s %-4s"%(n,u,v))
print_info("%6d %-4s %-4s" % (n, u ,v))