K?re S?rs <kare.s...@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 values. > 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 [snip] > setValue(float): 'resolution' value: 100.000000 > write data=0x64000000 opt_number=10 status=0, res=6data=0x64000000 [snip] > setValue(float): 'depth' value: 8.000000 > write data=0x08000000 opt_number= 3 status=0, res=6data=0x08000000 [snip] > 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