Opticspy can generate serveral kinds interferogram

1. Twyman_Green Interferogram, Lateral_Shear Interferogram based on Seidel aberration.

2. Twyman_Green Interferogram based on Zernike polynomials

3. Twyman_Green Interferogram with phase shift

4. Other helpful methods to research interferometer and specific help manual

In [1]:
%matplotlib inline
import opticspy

Generate Twyman Green interferogram based on Seidel aberration

A: Constant(piston)term
B: Tilt about the y axis
C: Tilt about the x axis
D: Reference sphere change, also called defocus
E: Sagittal astigmatism along the y axis
F: Sagittal coma along the y axis
G: Primary spherical aberration
In [2]:
opticspy.interferometer_seidel.twyman_green(0,8,8,0,0,0,0)
In [3]:
opticspy.interferometer_seidel.twyman_green(0,0,8,8,0,0,0)
In [4]:
help(opticspy.interferometer_seidel.twyman_green)
Help on function twyman_green in module opticspy.interferometer_seidel:

twyman_green(A=0, B=0, C=0, D=0, E=0, F=0, G=0, lambda_1=632, PR=1)
    Genertate Twyman_Green Interferogram based on Seidel aberration
    =============================================
    
    input
    ----------------------------------------------
    
    coefficients in wavenumber(ex. D=8 means 8 max error 
                            in defocus aberration)
    
    A: Constant(piston)term
    B: Tilt about the y axis
    C: Tilt about the x axis
    D: Reference sphere change, also called defocus
    E: Sagittal astigmatism along the y axis
    F: Sagittal coma along the y axis
    G: Primary spherical aberration
    lambda_1: wavelength in nanometer, default = 632nm
    PR: pupil radius, default = 1
    
    output
    ----------------------------------------------
    Interferogram of aberration

Generate lateral shear interferogram based on Seidel aberration.

In [5]:
opticspy.interferometer_seidel.lateral_shear(8,0,0,5,0,0.2)
In [6]:
opticspy.interferometer_seidel.lateral_shear(8,0,0,-5,0,0.2)
In [7]:
help(opticspy.interferometer_seidel.lateral_shear)
Help on function lateral_shear in module opticspy.interferometer_seidel:

lateral_shear(A=0, B=0, C=0, D=0, E=0, S=0.1, lambda_1=632, PR=1)
    Genertate Lateral_Shear Interferogram
    =============================================
    
    input
    Lateral_Shear(A, B, C, D, E, S, lambda_1 = 632, PR = 1):
    ----------------------------------------------
    
    coefficients in wavenumber(ex. D=8 means 8 max error 
                            in defocus aberration)
    
    A: Primary spherical aberration
    B: Coma
    C: Astigmatism
    D: Defocus
    E: x-Tilt
    S: Shear distance(positive)
    lambda_1: wavelength in nanometer, default = 632nm
    PR: pupil radius, default = 1
    
    output
    ----------------------------------------------
    Lateral Shear interferogram of aberration

Generate Twyman Green Interferogram based on Zernike polynomials

In [8]:
Z = opticspy.zernike.Coefficient(Z2=1,Z4=0.5,Z11=1)
In [9]:
Z.listcoefficient()
Z2 =  1 Z11 x Tilt
Z4 =  0.5 Z20 Defocus
Z11 =  1 Z40 Primary Spherical
Out[9]:
['Z2 = 1\nZ4 = 0.5\nZ11 = 1\n', 'Z2 = 1  Z4 = 0.5  Z11 = 1  ']
In [10]:
opticspy.interferometer_zenike.twyman_green(Z)

Generate interferogram from phase shift interferometer(PSI) (take 4-step phase shift as example)

It shows the simulation aberration surface, phase shift interferogram as well as phase value map which detect where is the boundary(use a deep first search algorithm to find the boundary, this output will be valuable when doing phase unwrap and surface rebuild)

In [11]:
Z = opticspy.zernike.Coefficient(Z4=0.6,Z11=0.5,Z8=0.2)
PSI = opticspy.interferometer_zenike.phase_shift(Z,boundary = True)
In [ ]: