[sane-devel] Parameter Default Values

Olaf Meeuwissen olaf.meeuwissen at avasys.jp
Wed Apr 11 09:10:16 UTC 2007

Kåre Särs <kare.sars at kolumbus.fi> writes:

>> Hmm, odd.  Can you provide more info?  Debug output, for example.
>> > Should I be able to assume that the default values are sane, or do I have
>> > to initialize the values myself?
>> The default is the identity matrix which looks sane to me.

I should have added that the epkowa backend also contains an ever
growing list of model dependent matrices in epson_scan_hard[].  Each
entry may specify up to four matrices, one for reflective originals
(paper, etc), colour negative, B/W negatives and colour dia positives.
IIRC, the B/W negative matrices are always the identity matrix.

> The interesting parameters are the opt(24) -> opt(32) lines.
> I have not written those values. Where do the values come from and what should 
> they be? if I set them (cct1-9) to "1, 0, 0, 0, 1, 0, 0, 0, 1" I get an OK 
> picture.

You originally wrote:
> The problem I have is that the default values for the color correction 
> parameters ('cct-1' -> 'cct-9') give me a yellow page (original is white) 
> when I write back the original value to one of the parameters. If I don't 
> touch any of the cct parameters I get a white page.

I assume you have checked that when you "write back the original
value" that that's indeed what gets set, right?
There might be endian issues and SANE_FIX/SANE_UNFIX confusion.

Another possibility is that your document covered some small area(s)
(outside of the regular flatbed area) used to calibrate the device.
Sorry, but I don't remember if the RX500/RX510 has these.

Finally, you're positive your application doesn't manipulate the image
data in any way, right?  Just want to make sure ;-)

> BTW today the image is quite fine even tho the paramete values are 
> quite 'magic' :)

Your debugging output quite nicely matches, within floating point
precision, the entries for the RX500/RX510.

> I also noticed that changing the film type when scanning with the transparency 
> unit changes these (cct) values.

See my first comment above as to why.

> This is the debug info from my application:
> - The "setValue" lines is when I want to set a value.
> - The "write data" lines is when data is actually written to the backend (only 
> 4 first bytes are shown).
> - The opt(x) line shows data read from the backend.

None of your setValue() calls seem to try to set one of the cct option

> opt( 2):'           mode', Combo = 'Binary'
> opt( 5):'        dropout', Combo = 'None'
> opt( 8):'gamma-correctio', Combo = 'User defined (Gamma=1.8)'
> opt(10):'     resolution', Combo = '300 DPI'
> opt(11):'      threshold', Slider V = 128
> opt(14):'          speed', checked = 0
> opt(15):'auto-area-segme', checked = 0
> opt(16):'short-resolutio', checked = 0
> opt(18):'red-gamma-table', Unhandeled
> opt(19):'green-gamma-tab', Unhandeled
> opt(20):'blue-gamma-tabl', Unhandeled
> opt(21):'wait-for-button', checked = 0
> opt(22):' monitor-button', checked = 0
> opt(34):'        preview', checked = 0
> opt(35):'  preview-speed', checked = 0
> opt(37):'           tl-x', Slider F V = 0.000000
> opt(38):'           tl-y', Slider F V = 0.000000
> opt(39):'           br-x', Slider F V = 215.899994
> opt(40):'           br-y', Slider F V = 297.179993
> opt(41):'   quick-format', Combo = 'Max'
> opt(43):'         source', Combo = 'Flatbed'
> setValue(QString): 'mode' ->'Color'
> write data=0x436f6c6f opt_number= 2 status=0, res=6data=0x436f6c6f
> setValue(float): 'resolution' value: 100.000000
> write data=0x64000000 opt_number=10 status=0, res=6data=0x64000000
> setValue(float): 'depth' value: 8.000000
> write data=0x08000000 opt_number= 3 status=0, res=6data=0x08000000
> setValue(float): 'resolution' value: 300.000000
> write data=0x58020000 opt_number=10 status=0, res=7data=0x2c010000

Hope this helps,
Olaf Meeuwissen             FLOSS Engineer -- EPSON AVASYS Corporation
FSF Associate Member #1962           sign up at http://member.fsf.org/
GnuPG key: 6BE37D90/AB6B 0D1F 99E7 1BF5 EB97  976A 16C7 F27D 6BE3 7D90
Penguin's lib!       -- I hack, therefore I am --               LPIC-2

More information about the sane-devel mailing list