Filmic, when to use?

Hi’ @Carmelo_DrRaw @Entropy512 @ggbutcher and many others

Thank you for your contributions.

Do we, or more precisely the developers of darktable and rawtherapee, aim at providing free software for specialists or is the focus also on attracting new “basic” users to join the community, users who later on can be tempted to explore the photo-world in details and become specialists and contribute?

If we want to attract new basic users it should be simple to get started and obtain good results doing some basic editing. Is it simple to get started as a new user? Well……. ?

I think that the DT’s base curve module and the auto-matched tone curve in RT are prerequisites to achieve this, because you by default get a nice image and a good starting point for some further basic editing.

The favourite tab is also a good facility giving access to some basic but important tools ignoring many complicated modules and concepts.

Color management, tone curves and profiles are complicated subjects in my opinion.

It’s not easy to fully grasp the rawpedia-section “Color Management”, but it’s of course really nice that someone has put an effort into trying to explain this issue. Maybe a new user should be encouraged to skip the whole thing and go by default.

Being a not-so-new user I would like a piece of advice. It turns out that I have a number of icc- and dcp-profiles for my Nikon D7100. Is it worthwhile to put an effort into testing these profiles in DT or RT and which typical improvements should I look for?

It’s probably easier / more intuitive to test this in RT – just point the program to the appropriate DCP/ICC input profile for your camera and compare the output with the default one. Test it on a file where you have nailed the White Balance first. I usually first look at the rendition of skin tones – I don’t like too much green or too much magenta in the orange range of hues. Then I look at landscape photos and the rendition of blue sky and foliage – I don’t like magenta-tinted skies, but too much green in them is also not so good, so I like it when the default input profile strikes a balance – it saves me time having to correct those hues with some HSL module, etc., plus the pixelpipe is shorter then, so it’s less computationally intensive when you have a nicely balanced input colour profile to your liking. I don’t like foliage to be oversaturated, and again I try to start from a neutral green hue (I can always warm it up or cold it down if required).

Before the filmic module appeared in darktable, I much preferred my own custom DCamProf profiles to the default input profile + base curve (oversaturation, unnatural hues when shifting brightness). Now, the default profile is fine when I can use it with a shift in gamma and a custom filmic tone curve modelled on the ACR input curve.

A good input colour profile with a balanced tone curve that doesn’t affect saturation simplifies things for both beginners and pros, in my opinion.

1 Like

When I used my previous camera (Lumix GX7) I made some profiles for the most representative conditions (daylight, indoors and under cheap fluorescent lightning). I used the IT8 by Wolf Faust for that. I have impression (no science behind it) that especially for artificial light the custom profile was very helpful. When created I used on every picture.
Now for the new camera (GX9) and ColorChecker Passport I failed to create styles however I did have like one attempt so far (well waiting for the clear sky and the free time at the same time can be very hard :slight_smile:)

I would like to read about it more. I read once on this forum that filmic obsoleted icc profiles but I do not know why!

darktable requires a tone curve for the input, linear, matrix profiles it ships with, but an RGB-based tone curve used by the Base Curve module causes colour issues (oversaturation, hue twists). A simple luminosity base curve would also look unnatural (undersaturated), so the Filmic module tries to help the user to create a visually pleasing contrast and saturation at the same time, without having to use other modules to combat hue shifts and saturation issues.

You could design a non-linear ICC input profile for darktable with the so-called neutral Tone Reproduction Operator, which could allow the user to modify contrast more freely after the input profile has been applied, without having to worry about saturation issues.

Something that is not often recognized is that ICC and DCP profiles contain information to manage two rather distinct things: 1) color, and 2) tone. When a camera raw file is read for processing, it starts with its own color response based on how the sensor is filtered, and a linear tonal relationship between the energy measurements that are represented in its pixels. Filmic doesn’t do anything to manage the transform of color from the camera spectral response to the gamut of the final rendition; that’s what the camera primaries are for. It does, in some perspectives, vex the ICC tone management if not used in the right place in the processing pipeline.

Right now, my processing pipeline keeps the original camera color all the way to rendition output, where both color and tone are ICC-transformed to the mediums’ strictures. I keep the original tone until I apply a non-linear tone curve to manage the dynamic range, and for that purpose a filmic curve is proving quite useful. But I try to keep that application as late as possible, just prior to output resize/sharpen.

That’s one of the nice things about my software, rawproc: you the user are totally responsible for which tools you use and in which order. I’ve had the opportunity to mess with ordering, and in doing so I’ve learned quite a bit about what can do which, and when. For normal use, i wouldn’t wish it on anyone (@martin.scharnke, keep me informed on how it goes… :smile: ), but as a learning tool I highly recommend it to anyone looking to really understand what it takes to make a raw image presentable. The ICC profiles are solely about keeping track of the image’s state in both color and tone so a proper output rendition can be made at the end.

So, to the original thread’s charter, I use filmic to manage dynamic range, exposing to keep highlights from blowing, then pulling up shadows with the steep filmic curve that keeps definition in the next-to-black tones.

1 Like

Would this hdr be one of the cases where filmic isn’t appropriated? I couldn’t get good results with it, but with the plain tone mapping tool:


