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