Point Spread Function not available

  • 12 March 2024
  • 6 replies


I have done a microscope optical design on Zemax NSQ and want o check the PSF but don’t see it on my Analyze tab. Below are my options:

Can you please help me find out if I am missing something? 




Best answer by Jeff.Wilde 12 March 2024, 20:57

View original

6 replies

Userlevel 7
Badge +2



As far as I know you can’t directly get the PSF of a non-sequential system. Without going into details, the non-sequential mode isn’t really suited for PSF analysis. The definition of the aperture STOP isn’t built in the non-sequential mode. From your file, it isn’t obvious why you can’t use the sequential mode, is there a particular reason you want to be in non-sequential? There are ways you could get the PSF in non-sequential mode, but it is substantially more complex than just using the sequential analysis. You can have two models, a sequential one for analysis, and a non-sequential one for stray light analysis or whatever you need to do in non-sequential mode.

Does that make sense?

Take care,



Userlevel 7
Badge +3

Actually, it is possible to calculate the PSF in non-sequential mode using the Detector Rectangle. 

Details from the help documentation:

Here’s an example:


Of course the key assumption here is that the source beam has the desired size (e.g., it effectively fills the stop). That being said, I do agree with @David.Nguyen, it’s typically better to use sequential mode for lens design and conventional performance analysis.



Userlevel 7
Badge +2

Thank you for pointing this out and correcting me @Jeff.Wilde, I need to read about this feature. I guess in the non-sequential mode you have to control the source carefully, or at least sample it well enough, is that right? Would you use @David ‘s

to set it up with Gaussian quadrature?

Thanks for your help and take care,



Userlevel 6
Badge +2

Hey David,

The sampling really comes from the density of rays at the detector plane and the number of pixels.  So if you want to recreate a 128x128 sampling from sequential mode, you would trace 16384 rays to 16384 pixels.  The size of the detector should then be (128*image_delta) and image_delta is based off working f-number of the system.  No Gaussian Quadrature needed.

The Huygens PSF algorithm in NSC mode was implemented before the Spherical Huygens Integral was implemented in sequential mode (thus the comment about NSC Huygens PSF failing when the rays are nearly parallel), so the NSC Huygens is a simple plane wave propagator (although the calculation is incredibly slow do to the nature of non-sequential ray tracing):

  1. Propagate all rays to the image/detector plane.
  2. Record the XY, LM and OPL
  3. Determine a “best guess” reference ray (simplifies numerical round-off) and convert OPL to OPD
  4. Convert OPD to waves by multiplying by 2*pi
  5. Use the simple plane wave propagator to integrate all rays across all pixels.

Mathematically, the Huygens PSF would be:

Where xp, yp are the X & Y central location of each pixel, xr & yr are the ray’s coordinates at the image plane and lr & mr are the ray’s direction cosines.   Since it’s a plane wave propagator, the phase is constant across the plane wave so we don’t need to calculate the Exit Pupil (all we care about is the phase/optical path differences across all pixels).

The 2 biggest requirement for this are:

  1. The source is larger enough to “fill” the aperture (as Jeff pointed out)
  2. The “Exit Pupil” is far enough away that spherical waves can be approximated by plane waves (probably 99.9% of imaging systems...sequential mode didn’t add spherical waves until ~2017 and the main use case as CGH).

I don’t believe this will give accurate results if splitting & scattering are involved since in reality these rays would not coherently sum to form a PSF (they will simply contaminate the image) but in NSC mode, these split/scattered rays would be included in the coherent sum. 

@Jeff.Wilde if you have experience with NSC Huygens PSF & scattered rays, please chime in.

Userlevel 7
Badge +3

Hi @David.Nguyen ,

The main source constraint is that it should be a point source (noting that a collimated beam is a point source at infinity, or alternatively, it derives from a point source in the front focal plane of an ideal lens) -- as it should be since a PSF is, by definition, the response to a point source.  As I’m sure you know, there are a number of NSC sources that meet this criterion.  With enough rays, random sampling over the area of the beam should be fine.  So, as Michael notes, no Gaussian Quadrature needed.


Hi @MichaelH ,

Interesting point about considering ray scattering.  Rays which are generated by scattering and splitting should participate in the coherent superposition process along with the specular source rays.  In OpticStudio, there is no phase shift associated with surface scattering/splitting.  As a result, all of the child rays that are generated by scattering from a given source ray arrive at the detector with close to the same incident angle but are laterally displaced from one another (this assumes the detector is a very small, so it only “sees” small-angle scattering).  Treating each ray as a plane wave, the net result is that these child rays, along with the parent specular ray, all correspond to essentially identical field patterns across the detector.  Equivalently, think of the child rays as emanating from the scattering point.  So this group of rays arrives at the detector like a spherical wave, but since the detector is very small, the solid angle, and hence the curvature, associated with the spherical wave is exceedingly small.  In this case, treating the specular + scattered ray bundle as a set of plane waves is fine.  Since the scattered rays are all phase correlated with the specular ray, as a group they add together and act just like the specular ray by itself.  You can see this by turning on surface scattering (on one or more surfaces) and observing no change in the Huygens’ PSF. 

More details for a specific example are attached.  

In reality, I expect that surface scattering probably does, in fact, effectively generate random phase shifts of the scattered rays relative to the specular rays.  (Assuming you want to think of a ray picture).  A wave model would be more rigorous, along the lines of what Goodman does in his book on speckle.  So, the fact that the Huygens’ PSF is scattering-independent seems like an artifact/limitation of the ray model as implemented in OpticStudio.



Userlevel 7
Badge +2

Thank you @Jeff.Wilde and @MichaelH , its extremely helpful!