Depth from Focus
Contents |
[edit] Depth from Focus
[edit] 3D surface metrology
- You need to grab the focus stack with your microscope and digital camera.
- The results will be even better, if the illumination optics of the microscope can project a pattern.
- Non-destructive measurement of surface profiles
- With our experimental settings we observed (of course the result will depend on the quality of the microscope)
- Vertical resolution <math>\ge 0.2\ \mu m</math> (depending on aperture-size, magnification, projection-pattern and the surface properties of the object).
- Lateral resolution <math>\ge 2\ \mu m</math> (depends).
- Open Source (you are free to improve the code yourself if you redistribute it).
In general one can say: The lower the depth of field, the higher the resolution of the reconstruction. With high magnification (assuming constant numerical aperture) the resolution of the reconstruction goes up. The trade-off is that the reconstruction will cover a smaller area. This can be overcome by lateral stitching (e.g. cogwheel below).
[edit] Demonstration
Here are some typical microscope images (Surfi-Sculpt refers to objects, which has been shaped using a power beam).
Using a focus-stack one can compute images with extended depth of focus:
If the surface can be illuminated properly, one can even do a 3D-reconstruction of the surface:
[[Image:suevit20.png | 180px|3D reconstruction of suevit (1.4MB video)]] |
As the idea for the algorithm was fixed already, it was possible to implement the algorithm as a command-line tool in less than 4 days, using existing Mimas-software (exspecially the operators for boost::multi_array).
As this is a "quick hack", there's still lots of space for improvements.
[edit] Download
[edit] Old C++ Implementation
The software for estimating height-maps and images with extended depth-of-field is available for free (under the LGPL)! You first need to install version 2.0 of the Mimas Real-Time Computer Vision Library to be able to compile and run depthoffocus-0.1 (652 kByte). The software also comes with sample files to generate photo-realistic 3D-reconstruction using POVRay!
[edit] New Ruby Implementation
I've ported the program to Ruby. The new implementation is based on the HornetsEye Ruby-extension. It also requires TrollOp. You can copy-and-paste the source code from the depth from focus example page. The source code also comes with the HornetsEye source package.
[edit] See Also
[edit] External Links
- Publications
- M. Boissenin, J. Wedekind, A.N. Selvan, B.P. Amavasai, F. Caparrelli, J.R. Travis: Computer vision methods for optical microscopes
- J. Wedekind: Focus set based reconstruction of micro-objects
- Further Reading
- Wikipedia article on anaglyph images
- Ishita De, Bhabatosh Chanda, Buddhajyoti Chattopadhyay: Enhancing effective depth-of-field by image fusion using mathematical morphology
- Focus stitching software CombineZ5 and some impressive examples by Rik Littlefield.
- NASA anaglyph images of Mars
- 3D videos on Youtube
- Helicon proprietary focus stitching software