Canon 90D CR3 very poor colour rendering


I am quite new to RawTherapee and I quite like the software, thanks for the great work. However, I have noticed that my RAW files from my Canon 90D in a format CR3 have a very poor colour rendering. The colours are nowhere close to the colours given by DPP 4 or the camera’s jpeg to an extent that it makes me avoid using the software completely. I’m not sure if anyone else with the new CR3 files have experienced this, but is there any walkaround or anything I could do in the settings to improve this? I’ve tried all the different settings, and they give very poor results. I spent way to much time trying to match the colours manually, which is definitely not the way to go.

Thanks in advance for any feedback.

You can check the attached .jpeg for comparison.

Hi @andy_t The 90D has not yet gotten proper color support because Adobe Camera Raw hasn’t provided camera-specific DCP files. See (look for D90, second column says No).
If you have a color target and the possibility to shoot the target under the proper lighting conditions, we could generate a DCP ourselves and include that in RT for a much more accurate color representation. Please see

Edit: this turned out to be false information. RT nightly builds already ship a good quality DCP profile. Currently it automatically works for DNG’s but needs manual application for CR3’s since metadata support is pending.



Libraw has color primaries for the 90D:

{ LIBRAW_CAMERAMAKER_Canon, "EOS 90D", 0, 0,
      { 11498, -3759, -1516, -5073, 12954,  2349,  -892,  1867,  6118}}, /* temp */

Their licensing in the colordata.cpp file is either of:

If that makes one nervous, I took DPReview’s ISO 100 comparison tool .CR3 for the 90D and made ICC matrix profiles from the extract of the ColorChecker:

canon_eos90d_matrix-colprof.icc (4.5 KB)
canon_eos90d_matrix-dcamprof.icc (524 Bytes)

I developed the DPReview image with both profiles, colors look okay…

The dcamprof profile is D65, here’s its colormatrix as reported in the dcamprof log:

Finding a camera raw RGB to CIE XYZ matrix for calibration illuminant D65...
Warning: whitest (most neutral) patch in target (D03) differs DE 12.78
  from calibration illuminant, matrix precision may suffer.
Inverting to get ColorMatrix:
    "ColorMatrix1": [
      [  1.322230, -0.188872, -0.123146 ],
      [ -0.447098,  1.138902,  0.347347 ],
      [ -0.135752,  0.272677,  1.024729 ]

@andy_t, this is probably more than you ever wanted to know about your problem, sorry 'bout that. However, you can use either of the two profiles in RawTherapee as input profiles, and that will solve your problem until RT is updated.


Thanks a lot @ggbutcher for your effort. It is exactly what I was looking for (and potentially other 90D users), it works great.

Best regards

@andy_t Something wasn’t sitting right with me, I thought we had done something about the color rendition of the 90D before. And it turns out, I was right. I just hadn’t looked for it in the right place. We have had a high-quality DCP profile available in the development version of RT since the end of August 2020:

The caveat is that this does not work on CR3 files, because their metadata cannot be read (yet), so they cannot be recognized. Conversion to DNG first will pick up the DCP profile automatically in RT.
You have to use a nightly build from here

@ggbutcher Your derived color matrix is quite a bit different from the one in LibRaw. When I apply them to the same image, I get noticeable differences, especially in some colors (pesky blues). See here:

LibRaw matrix

Butcher matrix

I tend to like the LibRaw version a little more, but I wouldn’t expect that much of a difference tbh.


Here’s the patch report for the dcamprof ICC profile (is that the one you used?):

  D03 DE 0.00 DE LCh +0.00 +0.00 +0.00 (gray 70%)
  D04 DE 0.48 DE LCh +0.44 +0.18 -0.08 (gray 50%)
  A06 DE 0.55 DE LCh +0.01 -0.04 +0.55 (light cyan)
  D02 DE 0.56 DE LCh +0.27 +0.05 +0.48 (gray 80%)
  A01 DE 0.66 DE LCh +0.23 +0.37 -0.49 (dark brown)
  A03 DE 0.88 DE LCh +0.63 -0.08 -0.62 (purple-blue)
  C02 DE 1.13 DE LCh -0.06 -1.10 -0.25 (yellow-green)
  A02 DE 1.14 DE LCh +0.15 -0.91 -0.67 (red)
  D05 DE 1.22 DE LCh +1.14 -0.13 +0.42 (gray 40%)
  D01 DE 1.38 DE LCh -0.07 -1.34 -0.31 (white)
  D06 DE 1.94 DE LCh +1.78 -0.19 +0.73 (gray 20%)
  B04 DE 1.96 DE LCh +1.82 -0.16 +0.69 (dark purple)
  A05 DE 1.99 DE LCh +1.84 +0.80 +0.11 (purple-blue)
  A04 DE 2.00 DE LCh -0.71 -0.58 -1.77 (yellow-green)
  B01 DE 2.19 DE LCh -0.99 -1.29 -1.46 (strong orange)
  B03 DE 2.24 DE LCh +2.08 -0.79 +0.28 (red)
  B02 DE 2.30 DE LCh +1.69 -0.73 +0.91 (purple-blue)
  C05 DE 2.36 DE LCh +2.05 -0.41 +1.09 (purple-red)
  B06 DE 2.68 DE LCh -1.52 -1.40 -1.70 (light strong orange)
  C01 DE 2.77 DE LCh +2.23 -0.72 +1.02 (dark purple-blue)
  C06 DE 3.00 DE LCh +2.66 -0.29 -1.38 (blue)
  C03 DE 3.18 DE LCh +3.11 -0.66 -0.01 (strong red)
  C04 DE 3.19 DE LCh -0.84 -2.74 -1.40 (light vivid yellow)
  B05 DE 3.70 DE LCh -2.27 -2.81 -0.81 (light strong yellow-green)

The largest DE is 3.70, which is not bad as far as matrix profiles go. That said, while the renders are different, I don’t think either is out of the bounds of acceptability. We don’t often get to compare such results; we usually just live with whatever the raw processor we like happens to work with.

1 Like

The two profiles are very different chromatically:

I don’t know the provenance of the libraw primaries…


Thank you @Thanatomanic! The dcp profile is top-notch indeed. Yes, I agree that it is a bit of an inconvenience that you have to manually load the profile or do a DNG conversion. I manually load it as a custom profile and it works fine for my needs at the moment, although would be great to maybe see some updates in newer versions :-). I am glad I can accurately render the colours and I thank you for your great feedback.

Yes, I could notice a slight difference in @ggbutcher profile, yet it was subtle and it is a good profile that could still work (in case there wasn’t a better profile available).

Thanks and Best regards

1 Like

Create a pp3 profile and set it to be auto applied using the dynamic profile tab in settings.


Where is the pp3 profile set to “auto applied” in settings?


  • create a partial pp3 that search for the ICC in right location
  • in “preferences>dynamic profile”, associate this profile with your camera and in “preferences> image processing” set raw profile to (dynamic)