How to use the Optically Fabricated Hologram to correct for aberrations

This article shows how an Optically Fabricated Hologram (OFH) can be used to reduce the aberrations of a singlet lens. After describing the two ZMX files representing the hologram construction beams, the article demonstrates how to set up the OFH in the playback file. It then explains how to easily access any construction beams variables from the playback file, as to achieve a diffraction limited singlet.

Authored By Alessandra Croce, Michael Cheng, Erin Elliott


Article Attachments


The Optically Fabricated Hologram (OFH) is the most versatile of all hologram models available in OpticStudio. This model requires the use of two ZMX files for the construction beams, and one ZMX file representing instead the hologram playback file. The three files needed for this example can be found in the Article Attachments.

The initial system

The system considered in this article (StartingLens.zmx) consists of a simple biconvex lens operating at 0.633 nm, with the Image plane at its paraxial focus.


As can be seen from the OPD fan, spherical aberration is the dominant aberration.


The singlet is to be optimized to achieve a diffraction limited performance through the use of an Optically Fabricated Hologram (OFH) placed on its front surface.

As explained in Knowledgebase article “How to model holograms in OpticStudio”, the OFH requires use of three ZMX files:

  1. the playback file, where the OFH is placed
  2. the construction file for beam 1
  3. the construction file for beam 2

In this example, the playback file is “StartingLens.zmx”, containing the singlet where the OFH will be placed. The hologram constructions files are called “OFHSphericalCorrector_1.zmx” and “OFHSphericalCorrector_2.zmx”. These ZMX files satisfy the naming convention needed to be used as construction files for the OFH: their filename is the same but have “_1” and “_2” appended to the end.

Note that construction files must also comply with a number of other rules. For more information, please refer to help file section The Setup Tab > Editors Group (Setup Tab) > Lens Data Editor > Sequential Surfaces (lens data editor) > Optically Fabricated Hologram.

The construction files

“OFHSphericalCorrector_1.zmx” is construction file 1 and contains only a collimated beam incident on the lens front. “OFHSphericalCorrector_2.zmx” is construction file 2; it is similar to construction file 1 but additionally contains a phase plate located before the front lens surface. This phase plate is modelled using a Zernike Fringe Phase surface, for which all terms are initially set to zero. Terms 4 and 9, representing respectively defocus and third-order spherical aberration, are set to variable, so that they can be later optimized as appropriate.


The previous image shows the two construction files layouts, drawn up to the front surface of the lens, which is also the system STOP in each file. The STOP represents the surface where the two construction beams are assumed to interfere. Only the ray intercept vectors at the STOP location in the construction files will determine the hologram properties. All surfaces following the STOP in the construction files will be ignored from the perspective of the OFH. Therefore, for clarity they have been ignored in both layouts.

Setting up the playback system

Once the constructions files have been defined, the playback system can be setup starting from the initial system (“StartingLens.zmx”).

First, ensure that both construction files are placed in the same folder as the initial system. Then open the latter and set up the OFH:

  1. Specify in the Comment cell of surface #3 the common part of the construction files name, in this case “OFHSphericalCorrector”
  2. Change the lens front (surface #3) to an Optically Fabricated Hologram
  3. Set the OFH parameters as appropriate, to ensure the shape and behavior of the hologram is correctly taken into account. In this case:
    1. Shape = 0, corresponding to a Conic asphere shape, just like the Standard surface.
    2. Holo type = 1, corresponding to the same construction geometry as the Hologram 1 surface, with both construction beams diverging in this case from a source infinitely far away.
    3. Diffraction Order = 1
    4. Curvature = 1/(Front lens Radius) = 0.02 mm-1
    5. Conic = 0
    6. OPD Mode = 0, corresponding to the hologram’s default Optical Path Difference computation.


Now the lens front is an OFH surface, matching the shape of the starting system’s lens front. This system, containing the OFH, represents the hologram’s playback system.

At this stage, as the phase plate in construction file 2 doesn’t have any non-zero terms, the OFH is made of the interference of two identical beams and has no effect whatsoever on the system. The playback system should, therefore, look and behave exactly as the original “StartingLens.zmx” file.

Optimizing the OFH

As previously noted, the phase plate in construction file 2 has two variables already defined, Zernike terms 4 and 9. It is possible to easily access these variables from the playback file by clicking Add Hologram Variables in the Multi-Configuration Editor toolbar, as shown in the following picture.


The Add Hologram Variables tool finds the variables in the construction files and adds them to the playback file as HLGV multi-configuration operands. These can now be used alongside any other variables in the playback file (if any).
In this case 4 HLGV operands will be added, 2 for construction file 1, and 2 for construction file 2.

The HLGV Operand has 3 arguments:

  • Surface : it indicates a surface that is an Optically Fabricated Hologram surface
  • File #: specifies the construction file 1 or 2 where the variable comes from
  • Variable #: specifies the variable number linked in the construction file. This can be checked in the construction file. Click Analyze...Reports...Prescription Data and select Solves/Variables in the settings.


We are only interested in the operands for construction file 2 (which already have variable status 'V' applied), so delete the operands for construction file 1.

Use of HLGV operands allows the simultaneous closed loop optimization of the construction and playback systems. Note that the variables reported via HLGV are not read-only: changing their values will change the associated parameter in the relevant construction file. In order to optimize the system for best performance, a merit function targeting best RMS spot will suffice. To do so, set up the Optimization Wizard as follows, then click OK.


To optimize the system, click Analyze…Optimize!. Notice how the construction file variables have now been optimized as to correct the aberrations in the playback system and achieve the smallest possible RMS spot.


The resulting hologram can be visualized by using the Hologram Construction Interference user analysis described in Knowledge base article “Analyzing hologram construction fringes with a ZOS-API User Analysis”.


A Standard Spot Diagram, showing the Airy disk, can be used to quickly confirm that the system is now diffraction limited. The spot is not an ideal point due to the presence of higher-order aberrations.


Even though the system is diffraction limited, opening a Wavefront map shows an unrealistic RMS wavefront error of ~31 waves. This is one of the instances where the default hologram’s Optical Path Difference computation (OPD Mode = 0) leads to incorrect results. There is no reliable algorithm for determining the proper OPD Mode automatically in all cases. For this reason, when optimizing systems including OFHs, it is advisable that the merit function should not rely on OPD data, because of the possibility of an incorrect calculation. If the OPD is obviously wrong, as in this instance, the user must manually determine the proper OPD algorithm by setting the OPD Mode equal to 1, 2, 3, or 4, until the OPD values are computed correctly. In this specific file, the correct OPD is calculated when OPD Mode = 2, leading to a much more realistic RMS wavefront error of 0.009 waves. For more details on the different OPD calculations, refer to OpticStudio help files.

Finally, note that, as the playback and construction files are linked through the HLGV operands, saving the playback file will also save both associated construction files. This can be confirmed by clicking on File…Save and opening file “OFHSphericalCorrector_2.zmx” in a second instance of OpticStudio: the variables set on the Zernike Fringe Phase parameters have now the values found by optimization of the playback file.



Was this article helpful?
0 out of 0 found this helpful



Article is closed for comments.