Introducing color calibration module (formerly known as channel mixer rgb)

Exact D65 is what the input color profile expects, yes, so color calibration relies on that. You can just shoot a grey gradient on your PC screen, if it’s properly calibrated.

But the auto setting for color calibration won’t work in that setup, it reads the internal matrices we have for each sensor. It should be a bit more work to make DNG work. They are an exception in the raw landscape, full of peculiar behaviours.

Ok…

I suspected there was a technical basis…just had no idea of how it worked…I just tried it in a couple of outdoor shots…I have some indoor ones with some cast so I’ll see how it responds to those…thx

I thought DCP files were d65 and DNG are essentially embedded with DCP data are they not?? Just wondering. I have a couple of phones that capture raw as DNG. Whereas ICC is d50 based no?? So if you replace input color profile with a calibrated ICC how does that change things if at all??

While not mandatory, DCPs can contain two colormatrices, usually one for D65 and the other for StdA white points. They are interpolated between to get the matrix for the intended color temperature.

Of note is, while the ICC standard is D50-based, profile matrices don’t have to be with a good CMS library. dcraw matrices are D65.

It’s a weird business…

Thanks Glen .,.ya like 2850 k for the second one…I just wondered how the new modules various modes worked with that maybe that is what aurelien was taking about it needing further coding for DNG…

So if one was to use an input profile with D50 white point, would white balance temp need to match it?

No input matrice so far expects anything but D65, and the WB algo assumes D65 at the output. Remember we are in raw undemosaiced “RGB”, before input color profile.

2 Likes

I hope the Channel Mixer will stay. It’s a module that any other software I know uses. Renaming it would be strange and would certainly raise an eyebrow for anybody that uses any other photo editor.

A separate color calibration module would be great. I didn’t see any reference to any colorcheckers, hope the most basic ones will be included. Like in DaVinci Resolve (that is the free version). They have a preset matrix for 8 or so different colorcheckers (you can even use a cheap AliExpress one).

image

you can do this already using color lookup table module with darktable chart … It’s just not an integrated tool

1 Like

There is a channel mixer inside the color calibration.

Now, extracting an RGB matrix from a color checker image to preset the channel coeffs is not super difficult, but I have no idea how to wire that in GUI, with a perspective correction.

So, no, no color checker for now.

Maybe @st.raw means the name should stay, as without the name well-known in the editing world people may think that the tool is missing:

However, since it does a lot more than the usual ‘channel mixer’ (thanks for that, Aurélien!), maybe the name could still reference channels somehow. ‘colour calibration & channels’, maybe (I know it could quickly become awkwardly long)?
Compared to the current longest (English) names:
‘colour adaptation & channels’
‘colour calibration & channels’
‘CAT & channel mixer’
‘CAT & channels’
vs
‘highlight reconstruction’
‘chromatic aberrations’
‘perspective correction’
‘output color profile’
‘color look up table’
‘contrast equalizer’

1 Like

I’m starting to wonder if this module (like the filmic and color equaliser modules) shouldn’t be split in 2 or 3 separate modules. Even if that means doing basically the same mathematical operation 2 or 3 times.

At the moment it feels as if those three modules each have several functions, with separate interfaces.

One way to split it could be CAT vs channel mixer, which would have the brightness/colourfulness etc. tabs.
Or even split off the brightness and colourfulness in separate modules. Although that increases the number of modules quite a bit, I can see using several copies to deal with the separate functionalities with the module in its current form.

Wrt filmic, the reconstruction part could perhaps be split off? (if that’s possible and reasonable, a change to the filmic module should be moved to a different thread)

1 Like

CAT is a channel mixer, and channel mixing is a way to correct the input color profile, which means it is a color calibration. There is only one function, but many uses. Besides, having everything in the same module is more computationally efficient since we have only one I/O. Splitting the features into separated modules will also increase the UI bloat.

It doesn’t make sense, since the reconstruction mask is defined from filmic white exposure and is intended to blend the clipping areas near white.

2 Likes

I found the cause of this, it’s a bug in the DNG handling. Fix is here:

2 Likes

Well, I couldn’t sleep last night, so I may or may not have started a color checker extraction of channel mixer and white balance coeffs.

Oops

8 Likes

If you are looking for any further inspiration, it might be worth noting that 3d lut creator has a similar tool:

Each little coloured square is part of a mesh - user can click and drag it around, so it can be sized to fit.

After clicking match, which adjusts the colours of the image to the colours of the mesh, they provide a delta e comparing the two.

Not being able to see the code, that will be of no use for the pixel math, but might be of some interest for gui design.

1 Like

Hmm it’s not the most legible UI I have found. Is that supposed to work with photographs ?

Yes. There are two things I like about it. 1) The little coloured mesh squares show the proper rgb colour. Your version appears to tick this box with the coloured circle in the middle. 2) The position of each square can be adjusted individually. This makes alignment easy, and allows one to adjust for variation, should any square in the chart not be uniform (due to scratches, dirt, lighting, etc…).

The delta e is also nice to know.

For an example in use, watch from min 5.00-6.30:

Thank you for the awesome module. I find it very useful so far! There’s one issue though - setting the white balance module to “camera reference” and then setting color calibration to daylight 5002K, images looks quite yellowish. I went on to check the white balance coefficients…

The camera is Olympus OM-D E-M5 mark III. The laptop’s display is calibrated to D65 and I took a photo of a grey gradient displayed in GIMP. Sampling the gradient for spot white balance, I get coefficients (R, G, B) = (2.116, 1.000, 1.874). When set to “camera reference”, the coefficients are (2.106, 1.000, 1.665). The blue coefficient has quite a noticeable difference.

E: this is using the standard matrix supplied by darktable.

I guess it’d be rather selfish to wish you had many more :wink: