Update 11jan06 @ 11:33 {OS X} 10.4.4 is now available, and fixes this problem.
Update 03nov05 @ 12:04: Right, Phil Chapman appears to have sorted out the correct codes for 350D support by utilising values from the Canon PowerShot G6 entry in the Raw.plist file, so rather than post a new entry I’m updating this one so that it shows correct and useful information (the downloadable file has also been updated).
I’ve been annoyed with the lack of RAW support for the Canon EOS 350D for a long time, and had high hopes that 10.4.3 would fix this as it seemed to be the OS version that Aperture was waiting for, and was dismayed to find that 10.4.3 still hadn’t got it right. After some prodding from Ben I went and delved into the update pax
file and found an interesting file called Raw.plist
which has a list of all the RAW formats that the system supports.
To my astonishment there is already support for the Canon EOS Digital Rebel XT which is simply the US name for the 350D: looking closely at the <key>
statements showed that it was likely to be the ASCII string that the RAW importer was searching for, so after a quick strings
over one of my RAW files I simply copied the XT section and renamed the initial key to Canon-EOS 350D DIGITAL
and now both {iPhoto} and Preview understand my files.
I don’t think this will work on earlier versions of 10.4 (10.4.2 has a much smaller file size) but if you add the following chunk to the file Raw.plist
in the directory: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/ImageIO.framework/Versions/A/Resources (you will need Administrator rights to alter this file) then you can have support too, or if you are a trusting soul, then you can simply download a new Raw.plist and simply replace the existing one.
NB 1: If you do download this file, please ensure you are running 10.4.3 first as this file has not been checked on any other version of {Mac OS X}
NB 2: The data here is an exact copy of the Digital Rebel XT code block, with the addition of the three premul
values at the start of the data that have been taken from the G6 data block, as found by Phil Chapman. Read more at the Apple Discussion on RAW support in iPhoto.
<key>Canon-EOS 350D DIGITAL</key> <dict> <key>black</key> <integer>3</integer> <key>max</key> <integer>4095</integer> <key>white</key> <integer>4095</integer> <key>premul0</key> <real>2.30</real> <key>premul1</key> <real>1.00</real> <key>premul2</key> <real>1.35</real> <key>m1</key> <array> <real>0.6159</real> <real>-0.0945</real> <real>-0.0745</real> <real>-0.6846</real> <real>1.3563</real> <real>0.3684</real> <real>-0.0802</real> <real>0.1086</real> <real>0.7555</real> </array> <key>m2</key> <array> <real>0.6018</real> <real>-0.0617</real> <real>-0.0965</real> <real>-0.8645</real> <real>1.5881</real> <real>0.2975</real> <real>-0.1530</real> <real>0.1719</real> <real>0.7642</real> </array> <key>mc</key> <array> <real>1.23345</real> <real>0.03700</real> <real>-0.03700</real> <real>0.00000</real> <real>1.20878</real> <real>0.00000</real> <real>0.00000</real> <real>0.00000</real> <real>1.23345</real> </array> <key>otrc</key> <array> <real>0.233</real> <real>0.127</real> <real>2.303</real> <real>0.324</real> <real>1.543</real> <real>0.649</real> <real>0.851</real> <real>0.571</real> </array> <key>esint</key> <real>0.52</real> <key>esein</key> <real>2.24</real> <key>eseth</key> <real>1.48</real> <key>gresc</key> <real>2.81</real> <key>scal1</key> <real>0.24</real> <key>scal2</key> <real>0.22</real> </dict>
Phil Chapman
This almost works for me but my pics have a rather gruesome blue-green cast. Any ideas?
with Preview – http://www.chapmandu.co.uk/best_of_nz/IMG_0964.jpg
with Canon software – http://www.chapmandu.co.uk/best_of_nz/Pages/IMG_0964.html
Thanks again!
Andy
Argh! So close! It now reads photos from my 350D, but they have a very green tint to them. Any ideas?
– Andy
ian
I saw a small tint on my iPhoto thumbnails but the full size images in Preview looked just fine. I do shoot in Adobe colour space (filenames start _IM rather than IMG) so I don’t know if that has any bearing.
The plist has identical matrix values for the 300D and the Digital Rebel so I am at a loss as to what might be different between the 350D and the XT 🙁 I’ll try importing more older images to see if anything shows up on mine.
ian
I’ve just looked through Dave Coffin’s dcraw.c source code and there’s no reference to the 350D at all, and the 300D and Digital Rebel are treated identically. I think I’ll start experimenting with the colour temperature values at the start of the data block and see what happens.
Andy
Hi,
Many thanks for taking the time to look into this – it’s much appreciated. It’s so frustrating that Apple now support the XT, but not the 350D (which I understand *is* the same camera).
ian
Thanks for the comment Andy: I’m just rather annoyed with myself that I managed to choose the only batch of images I’ve taken in the last 3 months that didn’t show a colour shift, or I wouldn’t have raised any false hopes…
For people not following this thread on Apple Discussions, I have found one difference in the files:
So the next step is to find out what ExifTool is doing and see if I can’t force the tag in at the same position in the 350D file as the XT file: my feeling is that it’s being appended to the data block and Apple is assuming a fixed position. Of course, this may not be the end of it, but it is an obvious thing to try and prove/disprove.
Phil Chapman
Thanks for all your efforts Ian. This is probably a stupid idea but it’s not something like the european ColorTemperature value is spelt ColourTemperature and so is missed by ExifTool and so a default value is used? It does like a temperature problem to me, I wonder if modifying the settings on the camera such that they are the same as the default assumed by 10.4.3 would ‘solve’ the problem?
Rgds,
Phil
ian
Hi Phil: no, not a silly idea but in this case the values are stored all in hex, and ExifTool merely applies a string name to ease the reading of the settings (the actual entry id is 0x10ae or possibly 0x00ae). I have yet to try setting the colour temperature on my camera and seeing what happens – that’s the next trick as I haven’t managed to sort out the absolute entry position within the file yet.
Jerome
Unfortunately the Raw.plist posted on november 3rd is still wrong. Pictures are no more green but yellow 🙂
Marco Wessel
The premul values taken from the PowerShot G6 suck. Using those makes images look much too yellow. They’re made for the G6, not the 350D. I’ve found that setting the premul values to 2, 1, 2 makes the images look like they should.
I wrote this down on my own blog, too.
Phil Chapman
Weird, using those values makes my pictures look blue!!
http://www.chapmandu.co.uk/best_of_nz/2_1_2_settings.png
http://www.chapmandu.co.uk/best_of_nz/G6_settings.png
Marco Wessel
That’s odd. Did you set the white balance correctly?
I’m not entirely sure why different models of the same camera require different settings. The Digital Rebel XT (american version) works fine without the premul, I get normal images with 2, 1, 2 (I think differences between DPP are mostly related to it being different software and/or colour profiles), you get blue images that way. How the hell does the real software do this? 😉 Also I wonder, does anyone have the Japanese edition? (Digital Kiss N).
Hendrik
Whooohoo!
Your last update did the trick. Everything working fine now with a Canon 350D (Firmware 1.0.2). Colours look as they should.
Gigaton
For the poster #5, the 350D is NOT the same as the 300D. If fact, it’s much closer to the EOS 20D, and appears to use the same CCD. It does NOT use the same image sensor as the 300D. If Aperture supports the D20, this is probably the best place to look for what 350D requires.
Giovanni Coia
In response to poster #14 – do some research before you criticize others!!! the 300D, 350D and 20D for starters do not use CCDs. They use CMOS sensors (a fairly crucial difference, especially in regard to noise characteristics at low ISOs). Also it is widely known that while the sensors in the 20D and 350D are similar, they are different. The 20D has an 8.2 megapixel CMOS sensor whilst the 350D is only 8. The physical dimensions of their sensors are also different, the 350D’s sensor is marginally smaller at 22.2 x 14.8 mm, the 20D’s sensor is 22.5 x 15.0 mm. Therefore they DO NOT use the same sensor!
You are correct in saying the 300D is not the same as the 350D though. All three cameras have their own unique sensors.
Phil Harvey
In response to point number 6 [ExifTool-edited CR2 image shows up black in iPhoto]: I’m fairly disappointed that it seems as if Apple can’t properly read an edited RAW image. I’ve seen problems like this before with other simplistic software that assumes fixed offsets for values in the file rather than parsing the file properly. Software this fragile may also easily be broken by a camera firmware update. With any luck, this will occur and Apple will be forced to fix the problem. Otherwise, there isn’t much hope of getting any action from Apple since the small number of people who even know how to edit their RAW images won’t show up on their radar.
PS. I’m still running Panther and using a 300D, so I’m hoping that this problem gets fixed before I do my upgrades… 😉
TK
10.4.4 now supports Japanese edition, Digital Kiss N.
sebastien
Hey i do not understand how to update my file. What”s the trick ? thanks
ian
There’s no trick involved, but I would strongly, strongly suggest that unless you have an absolutely unrelenting reason to stick with 10.4.3 that you instead update to 10.4.4 (or 10.4.5) and ignore everything on this page: Apple have fixed things for non-US EOS 350D’s since 10.4.4, and they have the colour balance sorted too.
You may also find that there is a difference between the Apple and Adobe RAW conversions, so if you have Photoshop Elements 3 (or the full PS CS2) then do compare the .CR2 conversions and use the one you feel happiest with.
Daniel
I had a question. On my Digital Rebel 300D RAW doesn’t show as a quality. All other options show, but I really need RAW. What do I do?
ian
No idea – I don’t have a 300D. Perhaps taking it off the green square/full auto mode ? I would start with the manual: the one with the 350D covers this sort of setting very clearly, and the 300D definitely supports RAW: