Some difficulties using Filmic RGB

Let me start by pointing out that Darktable (DT) is new to me even though I do have some limited experience developing raw image files with other software. I have spent some time reading whatever I can find that is instructive about DT which does include the following:

My current impression is that DT is now advocating something called Scene-Referred (SR) workflow but that it is relatively new (? maybe began in Version 3.0). As it happens I can find plenty of tutorial type articles that appear to predate SR workflow which suggests to me that they may NOT apply if Iā€™m going to do SR workflow.

When it comes to the meaning of SR the best explanation Iā€™ve found to date is this one, which was written in 2014 and I have read and think I generally understand.

While SR does seem to have advantages over an alternative called Display Referred (DR) it has always occurred to me that we are stuck with the limitations of devices we use to view the images we produce and Iā€™m inclined to think that modern cameras are capable of outperforming them. This particularly refers to the device/s on which an image is developed. When you consider the vast array of devices that might ultimately be used to view the photos that we develop the problem becomes even more acute (in some respects unsolvable). One way to deal with this problem is to produce printed photos but of course printers also have limitations.

Getting back to the main question. It seems that with DT the SR method depends quite heavily on a module called ā€œFilmic RGBā€. The first sentence of module description in the User Manual reads as follows:

  • ā€œRemap the tonal range of an image by reproducing the tone and color response of classic film.ā€

What in the world does ā€œclassic filmā€ have to do with developing a raw image?

Something Iā€™m definitely struggling with at the moment is how to use the Filmic RGB module. For example, the documentation suggests starting by setting white & black relative exposure. However, it doesnā€™t say what to look for when adjusting the sliders. If there is any change to the preview image it is near undetectable. The white point slider does have some effect on the histogram & very modest effect on the tone curve. The black point slider also has an effect on the tone curve as well as gamut checking of shadows. While fewer pixels being gamut checked would seem to be desirable it appears that maximizing dynamic range is what produces that affect but Iā€™m doubting that moving the slider as far to the left as possible would be the intended purpose. If so, it would seem there is NO need for such an an adjustment which makes me think I should be looking for something else.

Based on the few different images that Iā€™ve been experimenting with it does appear that the default values for white and black relative exposure are constants (white = +4.40 EV, black = -7.75 EV). Iā€™m thinking it could help to know why those defaults are being used as well as why/when it is appropriate to change them.

Also, with respect to black relative exposure the User Manual says the following:

  • ā€œDecrease this value even more if setting the black relative exposure in filmic to ā€“16 EV fails to unclip blacks.ā€

However, on my files it wonā€™t go further than -14 EV and while there is some gamut checking it is fairly minor.

Finally, I notice that the ā€œPresetsā€ menu item includes something called ā€œWorkflow: Beginnerā€ in addition to ā€œWorkflow: Scene-Referredā€ and Workflow: Display-Referred". It occurs to me that this might be where I belong now. However, I have yet to find any documentation/tutorial that pertains to said workflow.

There are some good tutorials about how Filmic works.
Here is a beginner guide.

Black and white point are meant to define what will be white and black on the screen/print.
If you set them automatically, filmic search for the darker and brighter pixel and set white and black point according to that.

Itā€™s about replicating certain desirable attributes of films. If you look at the response curve of most films, itā€™s ā€˜S-shapedā€™, starts with a bit of a dip on the left (dark) side, then ramps up to a curved shoulder on the right (light) side. The filmic curves we use in todayā€™s software were designed to emulate that curve shape.

John Hable has a couple of good posts about filmic tone mapping operators; this one has some good background prose in the first few paragraphs:

http://filmicworlds.com/blog/filmic-tonemapping-with-piecewise-power-curves/

4 Likes

And nearly every camera on the market applies a similar S-curve to their images prior to the final output transform when saving a JPEG or video file.

(The only exceptions would be some dirt-cheapo cameras made by vendors that donā€™t know any better, and cameras that save logarithmically encoded image data intended for later postprocessing, such as Sony S-Log, etc.)

1 Like

