Thanks for looking at it...

On 10/1/2015 4:55 PM, Benjamin Berg wrote:
Ah, now I remember why the script does not use the routines from the
"add" package. Right now the add package unconditionally adds all pages
of a tiff, while the script handles the input image on a page by page
basis.

This will not make a difference for you if you are simply using single
page tiffs, but does mean that your code is not quite correct either
unfortunately :)

I'll need to properly fix this somehow so that the script works with
simplex projects with both simplex and duplex scans.

/me opens a ticket to not forget.

Issue #83.

Benjamin

On Do, 2015-10-01 at 18:03 +0000, Terrence Kovacs wrote:
Thanks for the quick response.
Yes it is a simplex document.
Unfortunately the patch you sent threw this:
[tkovacs@sunspot new]$ ./sdaps-recognize.py tenq tenq_scan.tif
TIFFOpen: tenq/../DUMMY: No such file or directory.
Traceback (most recent call last):
   File "./sdaps-recognize.py", line 74, in <module>
     survey.questionnaire.recognize.recognize()
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 479, in recognize
     res = self.identify(clean=False)
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 465, in identify
     self.obj.sheet.recognize.recognize()
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 55, in recognize
     image.surface.load()
   File "/usr/lib64/python2.7/site-packages/sdaps/surface.py", line
51, in load
     True if self.obj.rotated else False
AssertionError: The image surface could not be created! Broken or non
1bit tiff file?

after some tinkering I resorted to importing add_image from sdaps.add
which does the correct magic.

$ diff ../sdaps-1.1.10/custom-scripts/sdaps-recognize.py sdaps
-recognize.py
31a32
from sdaps.add import add_image
54,62d54
<
< def add_image(survey, tiff, page):
<     img = model.sheet.Image()
<     survey.sheet.add_image(img)
<     # SDAPS assumes a relative path from the survey directory
<     img.filename = os.path.relpath(os.path.abspath(tiff),
survey.survey_dir)
<     img.orig_name = tiff
<     img.tiff_page = page
<
67,70c59
<     add_image(survey, *images.pop(0))
<
<     if survey.defs.duplex:
<         add_image(survey, *images.pop(0))
---
     add_image(survey, images.pop(0)[0], survey.defs.duplex)

Terrence Kovacs
Research Systems Engineer
Physics and Astronomy Department
Dartmouth College
Wilder 341, 603-646-9303

________________________________________
From: Benjamin Berg <[email protected]>
Sent: Wednesday, September 30, 2015 5:04 PM
To: Terrence Kovacs; [email protected]
Subject: Re: custom script sdap-recognize.py

Hi,

hm, interesting. My guess would be that you have a simplex document?
Probably never tested the script in that case.

Short explanation. SDAPS basically assumes internally that all
surveys
are printed and scanned in duplex mode. To handle simplex mode the
"sdaps add" command inserts a special dummy page so that exactly this
failure does not happen.

If you scanned in simplex mode then apply the attached patch. If you
scanned in duplex mode, then just run the second add_image there
unconditionally instead.

Benjamin


On Mi, 2015-09-30 at 20:47 +0000, Terrence Kovacs wrote:
I have a sdaps tenq survey which I can run:
[tkovacs@sunspot new]$ sdaps tenq recognize
-------------------------------------------------------------------
--
---------
- SDAPS -- recognize
-------------------------------------------------------------------
--
---------
6 sheets
################################################################|
100% 00:00:01
0.219686 seconds per sheet

without issue but the custom script throws an error.  Am I doing
something wrong?

[tkovacs@sunspot new]$ ./sdaps-recognize.py tenq tenq_scan.tif
Traceback (most recent call last):
   File "./sdaps-recognize.py", line 73, in <module>
     survey.questionnaire.recognize.recognize()
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 479, in recognize
     res = self.identify(clean=False)
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 465, in identify
     self.obj.sheet.recognize.recognize()
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 85, in recognize
     self.duplex_copy_image_attr(failed_pages, 'rotated', _("Neither
%s, %i or %s, %i has a known rotation!"))
   File "/usr/lib64/python2.7/site
-packages/sdaps/recognize/buddies.py", line 292, in
duplex_copy_image_attr
     second = self.obj.images[i + 1]
IndexError: list index out of range

Terrence Kovacs
Research Systems Engineer
Physics and Astronomy Department
Dartmouth College
Wilder 341, 603-646-9303



--
To unsubscribe, send mail to [email protected].

Reply via email to