Pascal de Bruijn wrote:
Now I read my first 210 patch target (which worked excellently), and I'm wondering whether it has any merit to use -q m?
The way I tend to view it is that there's not a lot of harm in using a higher "quality" setting with a small number of patches (although there will be differences, good or bad), but that it's a waste of time using a very high setting with a small number of patches. -qm is a pretty reasonable compromise for "well behaved" devices (ie. devices that have a native response that it reasonably perceptually linear), and -qh if you're using a lot of patches and/or have a less well behaved device (you probably need more patches if it's a less well behaved device, or calibration may help), and -qu is something you use in desperation when nothing seems to be helping, just to prove that it doesn't solve your problem either. -ql is mainly to save time when doing simple checks, or making preliminary profiles with small numbers of patches.
And what if I do a 420 patch target, or 630 or 840? At what patch counts are certain profile quality levels sensible?
It's hard to say. For an "RGB" device for a real profile I'd use -qm as a minimum, and -qh if you crank the number of patches up to 500 or more. Typically for an RGB device you wouldn't go much beyond 1000-2000 patches unless you have a special purpose in mind (ie. proofing, an inconsistent or badly behaved device, etc.) For CMYK it's hard to have too many patches, with about 1000 being a minimum for a good profile, and 3-5000 being not unreasonable for a high quality profile. Some people have been known to run 10000 - 20000 patches with the right gear (and iSis say). The idea of pre-conditioning the test chart with a preliminary profile is really to wring out as much quality as possible given the number of patches you are prepared to print and read. With an instrument such as the ColorMunki it's reasonable to aim for a smaller number of patches given the practicality of the situation.
After inspecting a generated profile with iccdump, I can't make much of it: Input Channels = 3 (PCS=LAB?) Output Channels = 3 (RGB?) CLUT resolution = 9 Input Table entries = 512 Output Table entries = 512 That leaves the CLUT resolution and table entries... How do these fit together? Besides the interpolation between entries, how does a table lookup actually work?
For ICCV2 it's pretty simple. First each channel goes through the per channel input tables, then through the Multi-dimensional Color LUT, then each channel goes through the per channel output table. In the above example the per channel curves have 512 entries, the multi-dimensional color lookup has 9 x 9 x 9 entries. For the A2B table the input is RGB and output is PCS (usually Lab). For the B2A table the input is PCS and the output is RGB. Typically linear interpolation is used between entries, and Argyll profiles will all be using 16 bit entry values. For the multidimensional lookup there are many possible ways of interpolating within a cell. One is to use multi-linear interpolation (which ironically isn't actually linear for more than 1 dimension), or to break the cell up into smaller geometric pieces such as simplexes, which is often faster and uses linear interpolation. How these pieces interact is somewhat up to the profile maker. The input tables have the effect of both transforming the space in which the cLUT interpolation is performed, and also changing the position of the entries. Juggled well, the per channel curves can minimize the errors introduced by the relatively low resolution of the cLUT and the interpolation within each cell. Graeme Gill.