Filmic changes bright yellow to pink

Hi everybody,
noticed on some of my photos I decided to re-develop using filmic module that I get an unwanted color shift, namely bright yellow sun becomes pink, or light objects lit by moderately low sun got a pink tint. I suppose there is some errors in math involved…

Which Darktable version do you have? There is an open bug concerning the filmic module.

2.6.2

Using filmic assumes using calibrated camera sensor. Filmic manual https://eng.aurelienpierre.com/2018/11/30/filmic-darktable-and-the-quest-of-the-hdr-tone-mapping/#controls

explains where and why you might be getting color cast. mostly because of bad settings.

Yeah, I’ve read this article and quite sure that my settings are okay.
However I’ve played with it some more and here’s what I found.

  1. I’ve no color cast with chroma preservation disabled – colors seem to be accurate at 100% saturation.
  2. Setting saturation beyond 100% does increase saturation (however the article says it shouldn’t) and gives a strong yellow cast on values more than 140%.
  3. Enabling chroma preservation gives a noticeable cast: measured b/a ratio of yellow fragment with filmic off/on changes from ~5.5 to ~3.5 what obviously gives a pink tint. Also the light sky becomes greenish. So it doesn’t seem to protect the ratio (however measured in Lab space, but just the same) while the article states it is what chroma preservation about. Looks strange to me.
    So I’m still thinking there might be a bug in the math. I did not calibrate my camera but it seem to have been giving accurate results – except the filmic with chroma preservation enabled.

Is the sun clipped? Do you have highlight reconstruction on?

No. I’m talking about not clipped areas, like sunlit buildings.
And yes, I’ve highlight reconstuction always on.

What if you turn off highlight reconstruction?

No difference.

Is base curve on?
EDIT: … and welcome to the forum.

Are you positive they’re not clipped? I think they are, and their green component hasn’t been scaled to the display white like the other two channels.

I’m not that familiar with @anon41087856’s filmic module yet, but it sounds like the desaturation setting (??) needs to be adjusted to allow the green clipped data to join it’s red and green brothers in the “desaturation oblivion” to display white. I see this all the time in my sunrise images; if I expose toward the shadows, the blown portions have to be desaturated to remove the magenta cast…

Edit: posting your raw file would tell all, if you’re so inclined…

I can confirm your observation. It is true filmic does cast yellow color on 5500K sun-lit white/grey objects. And not just yellow, other colors too. This artefact made me stop using filmic. It’s good for lightness, but not for chroma.
My guess yellow-ish cast is caused by the nature of filmic itself. When ‘chrominance preservation’ is on, it remaps original RGB values on modified lightness, which of course gets colors out of the line.
Did I get it right @anon41087856 ?

Yeah, thank you!
Base curve is off, of course.

Sure I am. It happens not with only very light objects but down the line, too. Yet not on every shot, but on quite some. And it may explain the greenish tint on light sky but not how the yellows become pink.

Just avoid chroma preservation mode until the issue is solved. Overall I’m quite happy with the filmic module, for it allows me to to things harldly achievable with my usual workflow. For instance, I’ve Nikon 50f1.4D lens – a good workhorse from the film age. But because it was designed in 1995 and because Nikon is so lazy so it keeps selling it with all the original flaws instead of making mk II (that would be quite easy), it has a quite average coating (comparable with current Chinese chip lens) that introduces grayish veil that makes images look dirty. If I use base curve (that comes very early in a pixelpipe AFAIK), I could hardly do something about it. Saturating did not help, producing oversaturated yet still dirty colors))) It’s beyond my understanding, but that’s what I see. Otherwise it’s an outstanding lens that gives a very live, 3D picture – much more interesting that its successors, so I have virtually no alternatives to this lens.
In this situation filmic helps a lot, or I’d have to compress dynamic range with multiple hipass instances, or use shadows/highlight that produces halos, or in another much more complicated way.

I shoot mostly landscapes and color preservation is important for me. While delivering very nice luminance, filmic loses a lot on color part. Resuced chrominance values if on do not help to remove the color cast per se. So I switched to the tone-curve only workflow. Maybe filmic in this part needs some upgrade, but I just assume this is how it is supposed to work.

I am not a fan of chrominance (or whatever else it is called) preservation. It always seems to have trade offs in dt and phf. Not saying it can’t be fixed; just not very reliable. I would use color balance in tandem with filmic.

I’m also convinced that the math behind what is called “chroma preservation” is not correct, or at least the current math is not providing what AFAIK is the intended goal, that is to preserve the original chroma and hue of the colours.

I have tried to explain this in the past, and proposed a possible solution. You can see the beginning of the discussion here.
@paulmiller also arrived to a similar conclusion (see here and the following comments from him).

Not sure, but I think this has been fixed.
I did a few tests and this over saturation effect doesn’t show anymore.
image

EDIT: Something has definitely changed. Here’s the same raw @Carmelo_DrRaw has used in the post he referred to above, with the same settings he has used that produced a very saturated image:

Okay, this is good news, however what I suffered from wasn’t oversaturation but actually a color shift. Yet it might be all in the same basket (like oversaturation of a red channel, for instance). I think I shall try a git version and find out how it behaves. If the issue’s gone, I’ll have to stick to a git version until it is released… which is not I’d love to do but absolutely fair and fully acceptable. Will probably report more issues then)))

@Carmelo_DrRaw Thanks for the links, but I feel it’s a little too complex for me now, for I don’t have a clear understanding how the Linux CM works. However, I noticed one strange thing while trying to comprehend what was written. How I understood the discussiion, filmic tries to involve an output ICC profile in its math – that’s what I don’t understand. It’s not its business, is it? My understanding is that output profile is applied at the very end of the pixel pipe, and none of the other modules shall be aware of it at all? Am I wrong?

1 Like

This implementation of filmic is applied on the RGB model. But there are many RGBs! I guess that is why it requires an ICC profile.

Built a git version. Overall I liked the interface much more, however I wouldn’t say the color issue with filmic has gone.


This is a crop showing yellow cast without chrome preservation (look at the stone and faces)


This one with chrome pres on (faces are unnaturally red, stone has a pink cast)


This one is with the regular workflow: faces are of normal color (giving the light was yellow), stone looks like it was in the scene). Not to say that filmic destroys the sky colors in both modes (not shown on the crops).

This quick comparsion is not quite accurate, for I just copied the last stack from another shot so white balance and some other things differ, but it still gives the whole idea what’s going on with filmic color-wise.

Here is the RAW:
20170626_0028.NEF (28.0 MB)

1 Like