sunset_hdr_pano.tif.xmp (5.9 KB) (DT 2.7)
(After tone mapping, I also used bloom/multiply, local contrast, tone curves and lowpass. The thing is that in this case, the tone mapping tool gives a good starting point, contrary to all my attempts with filmic.

2 Likes

That would be consistent with my results. I’ve found that even when attempting to rescue local contrast afterwards using the local contrast module, I always found results when working with filmic to be inferior to some method of local tonemapping followed by a tone curve.

I also found basecurve to usually deliver better results than filmic in the “final finishing step” use case. As mentioned before, I do NOT use it as it was originally envisioned - it originally was envisioned to behave similar to other raw processors in giving the user a “starting point” similar to camera JPEG. Hence “base” curve. But in all of my recent workflows that used it, I moved it to the very end of the pipeline. Doing so is only possible on development builds, not in 2.6

My workflow before switching to RT was to use edgardo’s exposure fusion module for tonemapping (He took my early investigations into fixing fusion and brought them the rest of the way to a really solid module), and then depending on the nature of the scene, use the basecurve module reordered to AFTER fusion (with fusion being the second to last module).

Therefore, you always use filmic when editing a photo? Could you maybe post an example showing how this approach leads to better results?
In order to test ICC-profiles in darktable the profiles should be placed in one of the folders mentioned here:

ICC2

None of these folders exists on my 2.6.2 windows installation. Where should I put my ICC profiles and/or do I miss a plugin?

Apparently, there is a difference between a color profile and a tone curve. Can you explain the difference to me?

You should not enable the auto-matched tone curve facility If you also check the DCP-profile tone curve box in RT’s input profile section. Correct?

How does the auto-matched tone curve and the input profile settings work together when using RT?

Hi’ everyone
I just realized that if I create the ICC-profiles folder myself then darktable will accept the profiles…:blush:!
So this is solved, but the rest of the questions are still pending.

Yes, I use filmic instead of the base curve module to create the global contrast I want for my image. It’s basically the same for me for every image, too, so it’s part of my processing style which I apply as default. Then I add other modules on top of that if e.g. shadow lifting is necessary. Here’s my attempt at your image:


The heavy lifting was done by the basic adjustments module (v. 2.7-1662 / Windows) – 3.5 stops of exposure lift with parametric masking – and an empty exposure module set to the screen blending mode. I also used the shadows/highlights module (bilateral) to open up some shadows and recover some highlights. Additionally I used hot pixel removal and denoising (not totally satisfied with the leftover banding), as well as gentle capture sharpening using the equalizer’s deblur preset.

Input colour profiles can be linear (like the default ones in darktable) so then you need to add some kind of base curve separately, or they can have a basic tone curve inside. When you get an ICC camera profile you have no way of knowing which of the two it is and you can’t switch off the tone curve if it has one. RT’s implementation of the DCP camera profile allows for an easy way to switch a curve off if necessary.

Well, you can always experiment and see if you like the result, but yeah, generally these two are exclusive.

Well, @agriggio is probably the best person to ask this question to. Personally I prefer using the ACR tone curve together with my input profiles. I note a slight saturation loss when using Adobe DCP profiles and the embedded tone curve, so I add some vibrance at the end in RT.

If you change the input profile settings while auto-matched is enabled, the auto-matched curve gets recalculated automagically.

Just to make sure I read you correctly. By “tone” you mean luminosity i.e. the lightness or darkness of areas of your image?

Not necessarily - in many cases, the tone curve is done on a per-channel basis, which means that the chrominance can shift in addition to the luminance. Filmic Tonemapping with Piecewise Power Curves – Filmic Worlds is a pretty good article on the subject. You’ll notice that it’s pretty heavy with implementation examples, as Hable was working for a gaming company at the time and his articles were pretty heavily focused towards game developers.

The majority of people feel that this makes the image more pleasing to the eye (most likely because we’ve been conditioned by years of media to respond positively to a film-like tone curve), however such an approach can sometimes negatively impact the chrominance of the wrong thing - for example, there are lots of complaints that Sony’s built-in tone curve of their cameras has negative impacts on the chrominance of non-Caucasian skin tones.

There are very good arguments that in most cases, this operation should be one of the last ones performed. I kind of agree with this, see my previous comments about using dt 2.7’s module reordering to put basecurve at the very end of the pipeline.

Yes.

The ‘distinctness’ of color and tone can be debated, but applying an ICC profile transform to an image does these two things in separate operations.

I was reminded of this thread recently in another thread. I remember downloading this image and being unable to produce a satisfactory result in DT. Perhaps it’s my skill and/or familiarity with DT, but I am a RT user now and I think I have coaxed a natural rendering of the colors from the raw using the “dynamic range compression” module.


DSC_8528.jpg.out.pp3 (11.8 KB)

Clearly the D7100 is as good as it’s reputation and the dynamic range is just waiting to be brought out. Perhaps the DR could be increased by lowering the iso at the cost of aperture or shutter speed.

1 Like

Think this has to be reconsidered with the new filmic module in darktable 3.0. It handles most of my lightness issues and I don’t use the shadows and highlights module anymore.


DSC_8528.NEF.xmp (11.6 KB, dt 3.0 RC1)

A good result, but I think it is just a tiny bit milky. If you scroll up a long way in this thread, you will find a result posted by @Gaito using his preset invoking the DT tone mapping tool twice. The result is impressive and in my opinion even better than the filmic 3.0 result shown here.

I have downloaded the preset and used it many times since. Powerful and easy to use…:blush:

1 Like

That’s the specific thing the original filmic equation addressed, making the blacks “crisp”.

In my rather coarse filmic implementation, dialing down the B coefficient flattens the little toe at the bottom-left, which does the trick.

What do you mean? Do you have your own version of filmic (if yes, how can I get a ready to install windows version) or is your version a part of filmic 3.0?

I have a filmic tone operator in my hack software, rawproc. Here’s a link to the most recent release, with the filmic operator:

In this thread, post #2 describes the original filmic curve, and post #33 has a description and snapshots of my tool.