[sane-devel] ICC support for SANE

m. allan noah kitno455 at gmail.com
Mon May 11 13:40:43 UTC 2009


On Sun, May 10, 2009 at 8:23 PM, Yiannis Belias <jonnyb at hol.gr> wrote:
> Hello all,
>  Let me introduce myself. My name is Yiannis Belias, I'm from Greece and study physics
> at the University of Athens. This summer I'm also a GSoC student with the OpenICC project[1].
>  My job will be to help integrate the image acquisition part of the graphics work-flow,
> that is SANE[2] and gPhoto[3], with the Oyranos color management system[4].
> The most important part of that, is for color management aware applications to be able to
> get the relevant ICC profile(s) along with the scanned image. At this point there is
> no such option offered by the SANE API, so eg. `scanimage' and `XSane' depend on user input.
> So, I would very much appreciate your help/support/input on how you would want to see this
> implemented on part of the SANE project. Maybe you already have ideas you want to propose,
> like a SANE API extension, etc.
>
>  To make things a bit clearer for me, I have put some drawings of the color management
> relevant work-flow on my blog[5]. Please, take a look and tell me what you think, or leave a comment
> and I will update the posts accordingly.
> Sane work-flow: http://orion.freehost.gr/current-sane-workflow
> Getting h/w, configuration info: http://orion.freehost.gr/sane-hw-info
> Application using Oyranos: http://orion.freehost.gr/oyranos-workflow

I hope you dont mind pulling some of these discussions back to email,
I personally find that easier that checking different blog entries to
see if someone else has a comment.

First I want to say welcome. Second, we will help you where we can,
but you already know more about ICC than many of us, so you will have
to lead the way.

On your blog posts, I think your list of how to get device
identification is good except for a few points-

1. I dont think the connection port matters, and particularly with usb
devices, that information can change every time the machine reboots.
It is also not universally exposed in the SANE_Device struct, since
some drivers put other unique info in that spot.

2. I think the serial number matters, but you usually wont get it.
Many machines cannot report their serial numbers, and so the driver
cannot give it to you.

3. there is a version number exposed by the backend, but only as a
param of sane_init()

4. You should not make assumptions about which driver options might
change the output of the machine. Brightness/contrast/gamma are
common, but others might include exposure, or black level, or even
some sort of dynamic algo done by the scanner itself.

5. you might also want to adjust your work-flow drawing to show the
SANE backend between the scanner and the SANE API.

There has been some discussion of making a modified version of the
SANE API, perhaps if you can outline the benefits of ICC support, you
might get some buy-in to adjust it to your needs...

allan
-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list