Hi Michael, That took me quite a while to think through, I'm stll not ready with everything yet. I think we need some kind of a document that accumulates all we have come to know. Maybe we should also try to agree on the names we use. I'm trying to compose it, but: not ready yet...
What surprises me is the difference you discovered. I attach my INQUIRY response so you can check if there are more differences except for byte 74 (which equals 0x30 for the Crystalscan scanner). I would not expect large differences. Perhaps it is only a small change in the use of bit 3 in MODE SELECT byte 9 ("required speed"). If I send 0x02 (instead of 0x0a) to the scanner for quality mode, COPY gives an error, and REQUEST SENS gives 70 0005 000000000600000000 2000 = ILLEGAL REQUEST, INVALID command OPERATION CODE. Would it be worthwhile to check for differences in more detail, for example in the startup sequence? I think it's probably best to continue focussing on the SCSI-DC command. It seems logical to have exposure time, gain and offset for the R, G and B channels, and for "quality" mode your experiments show where they are in the 23-byte sent by the DC-command. But the "normal"-mode results are strange. You are right about the very dark scans I get (the raw data, Cyberview corrects for this). But it is strange that "normal" mode seems to do away with all pixel values in the lower half of the dynamic range, and expands the upper half (by a factor 2). That is what seems to be happening in "normal" mode, isn't it? We should check if we are missing context. Could it be that some of the unidentified 0xDC-information sets a shadow-highlight range of 50% to 100%? Might "normal" mode work by simply setting this range? Maybe the DC-information is interpreted by the scanner depending on the modes ("startup" mode (0x00) with very simple settings, a "normal" mode (0x08) with more parameters, and a "quality" mode (0x02/0x0a) with the most extensive parameter set.) Did you experiment with byte 15 (after the RGB-gains)? I notice 0x00 switches off the light during a scan, and non-0x00-values turn it on. I do not know if it is more than just switch on/off, but if we can specify the light intensity, we have an extra parameter to consider. Did you find a relationship of the exposure time specified in the INQUIRY reponse (min 100 max 2500) to the range you find? I do not see a factor 25 between min and max? The (almost) exponential gain curves look like ones I found in datasheets (e.g.http://focus.ti.com/general/docs/lit/getliterature.tsp? genericPartNumber=vsp3100&fileType=pdf). Having an analytical description is nice, but not absolutely required; a look-up table for the relationship between the gain parameter value and the actual gain will also work. This table can be derived from your experiments, I'll describe how in the reference document. I have made a small program to communicate with the scanner outside of SANE, because I found I sometimes needed some more flexibility. I intend to use it for documenting my experiments as well, so I'm thinking of adding a facility to run the experiments based on a text script. If I see what is still asking for an explanantion, this effort may be worthwhile. Yours, Jan ________________________________________ From: Michael Rickmann [mric...@gwdg.de] Sent: Wednesday, May 18, 2011 6:47 PM To: Vleeshouwers, J.M. Cc: sane-devel at lists.alioth.debian.org Subject: Re: [sane-devel] Reflecta ProScan 7200 Hi Jan, now what I found. < huge snip > Regards Michael -------------- next part -------------- A non-text attachment was scrubbed... Name: INQUIRY.dat Type: application/x-ns-proxy-autoconfig Size: 184 bytes Desc: INQUIRY.dat URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20110526/5a6aa4d3/attachment.dat>