CHDK

Canon Hackers Development Kit



  Here's a hack that won't void your warranty and does add some serious functions to the humble Point and Shoot, including a RAW format that adds extra color depth to your photos. But first, CHDK is a program that runs on top of your camera's operating system, and once it is loaded onto a memory card you can choose whether or not to run it. If the card is locked CHDK will load, and if not the camera will ignore it and take pictures as it does normally.

  I'm using a Powershot 590 IS for this demonstration. It's one of my Best Buys from Cameras For Christmas 2008 and for the budget conscious, the aspiring photographer, or even serious amateur who wants a pocket camera, the 590 has a lot to offer and retails for around $100. But CHDK spans nearly the entire line of Canon Powershots so if you have one already then hustle over to its Wiki and load up.

  The advantage of shooting RAW is that you can control the development of the image, and you get all 10 bits coming off the sensor while the JPEGs are only 8 bits per channel (R, G, B). Each additional bit doubles the file size, therefore in 8 bits you have 256 levels of light per channel, and in 10 bits you have 1024.

  JPEGs are processed in the camera and are therefore subjected to a tonal curve and compressed thereby losing at least some of the information or detail in the image. RAW files come directly from the sensor with no processing, and no compression. The result a wider gamut, or simply more light and consequentially more color.

  To illustrate this I've taken a couple of shots to provide you with a side by side comparison. RAW files are saved in the Digital Negative format developed by Adobe and have the extension DNG. When you take a shot CHDK saves both a RAW file and a JPEG so you have both files on your memory card.

 The first image is obviously that of the moon with clouds streaming by, at fair clip I might add. The shot was also taken hand held though normally you would use a tripod for a night photo like this.

The image on the left is the RAW file saved as a DNG and processed by Photoshop CS2 using the Default setting. On the right is the JPEG that CHDK saves even when you are shooting RAW. Notice the added color in the clouds surrounding the moon. You can click on the photo and get a larger view in a new window.

 Since I was shooting at ISO 400 I subjected each image to the Reduce Noise filter. This is a fairly standard practice, and in fact Canon uses some level of noise reduction in processing the JPEGs, but to be fair I gave each the same dose. Though the JPEG seems cleaner, it's also lost some detail.

  Again a larger image is available. But even at this size you can see the reddish tint of the clouds is better expressed in the RAW format, and the larger views show more detail in the clouds, especially the trailing mist which the JPEG obscures.

  An even better illustration was made indoors. This shot was taken at ISO 80 with flash set to auto and the camera's metering triggered it. The first set below are the DNG processed with Photoshop set to default on the left, and the JPEG on the right processed in the camera.

  Pretty obvious what those extra 2 bits of color information means in terms of light capture. Notice the increase in vignetting in the JPEG with the camera only 7 foot from the wall.

  I decided to treat both images to a fairly standard technique available in Photoshop known as Shadow/Highlight recovery to see if I could improve the images in the shadow areas. I also adjusted the exposure of the JPEG to correct the white balance (+0.61 exposure with +1.0 Gamma correction) and boosted the saturation to bring out the color.

  Despite all of this work the JPEG looks pretty sick by comparison. In attempting to bring out the color using the flags as a guide, the toolbox on the left, the ugly orange carpet, and the incandescent light on the wall are oversaturated.

  Yet if you focus on the beige carpet and my second favorite chair it's easy to see that the RAW file outperforms the JPEG in color accuracy and light capture, and unless you move up to an SLR at least 7 times the cost of a 590 you won't do better.

  You might ask why does Canon and other manufacturers essentially disable their products by limiting the output to the shopworn JPEG format? Partly so there's a reason to buy a more expensive model, but also because RAW capture places an added burden in terms of transferring the image to the memory card.

  Shooting RAW will slow a consumer model down considerably because you're saving two files, and if you're out taking snapshots at the ballgame you're likely to get frustrated with how long it takes to save the photo. But if you're shooting landscapes or set portraits then there's an advantage you might want to consider if your camera reads Powershot on the label. As I mentioned in the beginning paragraph you can choose whether or not to run CHDK by locking the memory card to load it, or not; and in some cameras simply shifting into Sports Mode will suspend RAW capture and the camera will produce JPEGs at the normal speed.

While most people may be happy with the Powershot line as Canon sells it, for those who want the best the camera offers CHDK is a gold mine of performance and features, and if you've read this far you'll probably want to head over to the Wiki and get a copy.

Top of the Page

Scroogle

No cookies | No search-term records Access log deleted within 48 hrs


49-Reasons     web                

Additional Features

  CHDK offers much more than RAW capture. On my 590 I've added a battery indicator that reads the percentage of juice left, and you can even specify the mAH  rating, i.e. 2700 on the MAHAs that I use.

  In some reviews the actual ISO is calculated, and I've noticed that several Canon SLRs test out at ISO 125 when set to ISO 100.

  CHDK provides that information and out of curiosity I added that feature. Though my 590 can be set to 80, 100, 200, 400, 800, 1600, the actual ISO is 49, 65, 139, 261, 523, and 1046. So much for truth in advertising, but then perhaps CHDK is wrong.

  Would you like to know the focal length of your lens when zoomed? CHDK offers both the actual focal length of the lens and the effective focal length based on the 35mm standard.

  Another feature I've added is the Exposure Value (EV) differential. This allows you to adjust the EV before taking the shot, and you can even choose the increments of EV you prefer, or leave them as set by Canon ( +/- 1/3 ).

  If you  do low light or extended exposures the temperature of the CCD matters because as the chip heats up the noise increases. With CHDK  the temperature of the CCD in degrees Centigrade or Fahrenheit on the display.

  Zebra Mode provides a review function that indicates when you have over- or underexposed an image, giving you a second chance to adjust your settings and take a more balanced shot.

As if that wasn't enough I opted for a live histogram which can be configured in several different ways, though I use the RGB Blend because it uses less space on my display.

  Some photographers like to Bracket a shot, meaning that several shots are taken at different EVs to insure they get a well balanced photo. My interest is in blending exposures to increase the Dynamic Range of the image. CHDK allows you select several options as well as using Aperture (AV), Shutter speed (TV), or even ISO to bracket several images when shooting in Continuous Mode.


Other Features

  CHDK can also enhance video functions including the ability to zoom while filming, selecting the Bitrate or compression of the video which affects the quality of the film, and extending the file size beyond one gigabyte.

  You can enable functions for time lapse photography, motion detection for capturing lightening strikes, high speed or long exposures, and variable flash settings (power and speed).

  There are many more depending on the Powershot model you have or plan to buy. Finally, the Guide also offers links for those who wish to write their own scripts.

  This can be useful for selecting different parameters without sorting through the menu to turn on or off functions that you need or don't need for different situations. You can write one script for sports or action shots, and another for landscapes, and yet another for low light or night shots, Scripts are written in uBasic and you'll find the Forum members helpful - if they haven't already written the script you want or can use.

  Something I plan to do is build a USB remote shutter release, and the guide has a simple diagram and explanation for how do that, available here.


Links to CHDK