I would be interested to learn more about the results of the Huygen’s PSF Feature Experiment. Some of the technical implementation details are nicely explained in: Application of GPUs in optical design software. Since this Feature Experiment has been removed, I’m guessing the overall benefit didn’t outweigh the various implementation constraints?
No problem, you raised an interesting question.Yes, in POP you can control how the beam propagates from surface to surface. There is an option to select ray propagation, so that diffraction is neglected from the selected surface, but that’s okay if the propagation distance isn’t very long and beam is far from a focal point. Here’s an example of selecting ray propagation from the primary mirror to the next surface (which in this model is the secondary mirror): I agree that the Huygen’s PSF is probably the best choice, although the FFT version should essentially be identical since this is a fairly slow (i.e., large f/#) imaging system. Here’s a good article by Ken Moore on PSF calculations (but it doesn’t include POP): What is a Point Spread Function? The discrepancy with POP is a question for Zemax tech support. I’m still scratching my head…
Typically the FOV is defined by the user when setting up a conventional imaging system model. Vignetting may limit the field. It’s not exactly clear what you application is, but I guess you simply want to know what angular range of rays make it through your prism. Is your model sequential or non-sequential (NSC)? If it’s NSC, then you can use a Source Ray and scan its angle at the input while using a Detector Rectangle to observe the output (in real space and/or angle space). Alternatively, you can you a Source Two-Angle and inject a cone of rays into the input, and again use the Detector Rectangle to look at what comes out.
I took a look at the sample file (Cassegrain-type Ritchey Chretien.zmx), added an off-axis field and see a similar effect, although not quite as pronounced. In any event, if I adjust the POP settings to use rays to propagate from the primary mirror to the secondary, then the discrepancy vanishes (i.e., the POP PSF looks just like the version found using both the FFT and Huygens PSF). Digging a little deeper, if I use POP to look at the phase of the beam on the secondary mirror surface, I get two different results depending on how propagation between the mirrors is set up. Here is the difference between the two phase profiles: which looks like excess coma -- it arises when using the standard wave-optics propagation setting between mirrors. Not sure why this is happening, but at least it’s some sort of explanation as to why your POP PSF looks more skewed than the Huygens (or FFT) versions. It’s hard for me to do any more debugging because most of the computational details are hidden
Yes, it appears that the ZOS-API version of the older DDE Extension for NSC ray tracing (Mode 5) is not implemented correctly. Doesn’t seem like it should take too much effort to fix this. However, I never understood why this mode is considered a “batch ray trace” since you can only define and trace one NSC ray at a time -- not much of a batch process! A more efficient approach, which is truly a batch process, would involve using a Source File to define a large set of custom rays (although per-ray polarization is not supported), then execute a standard NSC ray trace (multi-threaded) with the results saved to a ZRD file, and then efficiently parse the file using RayTrace.dll (see Batch Processing of Ray Trace Data using ZOS-API in MATLAB). I have an SSD in my workstation that makes file I/O very fast. Even with a conventional hard drive the overhead isn’t particularly severe. If the ZRD file is simply too large, and only ray data for those segments that hit a particular object are
Already have an account? Login
Enter your username or e-mail address. We'll send you an e-mail with instructions to reset your password.
Sorry, we're still checking this file's contents to make sure it's safe to download. Please try again in a few minutes.
Sorry, our virus scanner detected that this file isn't safe to download.