Some
instrumental work
on
the Shack-Hartmann wavefront sensor
and
its implementation for Vision Science

Charles-Edouard
Leroux and Chris Dainty
I have spent four years as a PhD student at the
Applied Optics Group, in Galway (2006 to 2009). With the help of Chris Dainty,
I have developed both hardware and software solutions that are well suited to
the measurement of the aberrations of the human eye. I also had the chance to
work on a collaborative project with other great scientists…
Our
study of the statistics of the dynamics of ocular aberrations of the young
human eye
Reduction
of artefacts and calibration of a Shack-Hartmann for Vision Science
On
the processing of the Shack-Hartmann data for Vision Science
An
algorithm to extend the dynamic range of a Shack-Hartmann wavefront sensor
To run it,
just run the “Main_Script.m”. The Zernike description of the incoming wavefront
can be defined as input, and so are the number of missing spots (randomly
located in the pupil plane), and the noise in the centroid measurements. This
demo has been tested on Matlab R2007a, and 2008a. Previous versions of MATLAB
might not be compatible with the “geometry.mat” data. If you want to implement
your own version of this code within your system, you have to define proper
geometry matrices. You are welcome to contact me to get the required codes.
(charleleroux “at” yahoo.fr)
As we
explained in Optic Express, the
algorithm requires a set of computed centroid positions, which are not bound to
the numbering of the lenslet array. You can also find an example of source code
that processes a raw Shack-Hartmann frame and compute rough estimates of these
centroid positions. This code is written in the “locate_spots.m” file, and is
not called when you run the rest of the demo. It is however necessary for a
practical implementation of our method. With the MATLAB implementation, this
code cannot work in real time. With a 2 GHz processor, it takes around 0.5
seconds to locate 400 spots. It would go significantly faster with a C
implementation, as it consists of a succession of while and for loops.
References:
[1] C.
Leahy, C. Leroux, C. Dainty and L. Diaz-Santana, “Temporal dynamics and
statistical characteristics of the microfluctuations of accommodation:
Dependence on the mean accommodative effort,” Opt. Express 18, 3 (2010).
[2] C.
Leroux and C. Dainty, “A simple and robust method to extend the dynamic range of
an aberrometer,” Opt. Express 17, 21 (2009).
[3] C.
Leroux and C. Dainty, “Estimation of centroid positions with a matched-filter
algorithm: relevance for aberrometry of the eye,” Opt. Express 18, 2 (2010).