[sane-devel] Re: Affordable film scanner supported by SANE

Karl Heinz Kremer khk@khk.net
Sat, 22 Mar 2003 10:57:44 -0500


--61jdw2sOBCFtR2d/
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Wed, Mar 19, 2003 at 08:44:51PM +0000, Major A wrote:
[ ... ]
>=20
> The rest is not that simple... ICC profiles work by applying a LUT to
> each channel, then transforming with a matrix, and finally applying
> another set of LUTs. This can all be done in the frontend, but it
> would be possible to optimize things a bit:

Not necessarily: It is possible to have ICC profiles that only contain
a matrix ("matrix shaper profile").=20

>=20
> 1. The first LUTs can be done in hardware by the scanner. This makes
>    sense because most of the time they serve the purpose of
>    linearizing the incoming data in terms of perceived colour -- that
>    means, we could probably afford to only obtain 8-bit data from the
>    scanner, which would speed up scanning.

This is correct: In order to accomplish this, we need to take the ICC
profile appart: We have to split it into a part that can be done in=20
the scanner via the hardware LUT, and a portion that is done in the=20
frontend.=20


>=20
> 2. Exposure can be incorporated into the first LUT. This would avoid a
>    LUT that discards the top (bright) end of the scale, therefore not
>    making ideal use of the CCD's noise performance.

That is if the scanner actually supports an exposure control. The scanners =
I=20
deal with (EPSON) don't expose this control.=20

[ ... ]
=20
> As of programming, there are basically two choices if you want an
> open-source colour management system: lcms (which seems to have
> evolved into a standard library, it's part of Debian as well), and
> gcms, which nobody seems to actively use. The advantage of the latter
> is that the developer is on this list (me that is).

The advantage of the first one is that Marti is an expert as far as color,
color management and ICC profiles go. LCMS is part of all major Linux
distributions and is used by e.g. ImageMagick. This means that there is
quite a bit of testing done on the lcms code, which probably is not
true for gcms. My vote is for lcms, even though we have you on the list.
With your gcms background, you should be able to pick up the lcms
functionality without any problems (that is, if you want to get into
this CM stuff in Sane at all).

>=20
> To summarize, I think these changes are necessary:
>=20
> 1. new API function(s) for providing ICC profile data through the SANE
>    protocol. This would be good because then a backend would have
>    access to its own profiles and supply them to any frontend, even it
>    the frontend runs on a different computer.

If we want to keep this compatible with the net frontend, this is a hard
requirement.=20

> 4. ideally, we also want a (SANE-independent) tool for creating
>    profiles based on scans from calibrated targets.

This can be done with the lcms profiler, with Scarse and with Argyll.

Karl Heinz

--=20
Karl Heinz Kremer                                  khk@khk.net
PGP Key at                 http://www.khk.net/download/khk.asc
EPSON Sane Backend:                         http://www.khk.net

--61jdw2sOBCFtR2d/
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)

iD8DBQE+fIf4xejv3RfKrhsRAohEAJ96QsdJz+ZhZoQQGsdjnhXlZqlpzACgl+NB
wOJePK5tILXSuRu8qELUV3c=
=GuDV
-----END PGP SIGNATURE-----

--61jdw2sOBCFtR2d/--