DOI: 10.7795/710.20240403
title: Simulation data for "Compensation of higher order rotationally symmetric Zernike coefficients caused by the defocusing of spherical sections"

description: The provided data enables the immediate replication of the results presented in "Compensation of higher order rotationally symmetric Zernike coefficients caused by the defocusing of spherical sections" at the DGAO 2024. The data is structured with respect to the figures presented in the proceeding.
description: The main folder "Sphere_Simulator_DGAO2024" contains:
 - Sphere_Simulator_DGAO2024.py -&gt; Executable file to generate and visualize the simulated data
 - zernike_poly_xy_cartesian.py -&gt; Supplementary python script wich contains functions for calculating the Zernike coefficients in a cartesian coordinate system
 - data_dict_processed_sphere.json -&gt; File with simulated topography data in python dictionary form as described above.
 - data_dict_sphere.json -&gt; File with simulated topography data in python dictionary form as described above.

The executable python script "Sphere_Simulator_DGAO2024.py" on execution will generate a series of defocused spherical section topographies, as specified in the script
in the section "### Start of custom Parameters ###."
Here the user may specify the following parameters:
 curvatureradius = 100 #mm
 freeaperture = 120 #mm
 Naperture = 200 #Number of samples in the x or y direction
 offsetvector = np.array( [-500, -250, 0.0, 250, 500] ) * 10**(-6) #Defocus in mm
 #The Fringe Zernike set with 36 coefficients is employed
 n_zi = [0, 1, 1, 2, 2, 2, 3, 3, 4, 3, 3, 4, 4, 5, 5, 6, 4, 4, 5, 5, 6, 6, 7, 7, 8, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9,10]
 m_zi = [0, 1,-1, 0, 2,-2, 1,-1, 0, 3,-3, 2,-2, 1,-1, 0, 4,-4, 3,-3, 2,-2, 1,-1, 0, 5,-5, 4,-4, 3,-3, 2,-2, 1,-1, 0]
 
 #Zernike coefficients in mm
 P_custom = np.array( [0,0,0,0,1.0,0,3.0,4.0,5.0,0,0,0,0,0,0,-5.0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] ) * 10**(-6)

By using the default values above and executing the script, it is possible to compare the results with full context to those presented in the article.

The simulation data is saved within two *.json files: "data_dict_sphere.json" and "data_dict_processed_sphere.json".
These each contain a dictionary with the simulated data as follows:

For "data_dict_sphere.json" the dictionary keys are:

 data_dict = { "Topography": (Contains the complete topography),
 "Topography_diff": (Contains the topography after compensation of the spherical part),
 "x-axis": (Aperture coordinates in x-direction),
 "y_axis": (Aperture coordinates in y-direction),
 "defocus": (The specified series of displacements from the focus position),
 "P_Zernike": (The 36 coefficient polynom describing the sphericity),
 "curvatureradius": (The radius of curvature of the sample under test),
 "freeaperture": (Diameter of the free aperture of the sample under test)
 }

For "data_dict_processed_sphere.json" the dictionary keys are:
 
 data_dict = { "Topography_processed": (Contains the complete topography retrieved from the focus series with corrections of ZFR8 and ZFR15),
 "x-axis": (Aperture coordinates in x-direction),
 "y_axis": (Aperture coordinates in y-direction)
 }