[sane-devel] ICC support for SANE
Kai-Uwe Behrmann
ku.b at gmx.de
Sun May 31 16:55:12 UTC 2009
Date: Fri, 29 May 2009 09:56:16 +0200
From: Julien BLACHE <jb at jblache.org>
> Yes, but I'm not sure how well this is supported by frontends. XSane
> supports it but then saving in at least some formats goes down to
> 8bit.
PNG and Tiff can handle 16-bit per channel. The >= 8-bit version of Jpeg
is not so commonly used.
Date: Fri, 29 May 2009 17:32:51 +0900
From: Olaf Meeuwissen <olaf.meeuwissen at avasys.jp>
> Seriously, my point is that some SANE backends do fiddle with the colour
> before returning the image data to the frontend. TTBOMK the SANE spec
> has nothing to say on whether that is allowed or not, so the safest
> thing to assume is that it will happen. Whether that has any knock-on
> effects for ICC, I leave to the experts to decide.
Multiple ICC colour conversions are mostly bad. The typical conversions
are interpolations. In few special cases round tripping is ok. But this
will almost not apply to scanner profiles (or printer and most camera
ones).
Attributes to option names:
What would help to get things at higher API levels is tagging of
options according to their colour relevance. This allowes frontends to
automatically select a configured profile. One way could be to define
certain appendings to existing option names are to be considered as
attributes and not as as part of the option name itself. Lets say all
chars after a '.' point are considered to be attributes for
SANE_Option_Descriptor::name :
e.g. "sane_option_gamma_r" => "sane_option_gamma_r.colour"
This could then tell about the colour relevance of the hypothetical
"sane_options_gamma_r".
This could be suggested to allow more advanced stuff at higher API levels.
ICC in backends:
For colour matching in backends is not so easy to get through all
necessary informations. It is as well unfortune for a system, as having
to control in man places can easily fail.
To specify a path for transportation of ICC profiles from each backend
would increase the effort for all backend maintainers. So I guess it is
not a good route. (This does not touch the desire to transport ICC
profiles over the network outside of backend API's, even if that sounds
not Sane architecture friendly.)
kind regards
Kai-Uwe Behrmann
--
developing for colour management
www.behrmann.name + www.oyranos.org
More information about the sane-devel
mailing list