darktable's filmic FAQ


Is the gray not supposed to represent middle gray?? So for that purpose colour would matter too much would it??

I meant, represent the EV zones with a grey scale, instead of a rainbow.

On another topic, I added a paragraph about chroma preservation modes at the end.

Thanks I’ll have a look…

It seems much more easy differentiate a red from a blue or green that two tones of grey.
So the rainbow does make sense when you try to represent discrete classes of gray.

Inpair people can continue to use a grey map or provide them the ability to customize the color mapping.

Dark grey means dark tone, light grey means light tone. Now, what do red or blue mean ? And how do you grade blue, red, green, whatever on a quantitative scale ? That makes no sense to me.

1 Like

Yes but it is not so easy (at least for me) to identify which patch of the legend correspond to a gray in the image.

To know which values of gray represent red you can just read the legend.

It makes sense only for gray tones divided in classes, of course red meaning something between 42 and 48, not for a continuous scale and gradation of colors.

There are lots of engeneering maps were a false colour is used to represent scalar values and not gray tones, using a scale from blue (cold or low values) to green yellow and red (hot for high values).


I am having a little trouble with the new filmic v4 specifically the white exposure slider and taming the highlights.
As per other examples and peoples suggestions I set middle grey using the exposure and then tame the highlights using the white exposure in filmic.
However, unlike filmic v3 where you could be extremely aggressive with it, I’m finding that using the slider starts greying the highlights with only a slight adjustment and doesn’t really bring the highlights under control.
I’m having to try and control the highlights in other ways e.g. latitude, shadows/highlights balance and dynamic range scaling which doesn’t seem quite right.
Any tips?
PS: Love filmic by the way, great job guys

Are your highlights clipped? You can try highlight reconstruction.

Can you post an example?

Note that filmic is supposed to desaturate both dark and bright areas (see ‘Highlights colors are white/pink/desaturated?’). Where that desaturation begins is controlled by the latitude. You can control its width, and move it a bit up or down using the shadows/highlight balance.
Dynamic range scaling just moves the white and black points.
You may want to try a different ‘preserve chrominance’ setting under filmic’s ‘options’ - see ‘What is the best chroma preservation option?’ (currently the last FAQ item).
You may even switch back to v3 there – or, if you get better results by other means, use those.
BTW, @s7habo has suggested adding local contrast after filmic in ‘multiply’ blend mode and low opacity. Check his youtube channel (‘Editing moments with darktable’) and posts here.

1 Like

Thanks chaps for quick replies
@paperdigits, the highlights aren’t clipped, it was trying to get them back under control (no or limited red overexposed indicator) once filmic had been activated.

@kofa, thanks for that explanation, it was kind of what I was fiddling with to control the highlights, a bit of white exposure and then a bit of latitude etc. Also I want to stick with v4 as I prefer the way it deals with mid-tone saturation

And now for the weirdest thing, I have been playing around a bit further and I don’t seem to be having a problem on the latest batch that I am doing.
I went back and had a look at the difference and the current crop are more landscape type, evenly (dare I say better) exposed.
I normally take wildlife and exposure can be a bit hit and miss depending in what light the little critters decide to present themselves.
I think I was just pushing individual sliders a little too hard where they didn’t want to go on their own with out a little help from other parameters.

Anyway thanks again

One thing that caught me was that (under the options tab) the auto hardness option was unchecked.
Result: when I increased the white point in filmic, the curve went berserk on the highlight side… and the slider didn’t act as it should (well, it did, just did not give the effect I expected :smiley: )…

Once I had the auto hardness checked, the curve behaved, and so did the highlights.

1 Like

Just another question please about module ordering that I need to understand ( see the word ‘need’ unfortunately I’m that kind of guy!)

I tend to do → Exposure → Filmic → Tone Equal (if needed) to get a tone mapping that I am happy with.
I then tend to look at colour/contrast with the Colour Balance, Local Contrast etc

However the Colour Balance module tends to get inserted BEFORE Filmic.

I always tend to drag it above Filmic and other modules like Local Contrast because in my simple head it is the last thing I will do so should appear at the top. If it is before Filmic, tweaks I do in the Colour Balance module could affect what happens in Filmic as I understand the output is non-linear (I also noticed people like @s7habo doing similar things)

The question is, does it really matter? Should I really stay up at night worrying and just leave it where the module seems to naturally fall?


Exactly like me.

Yes, I find that strange too. Also channel mixer is in front of the Filmic and I wonder why.

That’s how I understand it too.

My guess is that the darktable is currently under heavy development and the order of the modules is only temporary as it is now. This will change in the future. In that time, I won’t worry about disordering the modules. If it works and there are no artifacts, you are not doing the wrong thing.


Just to reassure you: Since you don’t mix dangerous chemicals, but only harmless modules, you don’t have to worry that when you make a mistake, the whole neighborhood needs to be evacuated.

