Abstract

Truncated expansions such as Zernike polynomials provide a powerful approach for describing wavefront data. However, many simple calculations with data in this form can require significant computational effort. Important examples include recentering, renormalizing, and translating the wavefront data. This paper describes a technique whereby these operations and many others can be performed with a simple matrix approach using monomials. The technique may be applied to other expansions by reordering the data and applying transformations. The key is the use of the vectorization operator to convert data between vector and matrix descriptions. With this conversion, one-dimensional polynomial techniques may be employed to perform separable operations. Examples are also given for differentiation and integration of wavefronts.

© 2009 Optical Society of America

Full Article  |  PDF Article

References

  • View by:
  • |
  • |
  • |

  1. Z80.28-2004 Methods for reporting optical aberrations of eyes (American National Standards Institute, 2004).
  2. R. R. Noll, “Zernike polynomials and atmospheric turbulence,” J. Opt. Soc. Am. 66, 207-211 (1976).
    [CrossRef]
  3. A. Guirao, D. R. Williams, and I. G. Cox, “Effect of rotation and translation on an ideal method to correct the eye's higher-order aberrations,” J. Opt. Soc. Am. A 18, 1003-1015 (2001).
    [CrossRef]
  4. J. Schwiegerling, “Scaling Zernike expansion coefficients to different pupil sizes,” J. Opt. Soc. Am. A 19, 1937-1945 (2002).
    [CrossRef]
  5. C. E. Campbell, “Matrix method to find a new set of Zernike coefficients from an original set when the aperture radius is changed,” J. Opt. Soc. Am. A 20, 209-217 (2003).
    [CrossRef]
  6. G.-M. Dai, “Scaling Zernike expansion coefficients to smaller pupil sizes: a simpler formula,” J. Opt. Soc. Am. A 23, 539-543 (2006).
    [CrossRef]
  7. A. J. E. M. Janssen and P. Dirksen, “Concise formula for the Zernike coefficients of scaled pupils,” J. Microlith. Microfab. Microsyst. Letters 5, 030501 (2006).
    [CrossRef]
  8. H. Shu, L. Luo, G. Han, and J.-L. Coatrieux, “General method to derive the relationship between two sets of Zernike coefficients corresponding to different aperture sizes,” J. Opt. Soc. Am. A 23, 1960-1966 (2006).
    [CrossRef]
  9. S. Bara, J. Arines, J. Ares, and P. Prado, “Direct transformation of Zernike eye aberration coefficients between scaled, rotated, and/or displaced pupils,” J. Opt. Soc. Am. A 23, 2061-2066 (2006).
    [CrossRef]
  10. G.-M. Dai, Wavefront Optics for Vision Correction (SPIE Press, 2008).
    [CrossRef]
  11. L. Lundström and P. Unsbo, “Transformation of Zernike coefficients: scaled, translated, and rotated wavefronts with circular and elliptical pupils,” J. Opt. Soc. Am. A 24, 569-577 (2007).
    [CrossRef]
  12. R. R. Kreuger, R. A. Applegate, and S. M. McRae, Wavefront Customized Visual Correction: The Quest for Super-vision II (Slack, 2004).
  13. G.-M. Dai, “Wavefront expansion basis functions and their relationships,” J. Opt. Soc. Am. A 23, 1657-1668 (2006).
    [CrossRef]
  14. C.-H. Teh, “On image analysis by the methods of moments,” IEEE Trans. Pattern Anal. Mach. Intell. 10, 496-513 (1988).
    [CrossRef]
  15. S. Roman, Advanced Linear Algebra, 3rd ed. (Springer, 2008).
  16. W.-H. Steeb, Matrix Calculus and Kronecker Product with Applications and C++ Programs (World Scientific, 1997).

2007

2006

2003

2002

2001

1988

C.-H. Teh, “On image analysis by the methods of moments,” IEEE Trans. Pattern Anal. Mach. Intell. 10, 496-513 (1988).
[CrossRef]

1976

Applegate, R. A.

R. R. Kreuger, R. A. Applegate, and S. M. McRae, Wavefront Customized Visual Correction: The Quest for Super-vision II (Slack, 2004).

Ares, J.

Arines, J.

Bara, S.

Campbell, C. E.

Coatrieux, J.-L.

Cox, I. G.

Dai, G.-M.

Dirksen, P.

A. J. E. M. Janssen and P. Dirksen, “Concise formula for the Zernike coefficients of scaled pupils,” J. Microlith. Microfab. Microsyst. Letters 5, 030501 (2006).
[CrossRef]

Guirao, A.

Han, G.

Janssen, A. J. E. M.

A. J. E. M. Janssen and P. Dirksen, “Concise formula for the Zernike coefficients of scaled pupils,” J. Microlith. Microfab. Microsyst. Letters 5, 030501 (2006).
[CrossRef]

Kreuger, R. R.

R. R. Kreuger, R. A. Applegate, and S. M. McRae, Wavefront Customized Visual Correction: The Quest for Super-vision II (Slack, 2004).

Lundström, L.

Luo, L.

McRae, S. M.

R. R. Kreuger, R. A. Applegate, and S. M. McRae, Wavefront Customized Visual Correction: The Quest for Super-vision II (Slack, 2004).

Noll, R. R.

Prado, P.

Roman, S.

S. Roman, Advanced Linear Algebra, 3rd ed. (Springer, 2008).

Schwiegerling, J.

Shu, H.

Steeb, W.-H.

W.-H. Steeb, Matrix Calculus and Kronecker Product with Applications and C++ Programs (World Scientific, 1997).

Teh, C.-H.

C.-H. Teh, “On image analysis by the methods of moments,” IEEE Trans. Pattern Anal. Mach. Intell. 10, 496-513 (1988).
[CrossRef]

Unsbo, P.

Williams, D. R.

IEEE Trans. Pattern Anal. Mach. Intell.

C.-H. Teh, “On image analysis by the methods of moments,” IEEE Trans. Pattern Anal. Mach. Intell. 10, 496-513 (1988).
[CrossRef]

J. Microlith. Microfab. Microsyst. Letters

A. J. E. M. Janssen and P. Dirksen, “Concise formula for the Zernike coefficients of scaled pupils,” J. Microlith. Microfab. Microsyst. Letters 5, 030501 (2006).
[CrossRef]

J. Opt. Soc. Am.

J. Opt. Soc. Am. A

Other

G.-M. Dai, Wavefront Optics for Vision Correction (SPIE Press, 2008).
[CrossRef]

R. R. Kreuger, R. A. Applegate, and S. M. McRae, Wavefront Customized Visual Correction: The Quest for Super-vision II (Slack, 2004).

S. Roman, Advanced Linear Algebra, 3rd ed. (Springer, 2008).

W.-H. Steeb, Matrix Calculus and Kronecker Product with Applications and C++ Programs (World Scientific, 1997).

Z80.28-2004 Methods for reporting optical aberrations of eyes (American National Standards Institute, 2004).

Cited By

OSA participates in CrossRef's Cited-By Linking service. Citing articles from OSA journals and other participating publishers are listed here.

Alert me when this article is cited.


Tables (1)

Tables Icon

Table 1 Bilinear Transformation Matrices for N th Order a

Equations (58)

Equations on this page are rendered with MathJax. Learn more.

