Does anybody know how the Raw Temperature values in ML relate to actual temperatures (Centigrade or Fahrenheit)?
And where can one find out temperature tolerances for the Canon 600D?
Thanks
http://groups.google.com/group/ml-devel/browse_thread/thread/725ae6f424dd2917
=> grab a thermometer and measure it, then let us know.
Thanks for the links Alex.
Quote from: a1ex on January 22, 2013, 11:53:42 PM
http://groups.google.com/group/ml-devel/browse_thread/thread/725ae6f424dd2917
=> grab a thermometer and measure it, then let us know.
exiftool seems to decode this whole stuff
edgar@linux-pusc:~/testordner> exiftool -CameraTemperature test.CR2
Camera Temperature : 22 C
So, no thermometer would be necessary :)
Edgar
Interesting..
I tried my best to make sense of the structure of exiftool, but I can't find a table or alike which could help us. I assume that the value in the exif already is converted to Celsius.
We can either collect some data by taking photos, checking the temperature in exif, compare to the raw data and create some tables.
Or try to find the tables (or function) somewhere in the firmware.
Or I simply overlooked something in exiftool. (this statement made this post quite useless again ^^)
this is worth working out as 6d seems to display similar temps to 600d
probably would be pretty simple if the temp is converted. record them, take a pic. shoot some video, record new temp, take a pic. it doesn't fluctuate that much so if you get a few values you might be able to figure out the rest.
Seems to be stored quite simple:
Exiftool -CameraTemperature source.jpg
Camera Temperature : 19 C
Exiftool -CameraTemperature -b source.jpg
19
Verified by changing EXIF
Exiftool -CameraTemperature=10 source.jpg
Exiftool -CameraTemperature source.jpg
Camera Temperature : 10 C
Exiftool -CameraTemperature -b source.jpg
10
Exiftool -CameraTemperature=-10 source.jpg
Exiftool -CameraTemperature source.jpg
Camera Temperature : -10 C
Exiftool -CameraTemperature -b source.jpg
-10
Ciao, Walter
Okay, I'll collect some data then. My 600D is already outside in order to cool down. Should be a few minus degrees Celsius right now, so we can get data over a wide span. I think 3-4 samples with different temperatures should be good enough do to an okay regression analysis.
When that works out as I hope, I might do the same with a 1100D.
EDIT: okay, lets say round about 10 samples.
Okay, here are the values for the 600D:
raw | 128 | 130 | 133 | 140 | 157 | 160 | 170 | 176 | 182 |
C° | 7 | 8 | 13 | 16 | 24 | 24 | 29 | 34 | 36 |
EDIT: a linear regression analysis results with: -57.608+0.516x
I think something like x/2-58 might be what we are looking for
EDIT EDIT:
I just checked what regression models would fit. Even though a logarithmic has a RMSE of 1.173, the linear has 1.211, which appears to be it. So yea, we found it, I think..
Given this "new" discovery, it's worth re-checking the 550D values and see how they compare
6d appears to display the same values so i think that scale is the same for all new cameras. i have to run them together and see if they display the same temps at the same time to be sure.
Look at this command:
edgar@linux-pusc:~/testordner> exiftool -CameraTemperature test.CR2 -v3 | grep CameraTemperature
| | | | CameraTemperature = 150
| | | | CameraTemperature = 150
Maybe, these are the raw-data. But I´m not shure about..
Edit:
Yes, looks like raw:
| | | | CameraTemperature = 150
| | | | - Tag 0x000c (2 bytes, int16s[1]):
| | | | 063c: 96 00 [..]
Edgar
that command results in the temperature in Celsius here.. but looks like raw data indeed. What camera is that from?
EOS600d
Edgar
maybe, you forgot the -v3 option, which does the binary stuff
Edgar
I wrote a little bash-script:
#!/bin/bash
for all in $HOME/testordner/testreihe/*.CR2
do
exiftool -CameraTemperature $all >> $HOME/testordner/testreihe/log
exiftool -CameraTemperature $all -v3 | grep CameraTemperature >> $HOME/testordner/testreihe/log
echo >> log
done
Then I took some pictures and looked into the exifs with the bash-script. this is the result for my 600d
Camera Temperature : 21 C
| | | | CameraTemperature = 149
| | | | CameraTemperature = 149
Camera Temperature : 24 C
| | | | CameraTemperature = 152
| | | | CameraTemperature = 152
Camera Temperature : 27 C
| | | | CameraTemperature = 155
| | | | CameraTemperature = 155
Camera Temperature : 28 C
| | | | CameraTemperature = 156
| | | | CameraTemperature = 156
Camera Temperature : 31 C
| | | | CameraTemperature = 159
| | | | CameraTemperature = 159
Camera Temperature : 34 C
| | | | CameraTemperature = 162
| | | | CameraTemperature = 162
Camera Temperature : 34 C
| | | | CameraTemperature = 162
| | | | CameraTemperature = 162
Camera Temperature : 36 C
| | | | CameraTemperature = 164
| | | | CameraTemperature = 164
Edgar
You are right.. the values fit somewhat to what i read manually when doing the tests. The test with 128 is 125 in the exif.
I don't know, maybe the value in the ML menu might now be fully up to date. Can someone please confirm that?
That script is great, now we just need to collect a bunch of pictures from different cameras and do regression analysis on the data.
Important edit: I noticed quite a little difference between your and my data around 130, but 36° is 182 here (from ML menu), 164 for you (in exif). Should we trust the exif or the ML menu?
PS: what I read to be 182 in ML menu is 164 in exif too. I took the picture while the camera was set to film, so almost no delay which could give a chance to cool it down.
Hmm, if the exif-data and the data of ML are the same, then it´s only necessary to substract 128 to get °C. If they are not the same, then I don´t know...
Edgar
Quote from: SDX on January 23, 2013, 08:08:12 PM
Important edit: I noticed quite a little difference between your and my data around 130, but 36° is 182 here (from ML menu), 164 for you (in exif). Should we trust the exif or the ML menu?
PS: what I read to be 182 in ML menu is 164 in exif too. I took the picture while the camera was set to film, so almost no delay which could give a chance to cool it down.
In my case is 164 in exif 164 in ML. See this list:
ML.. 145 146 148 156 158 159 161 164
exif 149 152 155 156 159 162 162 164
In the first 4 cases, the temperature was rising quite quickly, maybe that is the difference here
Edgar
Okay, well, that convinces me.
x-128, that's easy
1100D seems to be using x-128 too. I'll have to check the 650D and the M but x-128 makes perfect sense from a metadata point of view as it allows temps in a range from -128C to 128C using a uint8_t
We are able to print on the screen while doing a bulb exposure, aren't we? Would be great if we could put some useful information there (such as the temperature).
I looked at sourcecode of exiftool:
#..............................................................................
# common CameraInfo tag definitions
.
.
.
my %ciCameraTemperature = (
Name => 'CameraTemperature',
Format => 'int8u',
ValueConv => '$val - 128',
ValueConvInv => '$val + 128',
PrintConv => '"$val C"',
PrintConvInv => '$val=~s/ ?C//; $val',
);
Edgar
So... the 550D measurements were not accurate?
I looked at my old pictures. 450d fits to x-128
Edgar
Right now, my 5D3 says 152, the 5D2 says 151 and the wall thermometer says 25. Makes sense.