optics.analysis
Class OpticalZernike

java.lang.Object
  extended by jfitter.FitFunction
      extended by jfitter.BasisFunction
          extended by jfitter.BasisFunction2d
              extended by optics.analysis.OpticalExpansion
                  extended by optics.analysis.OpticalZernike
All Implemented Interfaces:
SurfaceFunction

public class OpticalZernike
extends OpticalExpansion

Class implement OpticalZernike expansion as a set of two-dimensional basis functions. that can be fitted using the jfitter fitting class.

The zernikes are implement to 6th order (36 components), as defined by James Wyant,


Field Summary
static int MAX_OPTICAL_ZERNIKE
          Maxinum number of zernike components
static int MAX_ORDER
          Maximun order supported
static String[] zernikeName
          Name of the first 36 basis functions
 
Fields inherited from class optics.analysis.OpticalExpansion
radius
 
Fields inherited from class jfitter.FitFunction
coef, order, sigma
 
Constructor Summary
OpticalZernike(int order)
          Form a Zernike expansion to specified order of unit radius.
OpticalZernike(int order, double radius)
          Form a Zernike expansion to specified order and maximum radius
 
Method Summary
 jfftw.Complex derivative(int i, double x, double y)
          Method to get the derivative at a complex
 double evaluate(int i, double x, double y)
          Method to evaluate the ith complment at x,y.
 String getName(int i)
          Method get the name of the specifed component.
static void main(String[] args)
          Test Method to fill a WavefrontImage with a single OpticalZernike component.
 
Methods inherited from class optics.analysis.OpticalExpansion
getMaxRadius, getValue, setMaxRadius, toString
 
Methods inherited from class jfitter.BasisFunction2d
evaluate, evaluate, evaluate, evaluate
 
Methods inherited from class jfitter.BasisFunction
evaluate
 
Methods inherited from class jfitter.FitFunction
addCoefficents, addCoefficient, difference, evaluate, getCoefficient, getCoefficients, getOrder, getSigma, getSigmas, setCoefficient, setCoefficients, setOrder, setSigma
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

MAX_OPTICAL_ZERNIKE

public static final int MAX_OPTICAL_ZERNIKE
Maxinum number of zernike components

See Also:
Constant Field Values

MAX_ORDER

public static final int MAX_ORDER
Maximun order supported

See Also:
Constant Field Values

zernikeName

public static String[] zernikeName
Name of the first 36 basis functions

Constructor Detail

OpticalZernike

public OpticalZernike(int order,
                      double radius)
Form a Zernike expansion to specified order and maximum radius

Parameters:
order - the expansion order (max of 7)
radius - maximum radius

OpticalZernike

public OpticalZernike(int order)
Form a Zernike expansion to specified order of unit radius.

Parameters:
order - the expansion order (max of 7)
Method Detail

getName

public String getName(int i)
Method get the name of the specifed component. Valid for the first 36 componets.

Specified by:
getName in class OpticalExpansion
Parameters:
i - the coefficient index
Returns:
String name of the coefficent.

evaluate

public double evaluate(int i,
                       double x,
                       double y)
Method to evaluate the ith complment at x,y. All orther calls are defined in the super classes.

Specified by:
evaluate in class jfitter.BasisFunction2d
Parameters:
i - the element
x - the x value
y - the y value

derivative

public jfftw.Complex derivative(int i,
                                double x,
                                double y)
Method to get the derivative at a complex


main

public static void main(String[] args)
Test Method to fill a WavefrontImage with a single OpticalZernike component.