New Primaries module

Right, Mr Grump is going to bed. Sorry to all involved for my wild speculation on the future of filmic and heel-digging responses to reasonable objections. Grumps gonna grump.

1 Like

We should celebrate that we have several options. Other editors have exposure and tone curve and thats it :joy:

10 Likes

Sometimes feels like dancing kazachok (like this one) :slight_smile:
from one module to the other.

8 Likes

That is the thing and why I like v5 and that midtone slider and access to the latitude setting. I can get that look offered by sigmoid and with more control… and I say more control because I have far more attempts using this tool…maybe I could get some more refined controlled results in sigmoid I just haven’t spent the time with it… really I think each tool improves the image in slightly different ways and each has trade-offs. The trade-offs are not quite the same so the accompanying workflow might be slightly different to achieve an end result…

2 Likes

I am sorry for the poor wording that caused all of this confusion and uncertainty.

Let’s give a bit of a backstory. I found out about a thing called ”AgX” being developed in the Blender community to improve upon the existing Filmic display transform. Became interested and began experimenting if something like this could be implemented in darktable and if it would be useful for handling some cases with difficult lighting etc.

It turned out that the AgX process relied on the per-channel curve processing. By the time I got to further experiment with it, sigmoid was already arriving to darktable, and it turned out its author had already considered something similar (as in custom primaries). Sigmoid also implemented per-channel curves without any additional desaturation or other processing applied afterwards, so it was well suited for this experiment. Hence I decided to start experimenting with sigmoid as a basis.

After more than a year of experimenting, testing on various image sets from photoshoots, discussing with others and following the progress in the Blender community, the result is now in darktable master. During this time, I became quite comfortable with using sigmoid for daily editing, so that’s what I’m using now. Simple as that.

Filmic has been in darktable already for almost five years and has quite a lot of stuff in it that has been developed during that time. It would require considerably more effort to implement a similar ”custom primaries” feature in filmic in a way that is sustainable in terms of code and user experience (in terms of not making the interface more confusing). This is why I chose to implement this new idea to sigmoid. Who knows - if it takes traction, maybe we might see something similar in filmic some day. I do agree that filmic’s more fine-grained control over the curve is sometimes useful and I suppose many people like that.

The RGB primaries module was a by-product of the development of the new feature in sigmoid. I noticed there has been interest in using the channel mixer for some color grading stuff and thought that an alternative interface would be useful.

Color corrections and creative color grading are the intended use of that module that I have tested. There were people asking me about using it in conjunction with filmic to implement a similar process as the ”custom primaries” in sigmoid. I’m not comfortable with giving instructions regarding that since I haven’t tested first hand or thought through the possible interactions between the modules in this use case. The sentence with ”no warranty” might have been too harsh and caused some of the uncertainty here - apologies for that. What I would like to say is that I’m volunteering my time to development and discussion (like any others contributing to darktable), and as the time is often quite constrained, I must set a boundary somewhere.

32 Likes

Thanks for taking the time to write this explanation. Reassuring. And sorry for dragging you into this debate. I should, as I previously noted, be more careful with language, as I just had a concern that filmic might be sidelined but rather presented as though that was what was happening without any knowledge of what was going on behind the scenes. Appreciate all your efforts. T

5 Likes

The wonder of using darktable :smiley: Nothing quite like it

2 Likes

Luckily, it’s not. I also use filmic as my default tone mapper (and often try images with both filmic and sigmoid). It receives updates, fixes and performance enhancements regularly:

2 Likes

Great contributions on your part as always and I think you have been fairly clear and concise from inception to implementation… You have always provided feedback and explanations in your PR’s and posts…Thanks for all your work and contributions…

8 Likes

And I see it’s wonderful we have such people who look at others and make their lives / hobbies easier / more fun or whatever I can call this phenomenon.

I’m more than grateful for things recently happening to Darktable, especially for Sigmoid and those upcoming features.

4.6 is going to be epic piece of software and all of this without the so-called “AI”.
:star_struck:

