Thursday, May 8, 2008

Answer to a Comment

db made a comment on my previous post regarding CHDK on the Canon A650IS, asking for more information. I tried to reply to the comment with another comment, but realized things were getting a little wordy. So here's the somewhat longer reply:

I'm still relatively new to CHDK, but from what I gather the best source for information is the CHDK Wiki. Something else I realize I utterly failed to say is that CHDK is a group effort involving lots of different people writing lots of different software for lots of different cameras based on the Canon Digic processors. As such, there are many many build of CHDK. Some work for some cameras, some work for others. Some include features that others don't include. The A650IS is a relatively new camera, and uses the Digic III processor, so it shows up in fewer builds than some of the older cameras, especially those based around the Digic II processor.

So the link in my previous post to CHDK should've said that this is the URL for the AllBest CHDK build, and includes one for the A650IS. There are many many other builds out there. The CHDK Wiki is the best place to find out more about them.

From what I gather, the real motivation for CHDK was to get RAW images off of cameras that supposedly did not offer them. But as people started poking around at the firmware in each of these cameras, all sorts of possibilities began to pop up, and CHDK expanded in scope. For me, RAW images are pretty low on my list of things I want to do with my A650IS. It's the other and sundry that really appeals.

One that I'm very interested in exploring is the whole idea of motion detection. I don't know if the AllBest CHDK build includes motion detection, but a number of other builds do. I get the feeling the motivation for the motion detection algorithm was lightning photography, wildlife, or things of this ilk where the operator wants to know when things move, and to have the camera take action when that event occurs.

For KAP the opposite is true. Most of the blurred images I get off my KAP camera are because of camera motion during the exposure. Only a handful of very low-altitude shots were blurry because of poor camera focus. So if there was a way to have the camera delay exposure until the camera was stable, it would be a boon.

Lots of ideas have been put forth to address this. Mostly they have to do with rig stabilization. By far the easiest is simply to build a rig that doesn't move around much. The whole idea behind the Picavet suspension and Christian Becot's variant on the pendulum suspension is to do just this: Make something that holds the camera steady. Brooks Leffler, Christian Becot, Mike Jones, and many others have taken this a step further, developing damping mechanisms that tend to take out what sway a rig might develop over time. Others, including me, have wondered if a six-axis inertial measurement unit could be coupled to the servos in a KAP rig to create active stabilization of the camera. (I've moved away from this idea after talking to someone about active stabilization of the gun in the M1A1 Abrams... it's anything but straightforward.)

But motion detection through CHDK offers a much simpler approach. Simply don't trigger until the motion on the detector calms down. The only changes to the actual rig are software changes, and most of the development has already been done through the development of CHDK. I know at least one KAPer is looking into this, but I haven't heard how the experiments have come out.

Another application of CHDK for KAP is the ability to take multiple exposures at multiple settings with a single press of the shutter button. When doing panoramas, it's very easy for the metering requirements to change radically from one angle to another. Sunlight, cloud cover, etc. make it almost impossible to take a single set of panorama exposures without having at least one dark band because some bright object got into the frame. If the camera is scripted so that it takes three, four, or even five exposures at different exposure compensation values, a more consistent panorama could be constructed simply by picking and choosing the appropriate exposures. Even more radical would be to use HDR techniques to fine-tune the dynamic range of each image in the panorama.

"But HDR images all have to be aligned!" one might claim. Absolutely! But so do stitched panoramas! Once you transform the images into a common coordinate frame, if the software will allow the individual transformed images to be manipulated, HDR becomes possible. And if the software won't allow for this, switch software! One of the programs I've used for astro photography is Iris, which will pick common features in multiple frames and perform an affine transformation on each of the frames to bring them into a common coordinate system. (Sound familiar?) The author, who's a mighty sharp fellow, realized this had utility outside of stacking astro photography images, and expanded it so it would work on normal daylight images as well. Because Iris gives you full access to all your frames at every step in the process, these transformed but un-stacked images could then be loaded into the software of your choice to do the HDR work.

Oh... and Iris happily works with RAW images! But I haven't checked to see if the RAWs produced with CHDK on the A650IS will work with it. Time will tell.

To answer the second question in the comment: Yes, I plan to post entries describing my experiences with the A650IS and with CHDK. My hope is that I will get to do experiments in each of these areas, post the results, and preferably post the CHDK script, the list of software tools I used to do each task, and a procedure for doing them. Hey, if I get to play, everyone else should, too! (And if anyone else is already working along these lines, I hope they have the same "share and share alike" philosophy.)

Tom

No comments: