[argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles
- From: Graeme Gill <graeme@xxxxxxxxxxxxx>
- To: argyllcms@xxxxxxxxxxxxx
- Date: Mon, 20 Mar 2006 00:29:28 +1100
Milton Taylor wrote:
Having created an apparently -qu [i.e. high quality] LUT profile for my
film scanner, it reports a very low avg dE (around 0.3) for the IT8
target slide. This sounds pretty good to me. (The peak was about 3).
With the currently available release of Argyll, it is probably advisable
to specify a fairly high level of smoothing, by using -r 1.0 or so.
The next version will have better defaults in this regard, and
shouldn't usually need a -r parameter. This should result in a smoother
profile with a higher self fit dE.
But is there any way to verify the 'smoothness' of the profile? In
particular, I'm thinking about the discontinuities that might exist in
the LUT tables.
The interpolation algorithm doesn't really allow discontinuities,
but it can have "overshoot" or "ringing".
This thought came to me whilst profiling my cheap and nasty Canon i865
printer using the 'poor man's method'. (Using my Epson 2450 flatbed as a
'colorimeter'). After profiling the printer, again as a high quality LUT
profile, I printed a scan of my IT8 reflective target, and was very
amazed at how close the print is to the actual target visually.
However, I then printed a different sort of test chart from Norman
Koren, both through the new printer profile and also straight to the
printer as raw unmodified RGB. (The chart is at
http://www.normankoren.com/Stepchart_large_HSL.jpg)
The one that went straight to the printer was interesting. The hues are
not evenly represented in terms of their 'share' of the 360 degree hue
spectrum. Yellows and cyans are quite skinny compared to blues, reds and
greens. However, at least it came out with very even colour progressions
and shifts in the Hue/Sat and Hue/Light charts. The colours are of
course just reflecting raw RGB inputs, so I would expect it to look
smooth, even if these are non-managed colours.
Actually, it's not something you should expect would always come out
smooth, because the printer isn't an RGB device, and (assuming Canon isn't
using a simple 1.0 - RGB type conversion to CMY), mapping the RGB gamut
onto the quite differently shaped CMY(K) gamut, while maintaining
some degree of absolute and relative color matching, together
with smoothness, is not that easy.
However, when printing the same chart through the new profile, (using
sRGB as the assigned source profile), the result looks pretty awful.
There are clearly serious discontinuities in the LUT tables, as you can
lots of banding and distinct edges and steps at numerous points in the
HSL charts.
It depends rather critically what intent you were using, and what source
gamut the profile was setup for. To have a hope of a smooth result for
the sort of "RGB rainbow" tests in the above chart, all this has to
be right. (The printer is effectively using a device link when it's
running in "RGB" mode, so that it can get it right.)
So, you need to generate the profile using -S srgb.icm (or -s srgb.icm),
and then have srgb.icm as the source profile, and use perceptual
intent for the destination (printer) profile when converting the test chart.
(or you need to convert using a device link with the right intent).
Now, assuming you did set it up this way, it might still give a
disappointing result. The "rainbow" tests are pretty tough, and
not often reflected in real world images, since the rainbow
is the surface of the gamut, and few colors in a real image
are on the gamut surface. All I can say is, that this particular
aspect will be much improved in the next release of Argyll,
since it's something I've been working on.
Generally the result through the relative colorimetric intent
will produce banding type artefacts, due to the effects of gamut
clipping. You shouldn't expect smoothness for any intent except
perceptual. Even saturation may be a bit bumpy at the source gamut
surface, since it prioritizes saturation over other qualities.
Now of course, this could be due to:
(a) It being a cheap printer, with 3 dye-based inks plus photo black
(b) It being an RGB interface
(c) Using the flatbed scanner to profile the printer
All these factors can of course, exacerbate banding effects.
So here are my questions:
1. I assume a LUT approach is always going to show discontinuities in an
HSL chart like this. Is it something to be overly concerned about? Am I
seeing something here that is much worse than normal because of (a), (b)
and (c) above? I imagine it would be a problem if you were printing
anything that had a smooth gradient in it, like a skin tone or a blue
sky...I'm sure unwanted banding would be the result. I once saw this
happen on some lab proofs from a commercial colour lab, and they
couldn't explain why it happened. But I think I can now!
It depends a lot on whether this effect is confined to source gamut
surface colors, or whether it also occurs for blends of in-gamut colors.
2. Do commercial inkjets (such as Epson 7800, 9800) use LUT profiles or
shaper/matrix? (When I softproofed the Koren chart in Photoshop using
the Epson printer profile it looked pretty good to me).
They will all use LUT type profiles (or their equivalent) since they are
all CMYK/subtractive devices. A matrix only gives reasonable accuracy
for additive devices.
3. How much better would the result be if I had measured the printed
charts with a real spectrophotometer?
Possibly more accurate colorimetrically, and possibly smoother if the
limitations of the scanner & scanner profile are quantizing the
patch values, or adding noise to the readings.
4. How can I be sure that my film scanner profile doesn't show similar
disturbing discontinuities...is there a way to visualise this? Once
again, I'm worried about banding when it's scanning anything with a
smooth tone progression in it. Perhaps I should try making a
shaper/matrix profile for it to see what that produces.
You could try running a similar "rainbow" test chart through the
scanner profile, and see what sort of effects you get in the output.
It is a bit difficult separating where an effect comes from though. Is
it in the scanner profile, or in the way the output colors are being
represented on the display ? You wouldn't expect any sort of color
accuracy with this test of course, unless you had a way of
converting back to the scanner colorspace without introducing
banding effects.
5. Why is it not possible to produce a shaper/matrix profile for an
output profile? I assume it would have to be CMYK so that the real ink
channels were being directly controlled by the printing application.
You can attempt to do so for a printer that emulates an RGB device,
and if it's emulation was very very good, and it compressed the gamut
sufficiently to emulate an additive device (leading to a poor gamut),
the matrix might fit reasonably well. But if the emulated RGB
at all reflects the behaviour of the underlying CMYK printer and
its gamut, the matrix will be a very poor fit to the device
(ie. 10+ delta E errors is the sort of thing I'd expect).
Graeme Gill.
Other related posts:
[argyllcms] Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles [argyllcms] Re: Verifying profile quality of LUT-based scanner and printer profiles