Project

General

Profile

Bug #9013

White balance module: presets for Canon 600D incorrect

Added by Richard Levitte over 6 years ago. Updated over 6 years ago.

Status:
Fixed
Priority:
Low
Assignee:
-
Category:
Darkroom
Start date:
10/18/2012
Due date:
% Done:

100%

Affected Version:
git development version
System:
bitness:
64-bit
hardware architecture:
amd64/x86

Description

Hello,

I had a closer look at the presets used for my Canon 600D, and noticed that when I would use the daylight preset with an image that was taken with my camera set to daylight, the 'temperature in' slider would differ from the 'temperature out' slider. Not enormously, but still enough to matter.

This had me take a closer look at the presets (src/iop/wb_presets.c) for the 600D and compare it to the settings the camera will give me.

From exif data:

WB RGGB Levels Daylight : 2289 1024 1024 1651
Color Temp Daylight : 5200
WB RGGB Levels Shade : 2655 1024 1024 1411
Color Temp Shade : 7000
WB RGGB Levels Cloudy : 2467 1024 1024 1522
Color Temp Cloudy : 6000
WB RGGB Levels Tungsten : 1636 1024 1024 2467
Color Temp Tungsten : 3200
WB RGGB Levels Fluorescent : 2005 1024 1024 2315
Color Temp Fluorescent : 3729
WB RGGB Levels Flash : 2570 1024 1024 1500
Color Temp Flash : 6320

Calculating these to floats with green being 1.0 (divide all numbers with 1024), it gives us this:

Daylight: 2.2353516 1.0 1.6123047
Shade: 2.5927734 1.0 1.3779297
Cloudy: 2.4091797 1.0 1.4863281
Tungsten: 1.5976563 1.0 2.4091797
Fluorescent: 1.9580078 1.0 2.2607422
Flash: 2.5097656 1.0 1.4648438

Looking at wb_presets.c, I find this:

{ "Canon", "EOS 600D", Daylight, 0,        { 2.1602, 1, 1.5752, 0 } },
{ "Canon", "EOS 600D", Shade, 0,        { 2.5098, 1, 1.3418, 0 } },
{ "Canon", "EOS 600D", Cloudy, 0,        { 2.3330, 1, 1.4502, 0 } },
{ "Canon", "EOS 600D", Tungsten, 0,        { 1.5371, 1, 2.3594, 0 } },
{ "Canon", "EOS 600D", WhiteFluorescent, 0,    { 1.8789, 1, 2.2402, 0 } },
{ "Canon", "EOS 600D", Flash, 0,        { 2.4268, 1, 1.4297, 0 } },

As you can see, there's quite a difference.

History

#1 Updated by Pascal de Bruijn over 6 years ago

  • Status changed from New to Closed: upstream
  • Priority changed from Medium to Low

We get the white balance presets from the UFRaw project.

The white balance presets are occasionally changed by the vendors between firmware revisions.

So make sure you have the latest camera firmware, and if it still differs (assuming the white balance presets were based on an earlier firmware), you can submit new white balance presets to the UFRaw project and us.

This script might be helpful (it's not very well maintained, so you might need to ignore some warnings here and there 2>/dev/null and such):
http://ufraw.cvs.sourceforge.net/viewvc/ufraw/ufraw/wb_extract.pl?view=markup

Feel free to re-open this bug if you have updated presets using the latest camera firmware (and report which firmware version you used).

#2 Updated by Richard Levitte over 6 years ago

Said and done, I upgraded to the latest firmware (1.0.2), looked at the instructions on the ufraw page, and took a few snaps, one with each preset in the camera. The first thing I noticed was that the preset values in the exif data didn't differ from before the firmware upgrade (I had 1.0.0 before the upgrade).

Using wb_extract.pl, I got this (which, incidently, confirms my calculations):

{ "Canon", "EOS 600D", "Daylight", 0,         { 2.235352, 1, 1.612305, 0 } },
{ "Canon", "EOS 600D", "Shade", 0,            { 2.592773, 1, 1.37793, 0 } },
{ "Canon", "EOS 600D", "Cloudy", 0,           { 2.40918, 1, 1.486328, 0 } },
{ "Canon", "EOS 600D", "Tungsten", 0,         { 1.597656, 1, 2.40918, 0 } },
{ "Canon", "EOS 600D", "Fluorescent", 0,      { 1.958008, 1, 2.260742, 0 } },
{ "Canon", "EOS 600D", "Flash", 0,            { 2.509766, 1, 1.464844, 0 } },

Using the recommendation from the ufraw pages, I also used ufraw itself to get the values (and they confirm the results above):

: ; ufraw-batch --create-id=only *.CR2
ufraw-batch: Läste in _MG_8920.CR2 [1/6]
ufraw-batch: Läste in _MG_8921.CR2 [2/6]
ufraw-batch: Läste in _MG_8922.CR2 [3/6]
ufraw-batch: Läste in _MG_8923.CR2 [4/6]
ufraw-batch: Läste in _MG_8924.CR2 [5/6]
ufraw-batch: Läste in _MG_8925.CR2 [6/6]
: ; grep Channel *.ufraw
_MG_8920.ufraw: <ChannelMultipliers>2.2354 1.0000 1.6123 1.0000</ChannelMultipliers>
_MG_8921.ufraw: <ChannelMultipliers>2.5928 1.0000 1.3779 1.0000</ChannelMultipliers>
_MG_8922.ufraw: <ChannelMultipliers>2.4092 1.0000 1.4863 1.0000</ChannelMultipliers>
_MG_8923.ufraw: <ChannelMultipliers>1.5977 1.0000 2.4092 1.0000</ChannelMultipliers>
_MG_8924.ufraw: <ChannelMultipliers>1.9580 1.0000 2.2607 1.0000</ChannelMultipliers>
_MG_8925.ufraw: <ChannelMultipliers>2.5098 1.0000 1.4648 1.0000</ChannelMultipliers>

I've reported this on the ufraw bugtracker as well, with some additional thoughts and links to the pictures I used, see here: https://sourceforge.net/tracker/?func=detail&aid=3578178&group_id=127649&atid=709086

(how does one reopen a report?)

#3 Updated by Christian Tellefsen over 6 years ago

  • Status changed from Closed: upstream to Triaged
  • % Done changed from 0 to 20

Reopened

#4 Updated by Pascal de Bruijn over 6 years ago

  • % Done changed from 20 to 100
  • Status changed from Triaged to Fixed
  • Target version set to Candidate for next major release

Also available in: Atom PDF