16 July, 2002

Canon D30 With EF 15mm Fisheye

Rico Tudor

Executive Summary. The 15mm fisheye allows significantly greater angle-of-view than a 14mm rectilinear. The angle is so wide that flash coverage requires special attention. With computer software, the fisheye view can be changed to rectilinear, if desired.

Like most DSLRs, the D30 makes life difficult for wide-angle users. The 1.6 multiplier turns the attractive 24mm into a 38mm. I seriously considered the following lenses:

	Canon EF 16-35mm f/2.8L zoom
	Canon EF 14mm f/2.8L
	Sigma 14mm f/2.8
The 16-35 is heavy, large and expensive -- and I just want the 16mm part. The Canon 14mm is heavy, large, and astonishingly expensive. The Sigma 14mm is heavy, large, and subject to variable build quality; I did like the price, and was close to buying.

However...

After viewing some samples of the Canon EF 15mm f/2.8 fisheye, before and after processing by Panorama Tools, I began to see another way out. So I bought one (shameless plug for Delta International here).

Technical recap of wide-angle lenses:

A rectilinear lens will preserve the straightness of lines throughout the frame, but objects at the edge become stretched, losing their proportion. These lenses are desirable for architecture. For normal appearances, keep people away from the edges.

An angular fisheye preserves the angle between two lines, but lines become increasingly curved at the edge of the frame. Subjects with recognized proportions, like people, will look best with this lens. For normal results, keep straight lines away from the edges.

The Canon EF 15mm is fairly light, fairly small, and decently priced. (The Sigma fisheye is even cheaper, but I demur.) So, the trick is to use software to unbend the lines for those cases when you want rectilinear behaviour from your fisheye lens.

I have calculated the angle of view (in degrees), with camera in landscape orientation:

	         |  14mm rect  14mm rect  15mm fish  15mm fish  15mm fish
	axis     | full frame  D30 frame full frame  D30 frame  D30 frame
	         |                                             linearized
	---------+-----------  --------- ----------  --------- ----------
	diagonal |        114         88        180        113        104
	width    |        104         78        150         94         94
	height   |         81         56        100         62         62 ¤

	¤ Confirmed at my optical bench (desk, ruler, pencil, paper)  :-)
You can check my working with some knowledge of right-angle triangles, and these givens: Canon EF 14mm has rectilinear design, EF 15mm has angular fisheye design, D30 has 1.6 linear multiplier for the sensor vs 35mm full frame.

The table shows 14mm rectilinear beaten by the 15mm (in fisheye or rectilinear mode). In rectilinear use, the fisheye lens requires cropping: this reduces original pixel data and reduces resolution. These losses are minor, and occur in the corner only.

Key observation: The Canon EF 15mm fisheye, used with a D30, linearized, and cropped to full frame, is equivalent to a 10.6mm rectilinear lens!

Flash issues arise with this extreme coverage. From the D30 manual: "Covers field equivalent to a focal length of 18mm". While ambiguous, it sounds impressive... or maybe not. Being charitable, I get 100° diagonal coverage, which is not quite enough for linearized pics, and entirely inadequate for fisheye. I tested coverage of the built-in flash and the Canon 550EX external flash.

In summary, the D30 and fisheye were made for each other. Versus the 14mm rectilinear, you get the following: better price, super-wide coverage, lower weight, smaller size, no light fall-off, sharper corners.

Links:

Panorama Tools by Helmut Dersch is open-source software to perform sophisticated geometric transformations on your images.
AcaPixus has good samples of de-fished images.
Dave Coffin has open-source software to decode Canon raw images (CRW files)
Paul Bourke describes the angular fisheye projection.
P.S. I have my own software to perform image linearization and interpolation, fed by Dave Coffin's CRW decoder (way cool). The interpolation uses sinc() with a Lanczos window, operating directly on the Bayer data. I want to release the source, but I'm bogged down with color problems. Soon.

Photo gallery follows...

At the restaurant, a fisheye captures the scene without my standing on the next table. Distortion of the pillar is minimized by placing it near the center of the frame. The table, being round, is unfazed by circular distortion. With the wide angle comes generous depth-of-field and longer exposures hand-held.

f/4.5, 1/15 sec, ISO 800, natural light

A rare case when DOF is exceeded (bokeh is not so good). Our Penny is five inches from the lens. Notice the strong fisheye curvature affecting her whiskers... just kidding! The fisheye is not responsible for her exaggerated body proportions: the effect is caused by her proximity, and would occur with a rectilinear lens.
f/4, 1/45 sec, ISO 100
The D30 built-in flash has inadequate coverage.
f/3.5, 1/125 sec, ISO 400
The Speedlite 550EX, Canon's top external flash, has inadequate coverage at widest zoom (focal length 24mm).
f/3.5, 1/125 sec, ISO 400
With the 17mm diffuser, 550EX coverage is almost complete.
f/3.5, 1/125 sec, ISO 400
Ambient lighting shows no visible vignetting by lens; slight shadow at lower right is cast by furniture.
f/3.5, 1/6 sec, ISO 400
Fisheye view of an office. Note curvature of ceiling tiles and wall panel.
f/8, 1/3 sec, ISO 100, ambient light
Office view changed from angular projection (fisheye) to rectilinear. The image frame is no longer rectangular, but straight lines are restored. Holy mackerel!
Cropping back to a full-frame image will necessarily lose a little pixel data (and resolution), but only in the corners.