optics.zernike
index
/Users/wjh/Python/modules/optics/zernike.py

Some function to calculate the radian and zernike polynomials
 
Author:     Will Hossack, The University of Edinburgh

 
Modules
       
math
numpy
matplotlib.pyplot
optics.wavelength

 
Classes
       
__builtin__.list(__builtin__.object)
ZernikeExpansion

 
class ZernikeExpansion(__builtin__.list)
    Class to work with Optical Zernike expansions
 
 
Method resolution order:
ZernikeExpansion
__builtin__.list
__builtin__.object

Methods defined here:
__init__(self, radius=1.0, wave=0.55, *args)
Create a Optical Zernike expansion 
param radius of expansion
param wavelength
followed by coefficeints
draw(self, size=256)
Plot data is a np.array and
getImage(self, size=256)
Get an np.array image of the expansion
getValue(self, x_or_vec, y=None)
Get the value of the Zernike Expansion at location x,y.

Data descriptors defined here:
__dict__
dictionary for instance variables (if defined)
__weakref__
list of weak references to the object (if defined)

Methods inherited from __builtin__.list:
__add__(...)
x.__add__(y) <==> x+y
__contains__(...)
x.__contains__(y) <==> y in x
__delitem__(...)
x.__delitem__(y) <==> del x[y]
__delslice__(...)
x.__delslice__(i, j) <==> del x[i:j]
 
Use of negative indices is not supported.
__eq__(...)
x.__eq__(y) <==> x==y
__ge__(...)
x.__ge__(y) <==> x>=y
__getattribute__(...)
x.__getattribute__('name') <==> x.name
__getitem__(...)
x.__getitem__(y) <==> x[y]
__getslice__(...)
x.__getslice__(i, j) <==> x[i:j]
 
Use of negative indices is not supported.
__gt__(...)
x.__gt__(y) <==> x>y
__iadd__(...)
x.__iadd__(y) <==> x+=y
__imul__(...)
x.__imul__(y) <==> x*=y
__iter__(...)
x.__iter__() <==> iter(x)
__le__(...)
x.__le__(y) <==> x<=y
__len__(...)
x.__len__() <==> len(x)
__lt__(...)
x.__lt__(y) <==> x<y
__mul__(...)
x.__mul__(n) <==> x*n
__ne__(...)
x.__ne__(y) <==> x!=y
__repr__(...)
x.__repr__() <==> repr(x)
__reversed__(...)
L.__reversed__() -- return a reverse iterator over the list
__rmul__(...)
x.__rmul__(n) <==> n*x
__setitem__(...)
x.__setitem__(i, y) <==> x[i]=y
__setslice__(...)
x.__setslice__(i, j, y) <==> x[i:j]=y
 
Use  of negative indices is not supported.
__sizeof__(...)
L.__sizeof__() -- size of L in memory, in bytes
append(...)
L.append(object) -- append object to end
count(...)
L.count(value) -> integer -- return number of occurrences of value
extend(...)
L.extend(iterable) -- extend list by appending elements from the iterable
index(...)
L.index(value, [start, [stop]]) -> integer -- return first index of value.
Raises ValueError if the value is not present.
insert(...)
L.insert(index, object) -- insert object before index
pop(...)
L.pop([index]) -> item -- remove and return item at index (default last).
Raises IndexError if list is empty or index is out of range.
remove(...)
L.remove(value) -- remove first occurrence of value.
Raises ValueError if the value is not present.
reverse(...)
L.reverse() -- reverse *IN PLACE*
sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1

Data and other attributes inherited from __builtin__.list:
__hash__ = None
__new__ = <built-in method __new__ of type object>
T.__new__(S, ...) -> a new object with type S, a subtype of T

 
Functions
       
opticalZernike(v, i, x, y)
Function to form the opticalZernike compoents weighted by a factor 
param v the wrighting factor
param i the opticalZernike (up to 48)
param x,y normalised coordinates
radial(n, m, r)
Radial polynomial of n,m for radius r
R(n,m,r) as defined in Born & Wold page 770.
param n radial n value, n > 0 only.
param m radial m value, |m| <= n.
param r radius value |r| <= 1.0
return value the value of R(n,m,r).
zernike(n, l, x, y)
Complex method to calculate the complex Zernike polynomial
V(n,l,x,y) as defined in Born & Wolf page 770.
param n radial power order n >= 0
param l angular power order |l| <= n 
param x the x value 
param y the y value
return <code>Complex</code> the polynomial value