Canon ELPH 160

The Canon ELPH 160 (aka IXUS 160 -- finally, Canon used the same number for both the ELPH and IXUS model names!) is a little $100 point-and-shoot camera that is supported by CHDK. Actually, we paid $80 each for Canon factory refurb units, each with a $16 case thrown in for free. Despite a 20MP sensor, it isn't a very impressive camera as it comes out of the box, offering very little manual control. However, with CHDK installed, it becomes a very capable little camera -- that you can even program.

Canon ELPH 160 Overview

Canon's PowerShot ELPH 160 Black page provides a good overview of the camera features. You have to do a little hunting for the manual and software support. The manual (here's a local PDF copy) is 117 pages long... and contains only a few surprises involving some of the stranger features of the camera, such as the EyeFi card support.

The specifications for the ELPH 160 are what one would expect for a 2015 compact camera, except for the sensor -- which is listed as being a 20MP 1/2.3-inch CCD! The fact that the sensor is a CCD is very unusual, but Canon has been doing this in most (non-HS) PowerShots for a long time. More surprising is that this camera's body has a plastic shell. It seems to be decent plastic, but this breaks a very a long tradition of ELPH models having a metal shell. Perhaps it isn't entirely about cost savings, but was used in part to allow EyeFi cards to get stronger wifi signals?

There are not too many online reviews of the ELPH 160 -- and they don't go into much depth. PC mag gives a fairly minimal review giving 3/5, complaining about the "Disappointing rear LCD. No optical image stabilization. Lacks Wi-Fi. Omits Canon Creative Shot. Image noise is an issue. Video limited to 720p." Fair enough, although image stabilization can actually be a problem for some technical uses because it can introduce minor misalignments beteen consecutive frames. Imaging resource just gives a quick overview and also suggests it's better to go with the ELPH 170 IS.

CHDK Support

The main reason to buy an ELPH 160 is that it is the first (and at this writing, the only) PowerShot with the 20MP sensor that is supported by CHDK. The CHDK wiki page on the ELPH 160 (IXUS 160) is the best reference for using this camera, although I'll be adding materials here as we progress in the course. The port had some issues earlier, but was added to the Autobuild on April 16, 2016, so it's pretty solid now. Installing CHDK does not require compiling it from scratch; just grab the autobuild version and follow instructions. Incidentally, Under no circumstances should you actually upgrade the native firmware -- CHDK uses the firmware update facility to run, but actually having a firmware update (especially one intended for a different camera) on your SD card provides a variety of opportunities to "brick" the camera.

There are lots of CHDK configuration options, but the one you need to know is that you can change which key enables the CHDK menus. By default, it uses the play (">") key -- which is an exceedingly bad choice. I recommend using the help ("?") button to toggle the CHDK menus. Whichever you use, you can still perform the original key function by holding the key down longer. I'd also recommend turning off sounds, the focus assist lamp, flash, and the fancy face-recognition modes.

The non-model-specific CHDK 1.4.0 user manual is really a pretty good manual, but it isn't easy reading. In fact, the menu system for CHDK is not very simple in general -- it's not really integrated with the native menu system, but simply superimposed over the live view (and any native icons). We'll go over this in class, but practice using it is the only way to really become familiar enough to have the camera do what you want.

Annoyingly missing features? Well, a "PASM" dial would be nice. However, what's really missing are any way to hold the camera and any way to control the aperture (aperture control commands actually just click an ND filter in/out of place). For under $100 new, the camera is a very good deal.

Image Quality

Canon has a large and confusing array of camera models. In general, "ELPH" models are the classy, small, but fully automatic models. That would make one think IQ isn't very good, but actually IQ is less compromised than other aspects; lack of manual controls (which CHDK pretty much works around) and things like non-pivoting LCD, a plastic shell, and poor battery life, are the the primary sacrifices.

Here are three versions of a shot, taken at maximum wide angle, to give you some idea of the image quality. First, here's the 5152x3864 pixel JPEG file produced by the camera:

That image is a little dark... and another was a little light; exposure choice doesn't seem to be this camera's strength. Still, there is plenty of detail and color is fairly good. It isn't a clear step-up from the IQ of the older 16MP PowerShots, but it isn't a clear step backward either.

Of course, thanks to CHDK, we don't have to settle for the camera-generated JPEG image. Not only can we get more accurate tonal data, but using CHDK raw, we can see that Canon has again lied about the lens. In fact, they lied more than usual; this lens is much wider than advertised. So, why does Canon lie by understating the specs? Well, here's the raw 5184x3892 pixel image (simply converted to JPEG from a rather huge DNG file using Raw Therapee) as CHDK captured it:

Although the lense looks, and is advertised as being, the same as that on the 16MP ELPH 115 IS and A4000, it actually seems quite different. First off, you don't see dark corners in the above shot like we always did with the ELPH 115 IS and A4000. The lens field of view seems a little wider and so is the coverage... and at least this particular lens is better centered. CA also seems a bit improved. However, the cost is gobs of barrel distortion. Canon fixes most of these flaws in the camera JPEG file, but we can do better. I used Raw Therapee to and gimp to correct the raw, producing the following:

Wow. That's a lot wider than the camera JPEG. Really pretty good. The catch is that it really isn't 20MP.

So, how many pixels is it? Let's make the (totally unjustifiable) assumption that the lens resolves well enough to make every pixel count. The dimensions of the JPEG and raw give 19,907,328 and 20,176,128 pixel totals, which sounds like less than 1% is being cropped. However, it isn't that simple because the distortion correction effectively doesn't apply the same pixel magnification everywhere. The pixels that get cropped out in correcting distortion certainly don't count for resolution of the final image. Some quick measurements suggest the camera JPEG is effectively cropped about 15%, leaving us with a little less than 15MP. Ok. That's still more than the 16MP PowerShots left for us. Using the raw and processing with Raw Therapee, it was only necessary to crop about 7%, giving a little better than 17MP. Keep in mind that things also generally get better (less cropped) as you zoom to somewhat longer focal lengths.

Of course, using CHDK you can fix these flaws in camera too by simply inserting C code lifted from tools like gimp into CHDK. It's not trivial... for example, even the live view is cropped and corrected, so you'd even have to change how that view is created -- but it can be done. Computers as Computing Systems