« Avenue Q | Main | BONK »
June 20, 2008
Canon 450D + RAW == Pain
It seems that buying a new (as in recently released) camera and shooting RAW is asking for pain. I played with Bibble for a few minutes (it works, but I'm not in love with the UI yet) and LightZone (it doesn't support the 450D yet) before deciding to look into geting UFRaw working.
The end result is that I pulled the UFRaw source from CVS, built it, and viola, no more pink photos. For any in the same boat, here's an SRPM (842k) I run 64bit Fedora, so I figured distributing the packaged source would be better than. (If your distro doesn't use RPM, you might try something like alien.)
For the nitty-gritty, read on past the break.
<geek-rant>
It turns out that most open source (and several commercial) RAW editing tools are built on the back of a utility called dcraw.
Further, the author of dcraw decided to write and maintain a command-line tool rather than a library of functionality and a command-line tool that exposes an interface to it. So projects that feel they need a tighter integration with dcraw than just invoking it on the command-line - including UFRaw and RawStudio - have incorporated a copy of the source directly.
UFraw has built (and rawstudio has copied and used) a C++ wrapper over the dcraw C code and are use that.
This means that updating the dcraw binary installed on your system doesn't help any of these other dependent applications - they're stuck using the version of the code they were built with.
Ain't static linking grand? Welcome to software design in the 1980's.
As an aside - I disagree with the authors assertions about libraries being bad, or hard to write, because they can't use global state (if you want a cheap cheat, define an opaque "context" object that all your functions take, and shove your "globals" into it.), and that they're harder to test (you drive the library - either using the command-line tool you wanted to write in the first place that's thunking into the library, or by writing a purpose built test harness.
</geek-rant>
But, anyway.... The end result is that I'll be playing with UFRaw, and it's integration into F-Spot a bit, and playing with Bibble a bit, and trying to work out a workflow I'm comfortable with.
But for now, I'm gonna go down stairs and find a glass of wine, 'cause enough - as they say - is enough.
Posted by dberger at June 20, 2008 7:04 PM
Comments
I don't know whether your particular camera is supported, but I thought you might be interested in the CHDK ("Canon Hacker Developer's Kit"?) firmware add-on -- learned about it from a wiki my company hosts:
See http://chdk.wikia.com/wiki/CHDK_in_Brief for an overview.
Posted by: Cat at June 24, 2008 11:47 AM