It might be worth adding a caution to the User Guide not to use the nominal 8-bit colorimetric values of the ColorChecker chart published by X-Rite to calculate the percent reflectance values of the tiles used for calibration, because they aren’t on a linear scale.  They must be converted to a linear percent reflectance scale for calibration.  The guide currently recommends measuring the user’s calibration targets against a known reference (ideally), but many users might not have access to the reference standard and tools for measurement, and instead rely on published ColorChecker colorimetric values for calibration.  Another possible option is to refer to the spectral measurements of the ColorChecker chart found in the ImageJ/plugins/Cone Mapping/Charts folder, but this would require calculating a weighted average of the reflectance measurements over the range of wavelengths for each channel, which in any case represent a unique ColorChecker target.

I calibrated a raw ColorChecker image using three of the neutral gray tiles (black, neutral 5, and neutral 8), and measured the percent reflectance of the ColorChecker chart using the function micaToolbox>Camera calibration>Measure chart.  As a check, I plotted the measurements of all 6 black, neutral gray, and white tiles against the nominal 8-bit sRGB colorimetric values published by X-Rite here:  https://xritephoto.com/ph_product_overview.aspx?ID=820&Action=support&SupportID=5159

I found that the initially calibrated raw ColorChecker image did not produce a linear response when I used the published colorimetric 8-bit sRGB values.  Instead, it was curving upward, with significant errors in the interpolated percent reflectance values of the black, neutral gray, and white tiles.  The source of the problem is that the nominal 8-bit sRGB colorimetric values published by X-Rite aren’t linear, and need to be converted to a linear percent scale to calibrate the image.  Once the nominal sRGB values for the neutral gray tiles used for calibration are converted to a linear scale, the calibrated image will also be linear.

For example, the nominal X-Rite sRGB colorimetric values for the neutral 8 gray tile are 200/200/200, which convert to 78.4 percent reflectance on a non-linear 8-bit scale (0-255).  Converted to a linear scale, the reflectance values for the neutral 8 tile are 0.5776 or 57.76 percent for all three channels (within the range of most of the spectral measurements in column 2 of the .csv file in the ImageJ/plugins/Cone Mapping/Charts folder).  I used an online color-space calculator (example) to convert the nominal non-linear sRGB values of the ColorChecker tiles to linear percent reflectance.  After I recalibrated the image using the linear percent reflectance values for the black (3.43 percent) and neutral 8 (57.76 percent) tiles, I got linear correlations >0.99 for the three sRGB channels.

Initial calibrated raw image of ColorChecker chart produced non-linear results
jolyon Answered question June 23, 2020