match JPEG colors in Darktable

My Panasonic GX9 has a slight red-magenta cast in Darktable. I would like to see if it is possible calibrate a color calibration preset that would allow me to deal with that independently of the actual image, at least as a starting point.

I don’t have a color checker (if I did, the issue would be simple). What I could do is shoot RAW+JPEG of color palettes (eg a box of watercolor paints), approximate the matrix that matches them, and see if I can do this orthogonally from white balance. Eg wb “as shot”, and use neutral colors for the OOC JPEG.

I am not sure what the best way to approximate the matrix is though. One thing that comes to mind is that I could disable everything in the pipeline after color calibration (yes, even filmic/sigmoid), just use the color picker, input the values into software that would perform a best fit with simple linear algebra… but this is a bit tedious. Or I could just load two images as a snapshot, and then figure it out visually, effectively solving a 9-unknown system visually.

Any advice would be appreciated. Again, I just want a matrix, not a LUT.

Perhaps the color look up table module
could be of use?"darktable"%20"color%20look%20up%20table"

Have fun!
Claes in Lund, Sweden

That’s essentially the same situation as here:

I used a pair of Mk. 1 eyeballs when fixing the yellow cast of my camera. It may not be as accurate as a color checker, but still gets the job done. I explain a bit more in that thread.

That’s exactly what he doesn’t want. And it’s something to be careful with, in any case, since it can cause it’s own issues.


@Donatzsky It was this old video I was thinking of: Adjusting colors using the HH L*a*b* curve to match reference values in RawTherapee - YouTube

Have fun!
Claes in Lund, Sweden

@Claes: Sorry, I don’t get what this has to do with my question. I appreciate suggestions, but please be specific.

@Donatzsky: yes, mk 1 eyeballs are always an option, and may even be better than something very disciplined give that cameras do a host of other things to the image — I just need a quick baseline correction for further WB correction etc.

Once I get a preset (color calibration pass-through, matrix only), I am not sure where to put it in the pipeline though. Before color calibration?

Sorry, I don’t get what this has to do with my question

Oh-oh. Then I must have totally misunderstood your needs!
Sorry for the noise!

Is it only red… if so pull up the vector scope on your jpg…mark red that you like…Then use a hue vs hue adjustment or other to move red to the same hue and if need be saturation…

You could also try the spot color mapping to see how close that could get you… sample from the jpg and correct the raw…

You have to be careful but @Claes was likely thinking you would use the CLUT module color chart …select the red that is bad. It will pick a patch on the module… Then shift click the patch now you have your exact color selected , ie it replaces the patch…now you simply use the L a b saturation sliders to correct either to your jpg reference or desired taste… You could likely even add it after filmic as a color correction once you are back in display. space… But this would likely not be something that you can use generically but you can. And guess what Boris quite often has used it in his video’s to tweak colors …

Edit :slight_smile:
Older module and maybe an older approach but none the less maybe this was even what @Claes had recalled colour in darktable using the clut module

1 Like

Good question. I put mine after, but as I said in the other thread, I just found something that seemed to work and moved on. Essentially a fix for a slightly skewed WB, and which wasn’t always required. And now that I have custom WB coefficients, I find that I don’t need it - minor adjustments in CAT are usually enough.

If you do a full profiling, the matrix is applied in the same instance as the CAT I believe. So that seems like a valid option. Putting it before the CAT instance may or may not screw things up, I really have no idea. Putting it after does mean, in my experience, that it essentially becomes the WB adjustment and any changes in CAT should be avoided as they may make everything look wrong.


Its my understanding at least when you do this using the automated routine created by AP its part of the CAT tab and it results in a tweak to color using color channel tweaks in the channel mixer tabs while taking into account the input profile , wb , and the cat settings to derive those adjustments. I know that this needs a color checker. But since that is how it is applied when using that method I would think that it would be fine to simply add it in there.

@Tamas_Papp Have you tried simply grabbing the test shots for your camera from imaging resources and running the automated procedure and just see if it might be generally applicable or useful…

Try disabling the color calibration module entirely and keep using the white balance module only. As far as my experience with the GX80 and the G9 cameras goes, the color calibration module always comes with a cast, and sometimes quite an odd one.
Also, newer RW2 files enable the ability to tweak the daylight setting to your likings, like make it look warmer or colder without having to fiddle with the temperature and tint sliders.


Thanks, that worked great. Specifically, setting white balance to “as shot” removes the cast. I can still use color calibration for minor corrections.

I am wondering if there is a way to set this up automatically for new images, with a setting or a preset. I recall auto-apply chromatic adaptation: legacy in the processing tab of the preferences, but I can no longer find it. Now white balance gives me the camera reference for new images.


You have these options:


Setting to none or display-referred will give you WB with As Shot. That’s what I am currently doing for the same reason. Keep in mind, this will affect the default blend colorspace of the modules (they will prefer display referred).

Auto-Presets will not work for the WB module in your case.

1 Like

Aargh. Then the least-tedious solution would be manually changing WB to “as shot” for each image. I wonder if I can use LUA scripts for this (probably not).

I am surprised that auto-detection in color calibration gives me better results for some images with WB “as shot”. But it is image-dependent, occasionally OK, sometimes not.

I think that the best and most general solution will be a matrix, as suggested by @Donatzsky, because WB only has 2 degrees of freedom, while the matrix has 3x3-1=8. After all, this is about the sensor, not white balance.

It is my impression that this issue is highly relevant in general for a lot of cameras. Cf this topic, where unfortunately I was not able to obtain a practical solution:

Again, I am fine with getting a color chart and doing the legwork, but it is unclear what I would do with images afterwards to get the color matrix into Darktable. I am under the impression that they are no longer added.

There is the initial workflow script, somewhere here in the forum. Doesn’t fit my workflow, but it is generally really usefull, I think.

Yeah, that’s what I have done too. Got a (actually multiple) color chart and created an icc input profile which I’m happy with (This is something I would recommend in general, as the colors are better represented as with the generic matrix).
The WB module issue is still there though. I need/want to use the WB in as shot mode (because otherwise I would need to determine better D65 values) and so I keep the pixel workflow setting at none.

1 Like

Umm… what effect does this have? I wasn’t aware of that… I currently use ‘none’ too, as I also prefer the legacy WB, although I love CC for more creative adjustments, but I wasn’t aware of any side-effects.

Actually I’m not sure about side effects. For me its a bit worrying, as scene referred is obviously the future and I feel a bit ‘side lined’.

The blend color workspace defaults to this

And you get the parametric controls in HSL and not JzCzhz. You can switch this but in some cases it doesn’t work, I think. Don’t quote me on this :-).

Maybe someone else can step in with a more correct technical explanation. This goes deeper than my current understanding of the program.


It would be nice if someone who knows can enlighten us… I will try the manual although I expect you’ve looked there already.

As far workflow goes I love scene referred as far as the rest of it goes, it’s just I don’t really like the complication of color calibration and the well known caveats with it, as, for me, usually, it doesn’t give any advantage.


I’ve just looked, and on my system, DT 4.4, with workflow set to none, different modules have different default blend colorspaces - color balance rgb is display, while diffuse and sharpen is scene…

A quick look in the manual -

I should check this experimentally, but maybe this is actually unrelated to the workflow setting in preferences and instead simply down to which module one looks at? :thinking:

The fact that they’ve removed the option to use the old white balance setting is one of the reasons I’m stuck with DT 4.2. It’s nonsense.

1 Like