Extended Depth Of Field -- A Difficult Test Case

Rik Littlefield (email rj.littlefield at computer.org)
Revised June 5, 2005
Last minor edit May 23, 2007

Hairy Eye and Labial Palp of the Painted Lady Butterfly (Vanessa cardui)

This particularly troublesome test subject has many fine "hairs" covering both the labial palp and the eye. 

These hairs are individually opaque but sufficiently far apart that one can see deep into the mat of the palp and completely through the layer of hairs on the eye.

Here is what we're talking about.  It is a volume roughly 2 mm high, 3 mm wide, and 2 mm deep. 

This subject was shot as a stack of 90 frames, spaced 0.025 mm (0.001 in) in depth.  The optics were simple: a Nikon 4X 0.10 N.A. microscope objective on 215 mm extension beyond the bayonet lens mount of a Canon Digital Rebel camera.

I processed this stack with Helicon Focus and with two different strategies of CombineZ5: "Do Stack" and "Do Average and Filter", with the highpass filter modified to (1000,40) for increased sharpness.  Here are the three results, plus one representative input frame, presented as an animated gif at 5 seconds per image.  (If you don't see all four images, check your browser settings to enable gif animation.)

Most likely each reader of this page will see something different in these pictures. 

What particularly catches my (the author's) attention is the area just above image center, where some nearly horizontal hairs of the eye lie directly in front of nearly vertical hairs of the palp.  In the image labeled 'CombineZ5 Modified "Do Average and Filter"', the relationship of the hairs is properly preserved, or at least not obscured, while in the "Helicon Focus" image, the palp hairs appear to be in front of the eye hairs, and in the 'CombineZ5 "Do Stack"' image, the eye hairs are completely obscured.  Similar confusion or loss of foreground and background detail appear in other parts of the image as well. 

Overall, the CombineZ5 Modified "Do Average and Filter" image seems to agree best with what I see through my dissecting scope.

Stereo Rendering

Here is a stereo pair (crossed-eye), rendered from the single image stack by using the CombineZ5 "skew" function.  The right eye image (left on page) is a non-skewed stack, generated as described above.  The left eye image was produced from the right eye stack by skewing it before the Do Average and Filter processing.  Notice that the left eye image is slightly smeared horizontally.  This works very well for me -- apparently what happens is that my brain picks up crisp detail from whichever image has it, while getting depth from stereo disparity against the other, slightly blurred image.  Several other individuals have also viewed this pair with no difficulties, but I do not know how universally it will work.  If you have a chance, please let me know how it works for you.


The source imagery for this test case will be available for a limited time as a large zip file.  (Caution: 70 MB download!)

Claims and Disclaims

The reader is cautioned that this is a single test case, which may or may not generalize to other situations.  I have both contributed effort to the development of CombineZ5 and paid money to license Helicon Focus 3.10 Pro.  I use them both, I am still trying to figure out what options work best under different circumstances, and I expect that whole situation to continue for some time.

The work presented here is a personal publication of capabilities and techniques developed by the author.  You may link to this page, but please do not reference in archival publications; contact the author instead.  All images and text copyright Rik Littlefield, 2005.
- - -