Filmic changes bright yellow to pink

There shouldn’t be errors in the math, that’s due to the hue preservation. Even Rawtherapee shows the same behaviour using the hue preserving curves (film-like)

Standard rgb

Film-like

As I have mentioned in the other thread, there will always be interactions among channels. Therefore, any attempt to manipulate tones will inevitably mess up the colours. When you factor in colour space and models, and assumptions that you have to make in how to separate colourfulness from luminance, you are in for a lot of variation. The unsatisfactory answer is that we do our best but it depends on what I just wrote and it depends on the input image.

That is why people like to dream about and create images using machine learning. In that setting, you have a lot more data on your hands to determine what would constitute the right colours but at the same time it won’t output radiometrically accurate results, just expected values.

2 Likes

I wouldn’t call it “hue preserving” because it obviously is not such. The Standard RGB one you provided is much more accurate in color rendition as you can see. And it is much better than both of my filmic attempts. Maybe I can get decent results by shifting color temp toward blue with chroma preservation off, but this would take more fiddling than not using filmic at all (and most certainly will spoil other colors). What a pity – initially I liked filmic and was glad it showed up. Well, maybe some solution will be worked up with the color rendition at some point…

What’s wrong with Lab space then? Why not using Lab?

The light in your examples looks extremely yellow… To me it makes sense that they turn yellow/red. If you white balance for that color or light, I think it’d get better.

Sure it is. The sun went bright yellow under the atmospheric conditions. That’s what the shot is about. And that’s why it’s difficult to develop. (Actually there was also great double rainbow at the moment I saw the scene, but crossing two roads to get to a shooting position took few minutes and the rainbow had almost gone). But the unusual light was still there, so two attractions turned one.

Twp things I’ve noticed about filmic: you need proper white balance and a good exposure. If you’re set to daylight for white balance with preserve chroma on, these are the results I’d expect. The light is yellow, so everthing gets saturated yellow. The direct sun puts lots of those tones in the lighter part of the tone curve, so when preserve chroma is turned on, it goes BAM! Colors.

Yeah, probably this particular shot is where filmic would fail, while I played with it a few days and sometimes got better results than when using a standard basecurve workflow. That’s what makes me think there’s something wrong with the math (or rather, with the approach to color processing). And at some conditions that error is better pronounced than in others. What I can say now is that for me it gives inconsistent output color-wise from shot to shot. That’s not the module I would want to put in a “standard” preset, though.
UPD: I usually underexpose shots in difficult condition, because pulling up shadows is possible while blown-out highlights are blown forever. That’s maybe the reason I get inconsistent results with filmic.

I also shoot to preserve the full tonal range, which generally means preserving highlights. If nothing is clipped, then yes, lift the shadows, which I find quite easy with filmic. If shadows are clipped, I make bracketed shots, which I generally then process with the base curve.

When I have an unclipped shot in one file, filmic is great.

There is another quite long filmic thread where @anon41087856 explained a lot of the math. If you are maths inclined, I’d suggest you look at that thread to see if you can spot the error you’re speaking about. If the error isn’t in that math, then perhaps there is an error in the code; but you’d have to read the code for that. The thread is: Introducing the filmic module in darktable

I think I shall read this tread, thank you. Hopefully I find some clues and how-tos regarding the filmic there. However I quit programming more than 25 years ago, so I obviously can read the code but there’s little chance I would understand it))) A lot of time… Now I can only helplessly waving hands crying “Possible error! Possible error!” And I may easily be wrong with that. Sorry.

Some more observations.
I played with this image some more and found that if I change input profile to Linear 709 when using filmic, then the color casts on clouds are almost gone and overall color looks much better.
When trying to alternatively develop this shot using Unbreak Color Profile, using it in a log mode produces really awfull-looking results whatever I tried, while gamma mode produces pretty good result quite comparable with 3-exposure (1 EV) cubic spline basecurve-based workflow.
The farther I go into it, the less I understand(((

According to my understanding of what was said in the other thread, L*a*b* and its derivatives aren’t considered mathematically or energetically robust enough to employ.


Since you are a new member, you may have missed the great (divisive) debate on whether the colour science, esp. used by ICC and most FLOSS apps in this community, is valid or not. Read at your own risk because the conversation can be confusing and discouraging at times.

Somehow guided by your scene depiction I got this:


20170626_0028.NEF.xmp (4.7 KB)

zooming in

Do Windows builds of 2.7 exist? I have been involved in the dt threads but having a copy of 2.7 would help me sound less ignorant. :stuck_out_tongue:

I’m on linux, but I’m sure you may build it yourself. I think I saw instructions somewhere on this site.

Yeah, I can see no tint, colors seem to be in place. However the picture looks a little bit washed out lacking that feeling of yellow light spread that was the main point of interest in the original scene.

1 Like

I can but my compiling days are over. Curiosity > Patience.

There is an issue with current Filmic’s chroma preservation, as pointed by @Carmelo_DrRaw, although I don’t fully agree with his solution.

The first issue is the RGB chroma is computed in linearized ProPhoto RGB (because that space was already available in dt), and such large spaces can have issues when doing color adjustments (unintuitively). So the first thing to do would be to allow filmic to work in the output RGB space directly, as well as standard REC you-name-it (709, 2020) and ACES spaces. That could alleviate some of the issues you encounter.

Then, filmic is supposed to bake a display-ready output (and perform a tone-mapping from the large camera space to the narrow display space). My first idea was to put filmic before the output profile conversion in dt’s pipe to get a consistent result no matter the output space, and then fake-linearize filmic’s output with the gamma of the output space, so the output color profile conversion gets its neutral grey at 18 %. But, as @Carmelo_DrRaw has shown, this creates a problem on the chroma compression, oversaturates and shifts hues (although the non-chroma option tends to shift hues the other way : witness your cyan skies).

For a couple of months, darktable has had a new feature that allows to change the order of application of the modules, so I got a chance to try various combinations of filmic + output profile, and the best I got so far (to be confirmed) is to put filmic after the output profile, undo the output gamma encoding, apply the filmic tone-mapping targeting the same grey^{1/\gamma} as the output profile grey, and leave it this way. So, when the display decodes the gamma encoding, it’s not an actual gamma but the filmic curve (though the grey value is the same, but extreme values are compressed), and color seems to be more accurate this way than compressing chroma with the same gamma (as per @Carmelo_DrRaw 's proposal).

But, as @paperdigits stated, filmic does not forgive color artifacts such as bad ICC input profiles, kinked white balances and chromatic aberrations, so you would better check what’s going on higher in the pipe.

2 Likes

I’m closely watching this thread, although I did not have much time to find a fix. However, I have more or less successfully tried to eliminate pink-ish highlights by limiting Filmic to Lab Ligjtness space.
Get the settings done, click ‘preserve chrominance’ on and choose the blending mode ‘Lightness’.
Could you please try this workarund?

1 Like

It seems to work on two images I use to test it