Date: Fri, 29 May 2009 09:56:16 +0200 From: Julien BLACHE <[email protected]> > 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 <[email protected]> > 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
