Oh! this printer had already been "linearized" by BestColor (v4.x) by densities.
Do you know if the "linearized" stops at maximum density ? Or does it continue to device input maximum ?
So, how does one work around this? if we want to represent such curvature it's not enough to add more and more patches to the target. We also need to address the grid resolution problem, and as we can't have a variable-resolution grid in the pcs->device table, the only way I can see is by proper linearization.
Actually you do have a sort of variable grid resolution, that's part of the effect that the per-device curves have on the profile. It's not terribly specific though.
But, would it be enough to linearize the primaries? ideally we would want to linearize secondaries too! So maybe a combination of two profiles, one abstract one (or more properly said, device link) to perform such multicolor linearization, plus another one created from a target printed through the linearization, would work? Or maybe it boils down to how linearization is performed?
It's hard to say without specific information. If the linearisation has poor targets, or isn't smart enough to stop at the maximum density (minimum L) for the channel, then maybe better per-channel linearisation would improve things. Certainly we rarely came across devices that we couldn't get a handle on using the calibration system I created for the Colorbus product.
I'm not sure how an abstract profile would help. Perhaps you mean device to device link, so that it can be applied to the device values going into the profile, but then it would have the same grid indexing issues that the profile itself has :-)
I've seen RIPs linearize by density; I find it gross given that density is related to a constant-hue colorant, which is not true for current inkjet and even less when they combine Lc and C (or Lm and M) together in one value.
Density is quite appropriate in many ways. Density measurements are intended specifically for process control, and this is exactly that, a process control issue. Most colorants have broad enough filter characteristics that something like status T will hit it somewhere where it's sensitive. The most critical alignment is in the Yellow (which is where the different status's vary the most), and you don't have a Light Yellow problem. You probably don't want a linear density curve as a target, but I can assure you that a fine calibration system can be implemented using density measurements.
Other RIPs linearize by L* value; and what the heck do they do with yellow, whose lightness changes are so small that they could be confounded by instrument error?
It's always puzzled me. If I were implementing a calibration system using a colorimeter or spectrometer, then I'd figure out the vector in Lab space that has the greatest length for each colorant, and use that as my direction to measure the colorant response (ie. maximize the signal to noise ratio).
I would find it more appropiate to linearize by first derivative; a constant dE between each step, regardless of whether it's caused by a change of lightness, hue, chroma, or any combination of them. But that would fail to properly follow the curves and hooks, where it won't place points closer as it should. So what, second derivative? I've seen one or two RIPs claiming "spectral linearization"; what do they mean, I don't know.
A more sophisticated version of my "vector of maximum response" would be to try and bend it with the colorant response. I'm not sure if that would actually result in a useful improvement though, after all, it's not the colorant we're interested in, it's the resulting visual response. I would guess that "spectral linearisation" (from the name) is using a spectrometer as a variable densitometer, ie. locating the spectral band where the colorant has most effect, and using that to evaluate it's response (I could be wrong though).
substracting spectra (kind of sample_spectrum=paper_spectrum*paper_area+solid_spectrum*ink_area where paper_area+ink_area=1); I even tried adding a third area, "fringe area". No way. Nothing fits. I guess the measurement errors by individual spectral bands are potentially unmanageable.
I guess one solution is to forgo the typical profile, and just use icclink -G ; that would at least take care of the grid resolution problem.
Ah - I wasn't sure if you were talking about the grid in the A2B table or the B2A table. If you were talking about the B2A table, then substitute "per PCS channel curves" for the above comment about variable grid resolutions. Certainly directly inverting the A2B improves accuracy and reduces artefacts to a quite noticeable degree.
of the perceptual space remains at large. If I still had the math skills I used to have when in college (I'm only 40, but unexercised in math) I would dream of a space transformation (Jacobian?) to make device space fit more regularly into perceptual space.
Part of the idea of the ICC profile format (particularly the V4 format) is to add some extra machinery to improve the accuracy of the profiles. There is a matrix mechanism, and in ICCV4 there is another set of per device curves between the matrix and the CLUT. What you can do with this mechanism, is not something I've explored at all, although I know other people have begun to do so (HP).