[argyllcms] Re: Yellow-ish rendering of greens out of bounds

  • From: Graeme Gill <graeme@xxxxxxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Fri, 19 Feb 2016 19:04:44 +1100

Derin Korman wrote:

Hi,

The jpeg2000 file linked in the dropbox had the source image untouched
(prophoto), 

Sorry, I don't have anything that understands jpeg2000
(all those patents have crippled its adoption.)

I had made a second jpg from it in the second mail thinking
maybe people don't respond when they need to download.

Right, and that's the image I mentioned - it doesn't seem to
be the original.

Anyhow, to be clear again here is a tiff file that has, in order:
-the source (as is, the file is 16bit ProPhoto in the first place)

-converted relative colorimetric in photoshop using the argyll profile,
then converted back to prophoto to merge into the file for visual comparison
-same as above but using an i1profiler generated ICC profile from the same
spectral data(basiccolor, profilemaker etc yielded similar if not same
result)
https://www.dropbox.com/s/1a1ubkyd8yt3sad/argyll_greenyellowdemo.tif?dl=1

I attached the strawberries for the deep red issue, visible as a
delineated/banded shadow region.

I'm afraid you'll have to point out what you think is a problem there -
if I compare the original (converted to my display using PhotoShop's
default colorimetric), the resemblance to the Argyll Perceptual
results is very close - i.e. the original has the change in hue
towards purple in the shadow region, and Argyll is faithfully
reproducing it.

i.e. the hue angle is better preserved by Argyll (rough
values):

Image          Just outside shadow      Just inside shadow
Original        35 61 50 = 39º          14 51 21 = 22º
Argyll          41 59 44 = 37º          24 49 19 = 21º
i1Profiler      36 59 45 = 37º          20 40 21 = 28º

Perhaps the difference here is that Argyll is lightening it up,
to better preserve saturation, and this is making the purple in
the original more obvious than i1Profiler, which has lost
significant saturation.

The greens issue is self evident. I left
the layers intact in case you want to stack them for a quick visual
comparison.

I don't get the same result with the following Perceptual workflow and V1.8.3:

# Create quality A2B profile for devlink creation
colprof -v -qh -bl printer

# Create image gamut
tiffgamut -f80 -pj -cmt -w ProPhoto.icm image.tif

# Create perceptual link
collink -v -P -qh -G image.gam -ip -cmt -dpp ProPhoto.icm printer.icm 
image2PrinterP.icm

# Convert
cctiff -e printer.icm image2PrinterP.icm image.tif imageArgyllP.tif

The green patch has a source value of  L*a*b* 87 -89 91  h = 134º
The Argyll perceptual rendering result L*a*b* 74 -46 64  h = 126º
i1profiler result                      L*a*b* 73 -49 67  h = 126º

The source is a greeny-yellow color (green has a hue angle of closer to 180 
degrees).

This is a shift of 8 degrees towards yellow, which is a result of the
mapping attempting to preserve a smoothness and also preserve the
saturation of yellow, but the i1profiler result is barely different
in this regard.

The gamut mapping weightings can always be argued about - higher hue
angle weight and lower cusp mapping of yellow will preserve the hue
angle of this particular color more accurately, at the cost of saturation,
particularly for yellow itself. Subjectively I think Perceptual looks OK,
but I'm open to feedback on whether hue angle and lightness preservation
should be more heavily weighted, at the cost of saturation.

As for the Relative colorimetric result - I think there is a mismatch
of expectations. Current ArgyllCMS colorimetric mapping clips to closest
color. It doesn't maintain lightness or hue angle outside the gamut, just
minimum delta E. Although the ICC profile format has no specification for
the clipping behavior, historical precedence (i.e. in PostScript) is that
it should clip to the closest color. This is important for usages such as
matching spot colors, something the colorimetric table gets used for in its
Absolute Colorimetric guise. Clipping to closest moves that particular 
green/yellow
towards yellow hue.

I've noted before that there is an expectation amongst some users that
colorimetric intent maintains constant hue angle and possibly luminance,
clipping only saturation. I have been contemplating making this an
option in Argyll (maybe the default), but there are a number of intrusive
modifications needed to do this. Until that time, you might prefer to use
Argyll's Luminance Preserving Perceptual intent (-i lp), which preserves hue 
angle and
luminance at the expense of saturation. The result is somewhat less colorful 
though.

Cheers,

Graeme Gill.

Other related posts: