This article explains the reason the illumination profile of the stop surface is referred to as "Apodization", and what apodization does.
Authored By Mark Nicholson
From Wikipedia: Apodization literally means "removing the foot". To apodize is the technical term for changing the shape of a mathematical function, an electrical signal, an optical transmission or a mechanical structure to remove or smooth a discontinuity at the edges. In OpticStudio, apodization is a variation of amplitude over the pupil. The factor is supported in three modes: uniform, Gaussian, and tangential.
This article will show the process and results for changing the apodization type of a system.
Consider this optical system (which can be downloaded from the link at the top of this page), in which a paraxial lens surface is used to represent some highly corrected optical system, and is uniformly illuminated over its entire aperture:
The FFT Point Spread Function is the classic Airy profile, which follows from the fact that the Fourier transform of a circular top-hat function is a Bessel function.
Note that this plot has been logarithmically scaled to enhance the low-intensity "feet" of the diffraction pattern.
Now we change to using a Gaussian apodization function so that the beam intensity varies over the aperture:
In this case, the apodization factor of 3 means that the entrance pupil diameter represents sqrt(3) 1/e2 beam widths, and the layout plot looks like so:
Now relatively little energy is truncated at the aperture stop, and since the Fourier transform of a Gaussian is also a Gaussian, the FFT PSF looks like so:
and we have 'apodized' or cut the feet off of, the diffraction pattern. Note that the lens has not changed: just the illumination as a function of pupil. In this case, there is little energy at the edge of the lens, and so little energy is diffracted away from the main lobe of the beam.
The term apodization is also sometimes applied to spatial filtering, in which a pinhole aperture allows only the central lobe of the Airy profile to pass, and 'cuts the feet' from the diffraction pattern.
However, in optical design jargon, the term "Apodization' has grown to mean any function that describes the illumination of the pupil, whether it results in a single-lobed diffraction pattern or not. It is important because aberrations vary over the pupil, and so the variation of 'brightness' over the pupil represents the importance of a particular part of the pupil.
OpticStudio supports the following apodization functions:
- Uniform, which means rays are distributed uniformly over the entrance pupil, simulating uniform illumination. This is usually the case for distant objects.
- Gaussian, which imparts an amplitude variation over the pupil that is Gaussian in form. The apodization factor refers to the rate of decrease of the beam amplitude as a function of radial pupil coordinate and can be used to study the effects of truncated Gaussian amplitude variations.
- Cosine cubed, which simulates the intensity fall-off characteristic of a point source illuminating a flat plane. Cosine cubed apodization is only useful and should only be used for point sources or field points close to the axis when compared to the entrance pupil diameter. The name 'cosine cubed' is used because, for a point source, the intensity of a ray illuminating a differential area on a plane is given by
where θ is the angle between the z axis and the ray intersecting the entrance pupil, and the relative intensity at the center of the pupil is 1.0.
- OpticStudio also supports user-defined apodizations on any surface, rather than just the entrance pupil. User-defined surface apodizations are implemented using the user-defined surface type described in The Setup Tab > Editors Group > Lens Data Editor > Sequential Surfaces > User Defined in the Help System.
A surface transmittance can be used to define arbitrary surface apodizations. The transmittance function can be any formula based upon the ray coordinates, direction cosines, surface parameters, or other data; or may be derived from a look-up table, or any other method that can be implemented within the DLL.