w ( x , y ) = k = 0 K c k v k ( x , y ) ,
v k ( x , y ) = x i y j ,
w ( x , y ) = ( c 0 x 0 y 0 ) + ( c 1 x 1 y 0 + c 2 x 0 y 1 ) + ( c 3 x 2 y 0 + c 4 x 1 y 1 + c 5 x 0 y 2 ) + ,
k = 1 2 ( i + j ) ( i + j + 1 ) + j .
v k ( x , y ) = ( x r ) i ( y r ) j ,
w ( x , y ) = c T v ( x , y ) ,
w ( x , y ) = 2 ( x 2 + y 2 ) 1
w ( x , y ) = ( 1 ) x 0 y 0 + 0 x 1 y 0 + 0 x 0 y 1 + 2 x 2 y 0 + 0 x 1 y 1 + 2 x 0 y 2 ,
c m = T c z ,
c z = T 1 c m ,
T = [ 1 0 0 0 3 0 0 0 2 0 0 0 0 2 0 0 0 0 0 0 0 0 2 3 6 0 0 0 2 6 0 0 0 0 0 0 2 3 6 ] ,
w ( x , y ) = c 0 , 0 x 0 y 0 + c 1 , 0 x 1 y 0 + c 0 , 1 x 0 y 1 + c 2 , 0 x 2 y 0 + c 1 , 1 x 1 y 1 + c 0 , 2 x 0 y 2 + ,
w ( x , y ) = i = 0 N j = 0 N i c i , j x i y j .
w ( x , y ) = x T C y .
C = [ c 0 , 0 c 0 , 1 c 0 , 2 c 1 , 0 c 1 , 1 0 c 2 , 0 0 0 ] .
x = D x x ,
y = D y y ,
w ( x , y ) = ( x ) T C y = ( D x x ) T C ( D y y ) = x T C y ,
C = D x T C D y .
u = ( 0 1 2 u 3 u 2 ) = [ 0 0 0 0 1 0 0 0 0 2 0 0 0 0 3 0 ] ( 1 u u 2 u 3 )
D i , j = { i , if j = i 1 0 , otherwise } .
C = [ c 0 , 0 c 0 , 1 c 0 , 2 0 c 1 , 0 c 1 , 1 0 0 c 2 , 0 0 0 0 0 0 0 0 ] .
D = [ 0 1 0 0 0 0 1 2 0 0 0 0 1 3 0 0 0 0 ] .
C = [ 2.5 3 0 5 3 0 0 0 5 3 0 0 ] .
C = [ 0 0 0 1 0 0 0 2 0 ] T [ 2.5 3 0 5 3 0 0 0 5 3 0 0 ] = [ 0 0 0 10 3 0 0 0 0 0 ] ,
C = [ 2.5 3 0 5 3 0 0 0 5 3 0 0 ] [ 0 0 0 1 0 0 0 2 0 ] = [ 0 10 3 0 0 0 0 0 0 0 ] ,
c ( 0 ) = Vec ( C ) .
Vec { [ c 0 , 0 c 0 , 1 c 0 , 2 c 1 , 0 c 1 , 1 0 c 2 , 0 0 0 ] } = ( c 0 , 0 c 1 , 0 c 2 , 0 c 0 , 1 c 1 , 1 0 c 0 , 2 0 0 ) .
c = P c ( 0 ) .
k ( 0 ) = i + ( N + 1 ) j ,
P = [ 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 0 0 ] .
c = P Vec ( C ) ,
Vec ( C ) = P T c .
Vec ( Q R S ) = ( S T Q ) Vec ( R ) ,
Vec ( D x T C D y ) = ( D y T D x T ) Vec ( C ) .
c = P Vec ( C ) = P ( D y T D x T ) P T c = M m c ,
M m = P ( D y T D x T ) P T .
D x = [ 1 0 0 a 1 0 a 2 2 a 1 ] ,
D y = [ 1 0 0 b 1 0 b 2 2 b 1 ] .
D y T D x T = [ D x T b D x T b 2 D x T 0 D x T 2 b D x T 0 0 D x T ] = [ 1 a a 2 b a b a 2 b b 2 a b 2 a 2 b 2 0 1 2 a 0 b 2 a b 0 b 2 2 a b 2 0 0 1 0 0 b 0 0 b 2 0 0 0 1 a a 2 2 b 2 a b 2 a 2 b 0 0 0 0 1 2 a 0 2 b 4 a b 0 0 0 0 0 1 0 0 2 b 0 0 0 0 0 0 1 a a 2 0 0 0 0 0 0 0 1 2 a 0 0 0 0 0 0 0 0 1 ] .
M m = [ 1 a b a 2 a b b 2 0 1 0 2 a b 0 0 0 1 0 a 2 b 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 ] .
c z = T 1 M m T c z = M z c z .
M z = T 1 P ( D y T D x T ) P T T .
M z = [ 1 2 b 2 a 2 6 a b 2 3 ( a 2 + b 2 ) 6 ( a 2 b 2 ) 0 1 0 6 a 2 3 b 6 b 0 0 1 6 b 2 3 a 6 a 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 ] .
c z = ( 2 3 ( a 2 + b 2 ) c 4 2 3 b c 4 2 3 a c 4 0 c 4 0 ) .
w ( x , y ) = c 4 { 3 [ 2 ( x + a ) 2 + 2 ( y + b ) 2 1 ] } = c 4 2 3 ( a 2 + b 2 ) + c 4 2 3 b ( 2 y ) + c 4 2 3 a ( 2 x ) + c 4 3 ( 2 x 2 + 2 y 2 1 ) = c 4 2 3 ( a 2 + b 2 ) Z 0 ( x , y ) + c 4 2 3 a Z 1 ( x , y ) + c 4 2 3 b Z 2 ( x , y ) + c 4 Z 4 ( x , y ) ,
Z n , m ( x , y ) = a n , m u m s = 0 ( n m ) 2 ( 1 ) s ( n s ) ! s ! ( n + m 2 s ) ! ( n m 2 s ) ! r n 2 s ,
a n , m = { 2 n + 2 , m 0 2 n + 2 2 , m = 0 } ,
u m = { cos ( m θ ) , m > 0 sin ( m θ ) , m < 0 1 , m = 0 } .
sin ( m θ ) = l = 0 ( m 1 ) 2 ( 1 ) l m ! ( 2 l + 1 ) ! ( m 2 l 1 ) ! cos m 2 l 1 θ sin 2 l + 1 θ = l = 0 ( m 1 ) 2 ( 1 ) l m ! ( 2 l + 1 ) ! ( m 2 l 1 ) ! x m 2 l 1 y 2 l + 1 ( x 2 + y 2 ) m 2 ,
cos ( m θ ) = l = 0 m 2 ( 1 ) l m ! ( 2 l ) ! ( m 2 l ) ! cos m 2 l θ sin 2 l θ = l = 0 m 2 ( 1 ) l m ! ( 2 l ) ! ( m 2 l ) ! x m 2 l y 2 l ( x 2 + y 2 ) m 2 ,
Z n , m ( x , y ) = a m , n { l = 0 m 2 ( 1 ) l m ! ( 2 l ) ! ( m 2 l ) ! x m 2 l y 2 l ( x 2 + y 2 ) m 2 , m > 0 l = 0 ( m 1 ) 2 ( 1 ) l m ! ( 2 l + 1 ) ! ( m 2 l 1 ) ! x m 2 l 1 y 2 l + 1 ( x 2 + y 2 ) m 2 , m < 0 1 , m = 0 } s = 0 ( n m ) 2 ( 1 ) s ( n s ) ! s ! ( n + m 2 s ) ! ( n m 2 s ) ! ( x 2 + y 2 ) n 2 s 2 .
Z n , m ( x , y ) = a l = 0 ( m d ) 2 s = 0 ( n m ) 2 t = 0 ( n m ) 2 s b x i y j ,
a = { 2 n + 2 , m 0 2 n + 2 2 , m = 0 } ,
b = ( 1 ) l + s ( n s ) ! { s ! [ 1 2 ( n + m ) s ] ! [ 1 2 ( n m ) s ] ! } 1 ( m 2 l + d ) ( 1 2 ( n m ) s t ) ,
d = { 0 , m 0 1 , m < 0 } ,
i = m 2 l d + 2 [ ( n m ) 2 s t ] ,
j = 2 l + d + 2 [ ( n m ) 2 s ] .

Metrics