Color issues canon 550D and 600D - input profile choice

Hey Folks,

I am photographing some of my minerals - azurite - deep dark navy blue - with my canon 550D and 600D on a tripod with LED flat panel 5600oK light, 100 ISO and f26-36, running Magic Lantern

camera is set to sRGB color space.

When I open these images in Darktable, they have a distinct purple tinge to them…

At first I thought it was me - then I thought it was the monitor, then the camera…

Now I am beginning to suspect it’s the standard and extended input color profiles in darktable.

I get good color match if I chose any other RGB profile, pretty much - but all universally much darker than the standard or extended profiles.

I do not see the same behaviour in any other raw management packages - Rawtherapee, shotwell, digikam- they just work out of the box…

I’m at a loss as to what to try next, short of buying a color match card that I can’t really afford (and frankly, for something that should just work, well enough for general use).

Any idea where I can get an ICC profile for a canon 500D or 600D to try, just to confirm first order that this is the problem?

I’m not a darktable user, but this sounds like something to do with the selected rendering intent. Reading “3.2.6 Color Management” in the darktable docs might give some insight. Essentially, you want to be using relative_colorimetric intent, as this will scale out-of-gamut colors toward thei white point, which preserves the hue. This might be all you need to do to get an acceptable rendition.

Now, if you don’t mind a bit of a story, extreme blue colors are challenging to most default camera profiles, which are usually 3x3 matrix profiles. All these profiles can do is describe out-of-gamut translations as a linear function, along a straight line, and to get the extreme colors to not posterize it takes a bit of curviness in the translation. A LUT camera profile does this nicely.

One expedient way to get a LUT profile for a specific camera is to get the Adobe Standard DCP for that camera from the Adobe DNG Converter. In RawTherapee you can just use it directly; for darktable you’d need to convert it to an ICC profile. I’ve done this successfully for my Nikon D7000, but the same thing for my Z6 didn’t work so well and I haven’t taken the time to figure out why, so YMMV…

I just looked for the 550D in my download of the DNG converter, and it’s there. To convert it to a LUT ICC profile, you’d need to get a copy of the dcamprof program (a really useful profile tool). I don’t know what your computer chops are (welcome to the forum, BTW…), but it’s a C program you’d have to compile, then run it in a command shell to do the work.

You’ve come to a good place to learn about all this; a lot of knowledgeable and helpful people post here. I’m not one of them, BTW, I just have learned all this in the past couple of years… :face_with_raised_eyebrow:

2 Likes

Oh, if you are inclined to do so, you might post a raw file and corresponding JPEG of such, I think folk get the best answers to their questions when a “goezinta” and “comesouta”* is presented for consideration.

* Colloquial American English for ‘input’ and ‘output’… :smiley:

@bulwynkl Welcome to the forum!

Tell us what version of dt you have and where you got it from, include OS info. If possible, send us a sample raw file with the sidecar (XMP). The more you provide, the easier it will be to help you. Oh, when you have posted enough posts, you should be able to drag and drop files and images.

@bulwynkl,

So, was doing some digging in my tablet folders for another project, and I ran across a spectral sensitivity database I’d found a while ago. On a whim I opened it up, and found it contained measured data for the Canon 600D. For reference, the database can be found here:

http://www.gujinwei.org/research/camspec/camspec_database.txt

I extracted the data and made a .json file suitable for ingest by dcamprof. Here’s the file contents:

{
  // camera name, should preferably match established manufacturer and model
  // name used by raw converters
  "camera_name": "Canon 600D",

  // bands in nanometers, described the same way as for spectrum format
  "ssf_bands": [ 400, 720, 10 ], // 400nm to 720nm in an interval of 10nm

  // Response functions for red, green and blue. Scaling for the responses
  // must be the same for all three, but it does not matter what it is, as
  // the response will be normalized before use. Setting the maximum to 1.0
  // is typical.
  "red_ssf": [
	0.0018383,0.0034546,0.0065563,0.0064237,0.003663,0.0032176,0.0045901,
	0.0075219,0.015409,0.022585,0.033511,0.053847,0.066262,0.082616,
	0.10166,0.15313,0.2023,0.29541,0.4398,0.53074,0.51692,0.50521,
	0.38884,0.34276,0.26434,0.22089,0.1637,0.13044,0.072591,0.021389,
	0.003813,0.00089247,0.00023267
 ],
  "green_ssf": [
	0.0027522,0.0063568,0.025923,0.055392,0.079072,0.098383,0.13411,
	0.28424,0.53216,0.67504,0.78346,0.91032,0.89359,1,0.88185,0.85526,
	0.76181,0.71016,0.56299,0.44008,0.27856,0.16213,0.078769,0.052859,
	0.035122,0.026057,0.018983,0.01922,0.014806,0.005949,0.0013347,
	0.00034954,0.00012156
],
  "blue_ssf": [
	0.010963,0.047664,0.25927,0.6278,0.69721,0.78211,0.8035,0.78122,
	0.75824,0.64609,0.513,0.38666,0.22351,0.15669,0.10477,0.078029,
	0.050767,0.040953,0.034064,0.027857,0.019411,0.013821,0.0088981,
	0.0081423,0.007593,0.0084223,0.008274,0.0083911,0.0053867,0.0018156,
	0.00036101,0.00011979,7.6506e-05
 ]
}

With that, I ran the following dcamprof iterations:

$ dcamprof make-target -c Canon_600D.json target.ti3 camera_profile.json
$ dcamprof make-profile -c Canon_600D.json target.ti3 camera_profile.json
$ dcamprof make-icc -p xyzlut camera_profile.json Canon_600D_ssf.icc

And, here’s the result:

Canon_600D_ssf.icc (212.5 KB)

Let me know if it works.

2 Likes

I have known about this for a long time but didn’t give it any thought. I have a 550D, which apparently has the same innards as the 600D. Will give this input profile a spin sometime.

I’d be curious to see how it works. I’ve had good result with the rawtoaces data for the D7000; in fact, I even tried the D7000 profile with a couple of Z6 images, and it produces nice colors there. I compared the SSF curves for a few recent Nikon cameras, and they are similar. It would seem they specify a certain dye supplier for their sensors… ??

As long as your camera isn’t ugly duckling of the batch. :stuck_out_tongue:

Hi folks,

So, time marches on and you get distracted and it’s not until you face the problem again next time that you suddenly ask yourself, hey, I wonder if anyone answered my previous posts on this that you get around to checking…

in the mean time I discovered that setting the output profile in RT to no ICM: sRGB resulted in (within reason) pretty good blue rendition for jpgs. And now I read back with the value of hindsight and understand what is being talked about here as though I knew all along - when clearly I didn’t…

to be fair, initially I didn’t know if the problem was the Camera settings, specific camera, lighting (LEDs aren’t really white), or the programs. I had a suspicion it was color profiles, and related to the nature of light capture in digital cameras (out of gamut correction etc), but now re-reading this I realise how much my understanding has increased… enough to know how much I’m missing anyway…

so here is what I will be doing in the next little while - trying out this profile you have kindly provided. I’ll check back in in a few days and see how it goes…

1 Like

Just FYI I haven’t forgotten this - just been busy…

1 Like