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 Cameras supported by Camera Raw (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 How to create DCP color profiles - RawPedia

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: Improved Canon EOS 90D dual-illuminant DCP · Beep6581/RawTherapee@8a4d12c · GitHub

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 Release Automated Builds · Beep6581/RawTherapee · GitHub

@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?

see Dynamic processing profiles - RawPedia

  • 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)

Hello Glen, (@ggbutcher)
I came to the RT Forum to find the solution to the same problem listed here. However, I would need some extra assistance in getting this profile loaded. So will it be possible to give me step-by-step guidance in getting the matter at hand resolved?
Many thanks
With kind regards

I’m not a RT user per se, but I think the Rawpedia gives you what you need:

Basically, under the Color tab, select Color Management → Input Profile → Custom, then specify the ICC or DCP file for your camera. It can be one of the files posted previously in this thread, or one of your creation (and that’s really not too hard once you collect all the necessary things).

RT users, feel free to correct and clarify…

@ggbutcher : No corrections needed. This is the correct way to load them.

One addition that might be worth mentioning: Creating a dynamic processing profile to load the ICC/DCP file. You could make this part of your base profile but that would blindly apply it, which might not be wanted if one uses multiple cameras. A dynamic profile can be made camera brand/type specific.

Sorry … But I haven’t been able to make much of a headway here :frowning:

P. S. I use RT on PCLinuxOS


The DCP file for the Canon 90D is already present in RawTherapee’s development version. Are you using an up-to-date image or the old and somewhat out-of-date stable 5.8 version? If you are on the old version use the link in post 5 to download a Linux appimage.

You do realize that CR3 is not supported yet, right? Neither in stable or the development versions. You need to convert to DNG. That converted DNG is supported.

If that isn’t the problem can you elaborate on the problem? What, exactly, doesn’t work or don’t you understand?

Okay Jacques @Jade_NL . I’ll try explaining my situation:


  1. Camera used: Canon EOS 90D
  2. Operating System: PCLinuxOS (updated)
  3. Images in RAW - CR3 format
  4. Software used for post-processing: RawTherapee 5.8 + GIMP 2.10.28 (XnConvert for Batch Watermarking)

Current Situation:

  1. CR3 RAW Images are copied from Camera’s memory card to the repository on desktop PC
  2. RawTherapee is used for initial processing:
  • whilst previewing the image, the thumbnail (embedded JPG) shows the image in good color
  • But once the image is opened in editor mode, the colors are not rendered correctly.
  • So the initial effort is to get back the base colors and then start the actual post-processing
  1. I’m aware that CR3 support is still in developmental stage. But the conversion to DNG, etc. is something that I wasn’t aware of.

(p. s.) I have been trying to install MacOS in a VirtualBox, so that I can install Canon DPP 4. But no great success in that direction too.

I have been trying to figure out a way that will help me save effort by improving the rendering of my photos in RawTherapee (Thumbnail versus Editor). I was searching on the forum for some assistance on this matter and came across this post.

Unfortunately, though I have been using PCLinuxOS for a while now, I’m not technically adept to do some of the steps listed in this thread, unless adequately instructed.

Would you be able to help me out here?

Many thanks (in advance)
With kind regards

Can you please answer the questions posed to you?

@tanmayj316 Re: the initially dull appearance of your raw shot in RawTherapee, read the Rawpedia article linked below. RT deliberately doesn’t do any of the typical adjustments / enhancements most other raw converters do by default. Everything you described in #2 is covered in RawPedia, in fact I think in this article.

I’m no expert, so I may need to be corrected someone more knowledgeable, but I believe you can achieve what you want (i.e., making it more like the embedded JPG) by loading the Adobe 90D profile.

The Adobe DNG converter includes a lot of profiles. It’s a Windows app but you can download and install it temporarily somewhere, even if you don’t plan on converting anything to DNG. Its camera and lens profiles are stored in folders down below C:\ProgramData\Adobe\CameraRaw. Copy these profiles (or at least the ones you want) to your Linux box. I recommend putting them in a directory under your home directory, preferably in the RawTherapee config directory (~/.config/RawTherapee/*). From RT, go to the Color tab | Color Management and load the 90D profile by selecting Custom in the Input Profile section. Navigate to where it’s saved and load it. If you want to make this automatic, make sure you default processing profile has the 90D profile loaded before you save it.

There are also other profiles bundled with RT that may be to your liking. Click the Processing Profiles button above the tabs, go to Bundled Profiles | Pop, and try some of those. But I suspect the actual camera profile described above it what you want. Maybe? :slight_smile:

I recommend reading RawPedia, even if you skim over the more scientific / mathematical aspects of it. Much information is there, albeit often in more of a reference, than tutorial, manner. However there are exercises (i.e., instructions) on how to do much.


Two issue could be at play here. One of those is already dealt with by Len Philot and the Eek… link he posted.

The other issue is a basic native colour profile for the 90D. Out of the box the colours are way off due to a lack of an automatically applied profile for this camera type.

You haven’t answered which RawTherapee version you are using, so point 2 needs to be answered for 2 situations:

  1. You are using an old version of RawTherapee (this one].
    First of all: get a recent development version as mentioned in my previous post. But, this version can be used if need be.
    This version does not come with a native Canon 90D DCP profile. This means that you need to download and safe the profile that was provided in post #5.
    Now start RawTherapee, load a canon d90 cr3 image, got to the Colour tab, then Colour Management. Select Custom, browse to the location that you saved the DCP file to and select it.
    Tada! Correct colours are back.

  2. You are using a recent RawTherapee version.
    As mentioned by Roel, this one natively has this profile. It isn’t yet picked up automatically due to lack of cr3 exif support, though.
    You do not have to download the DCP file as described above in point 1, the other steps are roughly the same: When you select Custom and start the browsing process you are initially send to the directory that holds the native profiles. Look for Canon 90D and select it.

For the moment all this is an action that needs to be done by hand every time you load a 90D image. If you want/need to automate this go and have a look at these 2 RawPedia articles:

EDIT: Spelling and some clarification.