6 Likes

I much prefer Sigmoid’s default look to Filmic’s, but there’s no denying that Filmic wins if you want detail in the highlights. I haven’t used Filmic for a long time, but I was recently editing some snowy mountain pictures and tried it out again. Even Sigmoid pushed to +1 Skew can’t quite match Filmic’s preservation of highlight detail. Other modules need to be used with Sigmoid to recover the detail.

That’s my one gripe with Sigmoid. I want the ability to get this detail back within the module but retain all its other qualities. But only as an option. The gentler roll-off to white in Sigmoid is often preferable, especially with portraits, sunsets, etc.

If there were a little more control over highlight contrast in Sigmoid, I think it would completely replace Filmic for me. But I understand that one of the module’s merits is its simplicity, especially compared with Filmic, so there’s an argument not to add anything else to it.

Of course, having both modules as choices is perhaps the solution staring people like me in the face. But when you develop a certain workflow around one module, it’s not always convenient to change it for occasional pictures. I think that’s why we tend to “pick a side” and then stick to it (or it’s just human nature). Now I’m rambling and off-topic… Sorry!

5 Likes

!

@flannelhead Thanks for the wonderfully informative post and explanation, although I’m not sure you needed to apologize for using one module over another or explaining the reason for why you did what you did. I appreciate all the work you have done and will do for Darktable. It’s a collaborative open-source project that provides a toolkit for users like me. You can develop whatever you feel like, and we can all use it how we want :slight_smile:

6 Likes

Note that sigmoid was updated today on the master branch; the smooth preset has changed: contrast is now 1.5 (used to be 1.4), skew is now -0.2 (was 0), and the settings in the primaries section have been altered. Also, the base primaries are now selectable (work profile, Rec2020, Display P3, Adobe RGB, sRGB). The UI labels have been changed, inset has been replaced with attenuation (the effect is a sort of saturation (purity) reduction).

15 Likes

Yes, those were hopefully the final enhancements before release :slight_smile: I think I’ll open a new thread during today with some instructions on how to get started.

19 Likes

Just compiled from master and gave these features a test run. I must say rgb primaries is transformative for my workflow and maybe for darktable as a whole, really powerful tool and now that I had a taste of it, I can’t fathom going back. Many thanks to everyone involved :slight_smile:

7 Likes

I tried to use Sigmoid with Primaries rather than the “Filmic Sandwich Dance” on the picture below and I can’t get the same cleaner output (in my opinion) than with RGB Primaries x 2 + Filmic.

The first screenshot is a split view with no particular processing on the left and the Filmic + RGB sandwich on the right:

The second screenshot is a split view with no particular processing on the left and Sigmoid + Primaries tweaked:

Would you mind attaching the XMPs for both versions and the raw file? I could take a look in the evening.

I suppose the part that is ”not clean” is the transitions of the blue lights where the sigmoid version seems to give a nasty dark ring around the light.

I see you have some kind of a ”punchy” preset applied in color balance RGB before sigmoid. The first thing I would suggest is to move it to a pipeline position after sigmoid. Any increase in purity caused by that module before sigmoid is kind of counterproductive as we would rather like to decrease the purity before the per-channel curve process in sigmoid (using the attenuation sliders) and restore purity later.

Another thing is: try disabling the hue preservation in sigmoid or at least decreasing it. I don’t think it’s the root cause here, though.

Sidecars and raw file would help to provide more insight.

2 Likes

The first thing I would suggest is to move it to a pipeline position after sigmoid.

Well, you nailed it!

Here it is with Color Balance RGB moved after sigmoid:

Not sure how to share the raw file as it is 80+ MB, but I think there is no need now that you solved the case :wink:

2 Likes

Good to hear the change was for the better. How does the right half look now (as in the screenshot it is with filmic?)

On the left I still see a dark band around the blue lights. I think this would be a good image to experiment with. If you can find a way to share it (Google Drive or some other share) I would be glad to see what’s going on.

1 Like