Roger Breton wrote:
What I need is a destination profile that does not modify the sources RGB values. So, I guess inside a TRC/matrix profile, the TRCs have to be linear and the diagonal in the matrix must all be 1s and the rest of the matrix terms be 0?
Roger, a destination profile never sees the source RGB values, so there is no way it can modify/not modify them. The destination profile just gets PCS values. If you use the same matrix based RGB profile back to back, the internals of the matrix and the TRC's is largely irrelevant, as long as it is functional and assuming the intermediate PCS representation doesn't quantize things too badly. So something like sRGB / AdobeRGB etc. is probably the safest.
It's actually rather the contrary I need to do. This is a Windows driver and I don't have a choice of the "printer" profile (Destination). It's the Source profile that I have control of.
Do you, or do you not have a choice over the printer/destination profile ? If you don't, then why are you bothering with the printer, since you obviously can't actually use any device profile that you create for it ! (at least, not unless you're hoping to do the color management separately to the printer driver.) I guess that the biggest issue may be simply that the printer driver may be overly fussy about what sort of RGB device profiles it accepts. If (for instance) it insists that they have to be Output class profiles, then none of the usual RGB matrix profiles will be recognized, since they will be Display or Colorspace class. It is possible in principle to create an Output class matrix profile using the CLUT machinery, but it would take some fiddling around to do so. A crude equivalent using the current Argyll tools would be to create a large number of test points (say 10000) using targen, then use fakeread to create (say) an sRGB "device" .ti3 file, edit the .ti3 and change DEVICE_CLASS from "DISPLAY" to "OUTPUT", then use profile to create a colorimetric table only profile to use as the input and output space. An XYZ PCS clut type may be the most accurate for this purpose (profile -ax). (Beware of AdobeRGB, it's green colorant lies outside the ICC Lab PCS encoding range, so you shouldn't use it in anything that could possibly be converted to ICC range Lab). You may have to register the profile with the printer driver before the driver will give you the option of using it.
There, I think the problem is different as I don't see how I could short-circuit that transformation or prevent the conversion?
If there is no magic flag, source profile = destination profile is it.
The more I think about this the more I think that this will nor work because I'd be profiling on top of an existing profile.
If you're dealing with device values, there is no such thing as "a" device profile, they are always profile pairs. Graeme Gill.