SigmaVectorCalc

This is a script to demonstrate, in detail, how to implement third-order Nodal Aberration Theory.
67 Downloads
Updated 23 Oct 2020

View License

This is a script to demonstrate, in detail, how to implement third-order
Nodal Aberration Theory, using data from paraxial raytrace data, as well
as real raytrace data from CODE V, that is extracted using the the Matlab
CODE V toolkit authored by Joseph M. Howard, Blair L. Unger, Mark E.
Wilson, NASA. Which is available at:

https://software.nasa.gov/software/GSC-15140-1

One of the main purposes of this code is to show the proper sign
convention for the "Sigma" vectors.

The other purpose of this code is to show how to predict node locations
for the coma and astigmatism fields analytically, and calculate the true
node locations (using Fringe Zernikes).

Limitations:
-This code works for refractive and reflective surfaces that are
surface types: "Sphere", "Conic", or "Asphere". The parts of the
surface that are used in the nominal case must be
rotationally-symmetric (you cannot use off-axis aspheres), but the
misalignments can be assymetrical and in three dimensions.
-The surfaces should not be located exactly on a stop or image
conjugate, nor should the center of curvature of a surface be located
at a stop conjugate. This causes certain paraxial quantities to go to
zero, which causes a divide by zero error. These are special cases
where some or all aberration contributions will often go to zero, and
a "Sigma" vector becomes meaningless, or must be handled a different
way.
-The total sum for third-order coma and astigmatism should not be
exactly zero. This will cause a divide by zero in the analytical
calculation of node locations (the node locations do not exist to
third-order). The purpose of this code is to calculate node locations.
-Do not use the "gamma" clocking angle (CDE) as a misalignment, since
the components are rotationally symmetric, this is meaningless. Do not
use "despace" or z-axis translations (ZDE), as this changes the
paraxial properties, and should be studied using changes to the actual
thickness definition.

Literature used in the making of this script:

K. Thompson, “Description of the third-order optical aberrations of
near-circular pupil optical systems without symmetry,”
J. Opt. Soc. Am. A 22, 1389–1401 (2005).

K. P. Thompson, T. Schmid, O. Cakmakci, and J. P. Rolland,
“Real-ray-based method for locating individual surface aberration field
centers in imaging optical systems without rotational symmetry,”
J. Opt. Soc. Am. A 26, 1503–1517 (2009).

Cite As

JONATHAN PAPA (2024). SigmaVectorCalc (https://www.mathworks.com/matlabcentral/fileexchange/79155-sigmavectorcalc), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2019b
Compatible with any release
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.0.5

Handling of divide by zero issue

1.0.4

Change of variables

1.0.3

Edit

1.0.2

Edit file name

1.0.1

Added picture showing binodal astigmatism field

1.0.0