The difference being, the camera has only one curve, or a coarse means of shaping it to control, say, overall contrast; the parametric gem of @anon41087856ā€™s cogitation allows shaping in ways cognizant of the characteristics associated with film.

Yeah, itā€™s nothing special, really, but I wouldnā€™t call the ā€œfilmicā€ term marketingā€¦

Just watch Boris last videoā€¦just what you need ā€¦He walks through it and the TE moduleā€¦Think of filmic as part of a trio CB TE and filmicā€¦work together. Since you can now move module in he pipeline it may actually be not as dramatically different as it once was between the workflows but in summary you are attempting this advantage by doing soā€¦

image

Taking a step away you can also check out this videoā€¦you can ignore the stuff that is too Blender specific but it shows you what the approach is trying to achieve and its basically the same for filmicā€¦

If you only watched one set of DT videos just check out the series put out by @s7habo to watch scene referred edits in action and more recently very well explainedā€¦

This is because ā€œwhat to look forā€ depends on the image and what you want to achieve with the image. The manual will never be able to tell you about your own artistic vision. Hopefully it will never even attempt to do so.

In its current version, the black and white relative sliders have relatively little effect. I generally adjust them after adjusting the Contrast and Lattitude settings on the Look tab, both of which will make more dramatic movements in your histogram.

Keep in mind you can right click and slider and type in a value, then hit return.

You can take ā€œworkflowā€ in this context to mean ā€œa collection of modules.ā€ ā€œBeginnerā€ tries to narrow the set of module to very few (since one of the complaints we hear the most is ā€œomfg darktable so many modules, its confusingā€). " Display Referred" has modules that only work in the display referred part of the pixel pipe. And ā€œScene referredā€ has (mostly) modules that work in the scene referred part of the pixel pipe.


Thank you for taking the time to make a detailed post; I hope we are able to address your questions.

Scene referred just means it works in linear RGB. Filmic is just a module for setting the white and black level of a photo and mapping the contrast curve between the desired white and black levels. It works in linear RGB space, and is mapped to the output profileā€™s tone curve (ie, sRGB tone curve, gamma 2.2, gamma 1.8, etc). Itā€™s not that fundamentally different from similar tools in other programs. The advantage of working in linear RGB is that it will yield the same result regardless of the output profileā€™s tone reproduction curve. By contrast, operating on gamma corrected RGB values will produce different results with the same settings dependent on the output profile due to the non-liner colorimetery of gamma corrected RGB space.

Thanks! Automatic sounds like something a beginner should try but Iā€™m afraid this has created even more confusion. There is an entry on the bottom of the ā€œLookā€ tab that says ā€œAuto Tune Levelsā€ (ATL). There is no slider, but there is what Iā€™d think is a color picker icon on the far right. In other software Iā€™ve used, a color picker is meant to provide a means to use the mouse to select a spot in the image for the purpose of setting a value for a color.

  • If that is the case here I have no idea what kind of color within the image is expected in this case. Note: other software changes the icon associated with the mouse when using a color picker. Not so here.
  • Another, peculiarity of Darktable (DT) is that when these color pickers are used there does NOT appear to be any way to tell what numerical VALUE was picked.
  • Also, it seems that DT never refreshes (forgets) the value/point (whatever it is) associated with the last time the color picker was used. In that, previous selections still apply when a new (original) instance of the image is created using the Duplicate Manager.
  • Also, it does NOT seem to matter which of the 3 color pickers in the ā€œSceneā€ tab are selected the same (automatic?) recalculation appears to happen (i.e., absent any selection in the image using the mouse).

I guess this all adds up to the need for some clarification on how to use these things that I think are color pickers.

Very informative piece. Thanks for that.

I guess I donā€™t know how to look at response curves for film and Iā€™ve never seen a reason to want to do that. I could imagine that to be of interest to those with such knowledge but my idea of developing raw images has been to get away from constraints imposed by those old technologies and focus on the ones pertaining to digital technology.

I do have some understanding of the purpose of tone curves even if I have NO appreciation for how they might apply to film.

