Nikolay Pokhilchenko wrote:
After some considering I found one reason for introducing that switch: in many cameras the ADC after the color sensor is only one for all channels. The color subpixels charges are digitized by one the same ADC sequentially. So there is no difference in non-linearity between all channels in RAW file data. There may be sensitivity mismatch between color subpixels (white unbalance) but there will be full match by sensitivity curve shape. So for the cases with known camera ADC design, the single curve (may be corrected by sensitivity factor) for all channels will be useful. The optimization assuming channel curves equivalence may be more reliable and pricise. There is no other nonlinearity sources in camera except common charge amplifier and ADC. The written above is right only for unprocessed or unified processed RAW channel data.
I'll have a think about it, but I'm unconvinced. Due to subsequent white balancing, there is (typically) no particular relationship between equal RGB values in the raw data. The values that make up grey will be at different points on the curve for each channel if each channel value is scaled by a factor to get white. In an ICC profile based workflow, the RGB values aren't rescaled in any case - the RGB is converted to PCS via a chromatic adaptation matrix that maps the chosen white (typically the white patch of the test chart) to D50 in XYZ space, and then from PCS to the device output space. This process usually means that non-equal RGB values map to PCS grey. The device curves of the profile are not there just to compensate for device non-linearity, they are there to optimise the accuracy and smoothness of the device model. They in fact have two independent effects for a CLUT profile, firstly positioning the grid points in the input space, and secondly affecting the way the interpolation behaves within the CLUT cells. The optimum values for both of these aspects depends on the related output (PCS) values, and therefore may be different for each input channel and for the choice of PCS (XYZ or Lab). I can imagine that there may be some smoothness and accuracy advantage in using the same device curves for all channels if the camera is white balanced pre-ICC profile to the white reference in the test chart, this being the reference used for the absolute->relative transform made for the ICC model data. This situation would be rather camera/raw processor/ operator specific though. I would have thought that genuine raw output wouldn't have any white balancing done to it though. Graeme Gill.