Gee, you sure know how to get to a guy…
At first I thought, ‘well, this isn’t such a challenging image, the background is one smooth hue.’ Well, inspection of the nut edges debunked that, so I set out to see what could be done with profiles. First, here’s the image color-transformed with just the libraw-supplied matrix:
I use the matrix profile as a colorimetric baseline; the color gradation may be borked, but the hue should be close to what was presented to the human in the scene. Note that this is the linear data, with only the output application of a sRGB gamma. Any attempt to insert a filmic curve really screwed with the blue hue, pulling it to cyan (troy_s, if you’re listening, here 'tis…) Yep, the nut edges have a distinct ‘border’.
I first looked for a SSF dataset for the Sony A7II, no joy. So, I decided to exercise the dcamprof gamut mapping behavior, where it’ll allow one to apply a LUT that’ll non-linearly pull camera colors into a specified gamut. This is probably the same thing being done in the dt gamut compression, but in my case will be done in the same operation as the transform from camera to display space. So, instead of
-p matrix in the
dcamprof make-profile command, I used
-p xyzlut -t linear -g adobergb-strong. The xyzlut to do a A0toB0 LUT instead of the matrix, -g adobergb-strong is Anders’ starting recommendation to use AdobeRGB as the destination gamut, and -t linear because you apparently have to specify it with the -g parameter instead of getting as default. Here’s the result:
I think those hues in the nut edges have a better transition now. But, I think there’s a slight shift in the overall blue hue; I may have to load this into one of those slider comparision things.
In those oh-so-insightful dcamprof docs, here’s the link to the appropriate passage:
Edit: the dcamprof docs describe gamut compression in the make-dcp operator, but the same switches work with ICC profiles.