What I could use though is a good tutorial in how to create customized tome curves to achieve various objectives. Iā€™m afraid my present approach might even be worse than my dart throwing. Any ideas for that?

darktable isnā€˜t a clone of some other software, so youā€™d better have a look at the manual: darktable 3.8 user manual - darktable

A picker isnā€™t just a color picker; it can pick saturation, it can be used to define an area where some values (one or even more) are picked from.

in filmic first tab the pickers are used to define the area, from which a proper assumption for white, black or both should be calculated.
btw: right click resets the area used for this picker

1 Like

You really donā€™t need to understand why thatā€™s similar Roma response curve of film, you just need to get, how to deal with the module to get the intended results.
Maybe have a look the episodes 53 and 54 in https://youtube.com/user/s7habo to get an idea how to edit with darktable

Itā€™s not a matter of ā€˜old techā€™ and ā€˜new techā€™, itā€™s that both tech have to deal with the same characteristics of human viewers. Film photographers had to deal with the tone curve ā€˜baked inā€™ to their recording, hence things like the Zone System. In digital, we have the luxury, and the burden, of getting linear data to start with, so our tone curves have to make things look good like film could do out of the box.

So-called filmic tone curves have a little ā€œtoeā€ at the left end, which pull down the blackest blacks, before the curve heads up on its general lifting shape. Itā€™s little, hard to duplicate with a control-point curve tool, but it does things to the darkest tones that make for rich images. Hence, we have all this work to parameterize that characteristic.

Itā€™s a film characteristic that has significant value in the digital domainā€¦

3 Likes

Another point Iā€™m thinking needs clarification. It seems that in Darktable (DT) Scene-Referred and Filmic RGB go hand in hand. However, from my own past work (prior to DT) the difference between Scene-Referred and Display-Referred is as described in this, somewhat old, article (which I originally referenced). The significant difference between Scene-Referred and Display-Referred editing, when using xyY color space, pertains to the computation of luminosity (Y). In Displayed-Referred editing luminosity (Y) is bounded (not greater than 1.0) whereas in Scene-Referred editing it is unbounded. Without getting too far down into the weeds, I think, this difference derives from the transition from integer to floating point computation methods. I assume that DT is using floating point.

Is this, at least, a relevant distinction for the difference between Scene-Referred and Display-Referred in DT?

In a more general sense, it would seem that Scene-Referred could simply mean trying to match the appearance of the actual scene that was photographed, which is just about NEVER my intent.

No, in the end the output media dictates the limits. But in a scene referred workflow this limitation is taken into account in the last step (filmic does the mapping from an unbounded space into the limited space) so the whole edit is done without loss due to limits of a bounded integer representation of the image.
Youā€™re paying a lot of money to get a camera capable to record high dynamic range scenes. The scene referred workflow supports thisā€¦

2 Likes

Itā€™s as simple as this:

Scene-referred processing is about doing the image operations on the original linear data, prior to application of the tone curve that transforms the data for display.

Display-referred processing is about doing the image operations on the data after application of the display tone curve.

Nothing else.

4 Likes

I donā€™t think Iā€™m clear about this. Basecurve transforms to display, yes? But isnā€™t there generally another transform in the Output module to finally achieve the chosen output profile?

Basecurve, Filmic, and all the other tone operators that users scooch around are really just ā€œlookā€ curves. The transition to display-referred actually happens with the display/export color profile. The significant thing that user tone operators do is to pull the image data out of scene-referred state.

Iā€™ve messed with using my filmic curve to bring the data all the way to display reference. To do so, I had to come up with a display profile whose tone curve was ā€œidentityā€, that is, no curve. Since my display is almost sRGB, I used Elle Stoneā€™s sRGB-ell-V4-g10.icc as my display profile. Thatā€™s what the ā€˜g10ā€™ is about, so-called gamma 1.0, or a linear transform.

1 Like

I think that adds up to an answer of ā€œYes! DT conforms to Elleā€™s description of Scene verses Display Referred.ā€.