Fun with the Shack-Hartmann - Space Nanotechnology Laboratory
Fun with the Shack-Hartmann - Space Nanotechnology Laboratory
Fun with the Shack-Hartmann - Space Nanotechnology Laboratory
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Fun</strong> <strong>with</strong> <strong>the</strong> <strong>Shack</strong>-<strong>Hartmann</strong><br />
<strong>Shack</strong> <strong>Hartmann</strong><br />
Andrew Lapsa<br />
<strong>Space</strong> <strong>Nanotechnology</strong> <strong>Laboratory</strong><br />
Massachusetts Institute of Technology<br />
August 15, 2003<br />
and <strong>the</strong> autocollimator…
User interfaces have<br />
been developed<br />
• Short-term Short term testing<br />
Averages x number<br />
of readings<br />
• Long-term Long term testing<br />
Takes data points for<br />
x number of hours,<br />
and saves data to a<br />
spreadsheet file<br />
Autocollimator
Objective<br />
<strong>Shack</strong>-<strong>Hartmann</strong><br />
<strong>Shack</strong> <strong>Hartmann</strong><br />
• Increase <strong>the</strong> dynamic range of <strong>the</strong><br />
CLAS-2D CLAS 2D system<br />
Understand details of CLAS-2D CLAS 2D<br />
Develop own measurement routine<br />
Integrate new routine and CLAS-2D CLAS 2D<br />
Study results
CLAS-2D CLAS 2D Concept<br />
Focal Plane<br />
Lenslet Array<br />
Optic
Lenslet Concept
Blobs out of range<br />
Blobs often wander<br />
out of <strong>the</strong> proper<br />
AOI<br />
Maximum angle<br />
detectable ~350<br />
microradians
Algorithm Concept<br />
Use image processing techniques<br />
identify blobs independent of AOIs<br />
Calculate <strong>the</strong>ir centroids<br />
Predict locations of centroids based<br />
on knowledge of o<strong>the</strong>r centroids to<br />
link centroids <strong>with</strong> AOI’s
Blob Detection Algorithms<br />
Gaussian Mask – too complicated<br />
Canny Edge Detector – too complicated<br />
Papert’s Turtle – simple, but only good<br />
for regions <strong>with</strong> 4-connectivity<br />
4 connectivity<br />
Inner Boundary Tracing – simple,<br />
good for regions <strong>with</strong> 8-connectivity<br />
8 connectivity
IBT – big picture<br />
Subtract threshold from image<br />
Scan for nonzero pixels from left to<br />
right, top to bottom.<br />
When nonzero pixel is hit, apply<br />
Inner Boundary Tracing algorithm to<br />
trace edge of blob<br />
Record maximum and minimum<br />
bounds of blob and move on
IBT – little picture<br />
At first region pixel, look in 7+6 (mod 8) = 5<br />
direction<br />
Iterate direction until next region pixel is found<br />
• If <strong>the</strong> new direction is odd, add 6<br />
• If <strong>the</strong> new direction is even, add 7<br />
Continue until you return to 1 st pixel, or until all<br />
directions are determined to be non-region non region pixels<br />
4<br />
3<br />
5<br />
2<br />
6<br />
1<br />
7<br />
0<br />
0<br />
1<br />
8<br />
2<br />
7<br />
6<br />
5<br />
3 4
Centroid Calculation<br />
Return to un-thresholded un thresholded image<br />
Study expanded regions where dots<br />
were found<br />
Calculate centroid (ρ ( x,ρy) )<br />
x<br />
ρ<br />
=<br />
∑ ∑<br />
cols rows<br />
∑∑<br />
cols rows<br />
Return array of centroids<br />
I<br />
ij<br />
I<br />
x<br />
ij<br />
i<br />
y<br />
ρ<br />
=<br />
∑ ∑<br />
cols rows<br />
I<br />
∑∑<br />
cols rows<br />
ij<br />
I<br />
y<br />
ij<br />
j
Keep in mind 3 file types:<br />
Reference Centroids (.CLB)<br />
Lenslet Centers and Indices (.XYB)<br />
Test-Optic Test Optic Centroids (.PKB)
Prepare for Matching<br />
Rearrange .XYB<br />
• Place lenslet centers into matrix –<br />
position of center in mtx corresponds to<br />
position in physical lenslet array<br />
Rearrange .CLB<br />
• Place reference centroids into same type<br />
of matrix – match each lenslet center<br />
<strong>with</strong> closest reference centroid
Matching<br />
Match center 5 reference and test-optic test optic<br />
centroids by location in image<br />
• Calculate size of search window, and record<br />
<strong>the</strong> differences<br />
• Link by location in matrix (lenslet assignment)<br />
Match centroids along x & y axes<br />
• Guess location of next centroid by difference in<br />
previous centroid pair<br />
• Link by location in matrix (lenslet assignment)<br />
Match centroids row by row in quadrants<br />
• Guess location: use x-error x error from neighboring<br />
centroid in same column, y-error y error from<br />
neighboring centroid in same row<br />
• Link by location in matrix (lenslet assignment)
Comparison
Write .PKB file<br />
Use test-optic test optic centroids’ indices<br />
(lenslet assignment) to assign each<br />
centroid to proper location in array<br />
Save array as text file<br />
Convert text file to .PKB<br />
Use new .PKB <strong>with</strong> CLAS-2D, CLAS 2D, and<br />
savor <strong>the</strong> results.
Results – Glass Wafer<br />
Old .PKB New .PKB
.PKB Comparison<br />
No significant error throughout entire range of<br />
wafer<br />
Best-fit Best fit Zernike polynomials almost identical<br />
No practical difference in surface reconstruction<br />
Frequency<br />
100<br />
90<br />
80<br />
70<br />
60<br />
50<br />
40<br />
30<br />
20<br />
10<br />
0<br />
HISTOGRAM<br />
-0.31<br />
-0.26<br />
-0.21<br />
-0.16<br />
-0.11<br />
-0.06<br />
-0.02<br />
0.03<br />
0.08<br />
0.13<br />
0.18<br />
0.23<br />
0.28<br />
0.33<br />
0.37<br />
0.42<br />
Difference
Silicon Wafer<br />
Max=2.0867 micron<br />
Max=7.2488 micron<br />
Max=9.1848 micron<br />
Max=2.6774 micron<br />
Max=15.4146 micron<br />
Max=31.7745 micron
Silicon Wafer<br />
Slope Field Matches Surface Reconstruction
Success<br />
Understand CLAS-2D CLAS 2D – successful<br />
Develop measurement routine –<br />
successful<br />
Integrate routine and CLAS-2D CLAS 2D –<br />
successful, but could be prettier<br />
Results – successful
Conclusions<br />
Dynamic range has been increased<br />
from 350 microradians to 350<br />
microradians/224 microns<br />
For 10 cm wafers, improvement is by<br />
a factor of 450<br />
Wafers <strong>with</strong> dynamic range between<br />
5.8 and 100 microns have already<br />
been measured