1 Like

This article about rgb vs. Lab should help explain the ordering.
Very much simplified, “color balance” expects its input to be in linear RGB (and outputs linear RGB data) and thus has to be applied before filmic. For the channel mixer it’s exactly the same.

Basically, any module expecting linear RGB (and producing linear RGB) must be placed before filmic or basecurve in the pipeline, anything after will get display-referred data. FOr the details, please read the cited article.

And indeed, the order in which you work with the modules isn’t all that important, though certain sequences will be more efficient than others (in that you won’t have to go back to adjust a module you adjusted earlier)


Of course you can do this - you just need to care about clipping yourself. And of course: tonal differences that were compressed by filmic can‘t be differentiated if the module is used later in the pipe …

The pixelpipe order makes sense - and so using tonecurve before filmic. When using the default order you can modify the values without taking care on clipping. The visual feedback you get is always the result after applying the whole pixel pipe. So even then you get what you see.

1 Like

@s7habo - Some of my language might evacuate the neighbours when I can’t quite get what I want :slight_smile: . I guess @anon41087856 will be happy in that a natural order of using filmic and other modules seems to falling out as we both have similar approaches. I took a look at some of your videos and picked up a lot of extra tips, thanks

@rvietor and @MStraeten - thanks for that. I have read the article (several times), I guess some bits didn’t quite sink in but now they are getting through. Rightly or wrongly I was trying to get into a flow of creating a predictive workflow (i.e. I knew what sliders would do to get what I wanted to create the ‘base’ image) then I used Colour Balance (probably multiple instances) as the final tweak to tidy up to pull back highlights/shadows if Local Contrast had pushed them too far and add a bit of artistry. What I was trying to avoid was having to go back and re-tweak other modules because something inserted in the middle upset the apple cart. However I think I may cause more problems and artifacts for myself by the sounds of it.
I’ll leave it where it is supposed to be and see how I go.

Thanks once again to all replies

1 Like

Actually, those modules (iops) can be placed either in scene-referred (before the filmic/base curve) or display-referred (after filmic/base curve) part of the pipeline. For example, the lift/gamma/gain mode of the color balance is recommended to be used for display-referred data. Though, while they are more useful in the scene-referred part for color/tone correction, they can be used for creative effects in the display-referred part.

1 Like

The default iop order has been defined with scene-referred processing in mind. I understand that you expect to see the iops in the order you work with them in your workflow, but darktable shows them based on their position in the pipeline.

1 Like

Filmic is view-transform. Anything before filmic can be seen as a virtual camera where you are allowed to redo the shot and massage colors. Then filmic comes and makes a virtual print of your virtual camera output to your particular display. For now, that particular display is fixed to SDR because of technical limitations in the software stack, but if HDR display land-in one day, the display settings in filmic will need to be adjusted depending on output.

Think about painting. When you mix pigments, you do so in a “scene-linear” space, because pigments absorb light in a way that is best described by optics. Yet, the result is analyzed by your brain at the end (which has its own view-transform) and interpreted as a contrast map between intensities (tones, luminance, brightness, …) and colors. But still, what you control is raw light, and even though what you see is the product of light and of your view-transform, both are independent.

So filmic reproduces this fundamental separation between physics and perception, which ensures optically-bounded operations get what they expect before filmic. Filmic is only a pair of glasses you put on your nose to look at a raw (and possibly HDR) signal in a way that makes sense to you and can be represented on your screen.

The basics of color balance module come from the color timing, in the analog darkrooms, where the lab techs used a color head, on the enlarger, with 3 RGB filters. To create a print, they would project R, G, B light on the paper through the film, but they could adapt the time of exposure for each color in order to fix the white balance of the print. That gives us the slope parameter of color balance which, as you see, is a physical thing relying on the additive property of light.

The gamma/power of the color balance is linked to the gamma of the sensitometry curves of film emulsions. For color film, the cyan, red and magenta layers don’t saturate at the same rate, and the gamma is the slope of the density = f(exposure) in a log(10)/log(2) graph. Although non-linear, that transform is still connected to light transmittance and sensitivity. Physical again.

(Then, offset is a 100% digital correction coeff meant to deal with zeroing the base density because the gamma can’t deal with negatives. Whatever).

Any kind of module meant to affect the pixels values with operations defined physically (white balance, color space profiling aka channel mixer, etc., but also any optically-accurate alpha compositing) needs to go before filmic.

Any kind of module meant to affect the pixels values with operations defined perceptually will be better after filmic, and have to be after filmic if, in addition, they expect middle grey pegged at 18% (which is the case for all the darken/lighten/overlay/soft-light/etc. blending modes).

“Scene-referred” or “scene-linear” is only a big word to say “keep pixels relationships physical”. Your raw photograph stays this way until it meets a perceptual tone curve (filmic, conversion to CIE Lab, base curve, or whatever).