[OpenICC] Device Settings in ICC
Hal V. Engel
hvengel at astound.net
Mon Sep 4 12:02:17 PDT 2006
On Monday 04 September 2006 09:18, Kai-Uwe Behrmann wrote:
> Dear readers,
>
> as discussed some time ago and prepared on the ColourWiki pages I finally
> created a specification on how I imagine a ICC profile could include
> device driver specific settings.
>
> Goal is to allow easy checking of profile to device/driver matching and
> correct configuring of the device driver. The best matching profile can
> be filtered for a given device/driver combo. Thus the installation of a
> profile, including the new tag, becomes a simple file copy. Everything
> else is configured automatic by the tag.
>
> Technically it is a hybrid approach of well known and interpreted settings
> and a thumb part to keep the structure flexible.
>
> http://www.oyranos.org/wiki/index.php?title=Device_Settings_in_ICC_0.1
>
> I would, as allways, be interessted in opinions and suggestions.
>
> Target is to create an API in Oyranos to support the tag (writing,
> manipulation, searching), and to encourage device driver authors to
> provide the necessary counterpart API's (Gutenprint, Sane, dcraw ...).
> Possibly there is room to standardize corresponding driver API's for
> uniformity?
> Finally applications can adopt the system.
>
>
> regards
> Kai-Uwe Behrmann
I read the spec. and it has merit but I do have some concerns. Specifically
with "A profiler should ideally write the tag into the profile it self to
minimize error prone interactions." (edited to correct spelling and typos)
How is the profiler going to know anything about the device settings or what
specific device is being profiled? For example with input profiles (scanners
and cameras) the profiler sees an IT8.7, ColorChecker or HCT image that is
used to generate the profile but does not interact directly with the device
driver or device interface software in any way. Monitor profiles may be a
little simpler in this regard since the profiler does interact with the
hardware but also the device settings are subject to fewer changes by the
user. But printer profiles would appear to have problems that are similar
to input profiles in the regard. How does the profiler know what settings
the user used to print the profiling target for example?
It also seems problematic to write a UI dialog to allow users to enter this
information. For one thing the needed information would be different for
each type of device and could also be different for the same device types
with different drivers. Even if it proved to be not too difficult to write a
UI dialog for the profiler to allow users to enter this information that does
not solve the problem since the profiler would not have any way of knowing
what device was being profiled and would have no way to validate the
information entered by the user. Also it seems to me that the "driver
specific configuration data" and the "drivers signature/encoding" are
something that a user is very unlikely to know. So that means that there
needs to be a well defined device driver to profiler interface for passing
this information to the profiler from the device driver.
To make things even more problematic both open source profilers are cross
platform software that run on *nix, Windows and the Mac. A device driver to
profiler interface spec for *nix to facilitate getting the correct driver
information to the profiler would end up being a useless appendage on the
other platforms since it seems to me that the probability of getting the
writers of Windows and Mac device drivers to include this in their drivers is
near zero. If the interface is simple enough then this is only a minor
issue.
One possible approach would be for the device driver/device interface software
to write a file that contained the tag that the profiler could insert into
the profile without having to know anything about the device in those cases
where the profiler is not interacting directly with the hardware. Then the
interface for the profiler becomes fairly simple (ie. ask the user where the
device information tag file is located). Another possibility would be to
have some type of higher level interface in perhaps Oyranos or X.Org or ??
that would allow for the exchange of this information.
I would like to see more detail about this part of the spec. and I would be
willing to contribute to that effort. Being the maintainer of one of the
open source profilers I only represent one part of this interaction (and
perhaps Graeme has a totally different view of this than I do) and it would
be useful to have some input from those who support device driver/interface
software such as guten-print, DCRAW, xsane, UFRAW and others since, it seems
to me, that they would have the burden in creating the tag data and would
also stand to gain the most from such a system. After all the profiler is
basically a middle man in this process.
Hal
More information about the openicc
mailing list