Scan Area & Origin (4.5.2)

Nem W Schlecht (
Thu, 13 Mar 1997 12:22:10 -0600 (CST)

I have a question relating to the origin and the scanning coordinates.
My scanner is a little odd (I think) in that the lamp is in the front of
the scanner. ie: (bad ascii drawings)

---------- Lid
o-------o |
/|\ |\ v /^\a
| | \ | \ |
| | \ | \ |
| | \___+___\ | Scanning goes this way
| | | |
| |_______|
|/_______/ <---- light element here when scanner idle

Now... my origin is located, in what I consider to be the front left side
(marked with 'o'):

+-+ +-o
Mine | | HP | |
o-+ +-+

The rulers and a big red arrow both correspond to this. On one of the HP
scanners here that I looked at, the origin in is the back right side (but
the element is stored in the back also).
Now to the actual question.. I noticed in section 4.5.2 of the SANE
Project docs that the origin is specified as the back left corner. I have
no problem with converting scanning co-ordinates or changing bits around
for BW/Halftone scans, but I'm wondering if this should be somehow
corellated (sp?) to where the light element and CCD array start from.
Otherwise, whenever I scan in something from 0x0 to 2x2, my light element
has to travel all the way to the other side and then back again.
I'm probably being *way* too picky about this, especially since having a
preview window will let the user do whatever they want, but it is kinda
odd. (BTW - I have to put pictures/etc in my scanner upside down, with the
top of the picture facing me when I place it in scanner. I already have
most of the code to switch it around done, though).

I have BW/Halftone/Greyscale (Color still not working) scanning now
working on my SGI and Scanpaq SQ2400 (this is still with mtekscan - once I
get this working, I'm going to start on my Microtek backend for SANE). I
think I'm really close to finishing up `the now named' sanei_scsi.c for my
One other question - the SCSI code is quite different for my machine, and
I'm guessing it's going to look pretty radical with the ioctl() calls that
I'm going to have to do under Digital UNIX. Are we going to try to keep
this all in one file and use preprocessor commands, or do something where
we have a "scsi" directory, and we make a sym-link to the proper scsi
module, naming it "sanei_scsi.c". Something to think about...

Nem W Schlecht        
"Perl did the magic.  I just waved the wand."

Source code, list archive, and docs:
To unsubscribe: mail -s unsubscribe