Substract on-axis aberrations on wavefront
I am trying to model a Shack-Hartmann set-up for measuring off-axis aberrations on a two-lens system. The metrology beam is divergent and the set-up works in double pass with a concave mirror. This is the schematic set-up:And the lens data editor: The paraxial lens on surface 2 is what makes the metrology beam divergent. It has an EFL of 30.3 mm.My goal is to measure the WFE in surface 32 (simulating the position where the microlenses array will be). I am working in “Afocal Image Space” and “Reference OPD > Absolute 2” A couple of questions about this:Where does that high piston como from, and how to get rid of it? Is there any way I could get rid of all the on-axis aberrations (focus, spherical), maybe on a dummy surface, so I can have a look at the remaining RMS when I tilt the lenses?Thanks in advance for your help.
How to use Universal Plot to model spot size variability over different configurations?
Hi! I’m trying to model a field flattening lens and I’d like to verify the spot size variability across my image field as a function of input angle to the system. Using coordinate breaks, I set up a mirror that rotates to specific angles (set by the Configuration parameter PRAM), allowing me to vary the angle of incidence into my lens. I’m using the 2D Universal Plot with Config: PRAM as the two independent variables and RSCE as the dependent variable. The plot comes out as a solid color (suggesting there is no variability across the image plane). This result seems wrong, as other tools (like RMS vs Wavelength) show the different configurations lead to different spot sizes. Let me know if I can provide more information. Unfortunately, I can’t share my zmx model. Thank you!
ZPL TASK 4. Energy on a Detector (EOD)
Hi guys,Here is another set of task focus on Energy on a detector. Compute and plot the EOD of a system over a defocus range for the specified field points Shift an optical element over a range of axial shifts and compare the change in EOD Compute and plot the percent EOD (energy on detector) over a linear field. Compute and plot the EOD (energy on detector) for a range of focus shifts Compute and plot the change in EOD (encircled or ensquared energy on a detector) over the 2D rectangular FOV Plot the change in EOD (encircled or ensquared energy on a detector) times the normalized PSA over the FOV. Assumes that the macros EOD_VS_FOV and VIG_VS_FOV have been run. Thank you!
ZPL TASK 3
Hi guys,Task 3 Plot the RMS spot size vs. through-focus position. Compute and plot the RMS value of geometric spot size, wavefront error, or strehl ratio over a linear field. Compute and plot the RMS value of geometric spot size, wavefront error, or strehl ratio vs focus position. Compute and plot the RMS value of geometric spot size, wavefront error, or strehl ratio over the two-dimensional FOV Compute and plot the RMS value of geometric spot size, wavefront error, or strehl ratio vs wavelength. Compute and plot the RMS WFE over the FOV. Plot spot diagrams over the 2D rectangular or circular field of view. The field of view is assumed to be centered on-axis. Macro that defines a function that returns the RMS Spot Size at any surface in your system. Can be used to constrain the spot size during optimization Thank you!
ZPL MACROS TASK 2 (MTF)
Hi guys,I decided to section the ZPL task to avoid confusion because I have about 100 of these macros to write. Compute and plot MTF, plotting all fields in one plot (to a maximum of 20 fields). Compute and plot the MTF over a linear field for a specified set of spatial frequencies. Compute the MTF over the field of regard (FOR) for a specified spatial frequency and a specified field point Compute and plot the radial, tangential, or average of radial and tangential MTF over the FOV for a specified spatial frequency Compute the MTF at a given spatial frequency vs. the change in a specified lens parameter. Compute the MTF at a given spatial frequency vs. the change in a specified lens parameter. The parameter minimum and maximum values may be entered as actual values or as deltas. Plot the two-dimensional MTF for the specified field points, zoom positions, and through-focus positions. Plot the optical MTF cascaded with the detector MTF to get the combined MTF for the system
Hi guys, I am new to learning ZPL. I have a list of macros that I am tasked to write at work. Here are the list below with their purpose. I was hoping anyone have written similar macro, p[lease share or give me tips on how to write them. Thanks.Compute the paraxial ABCD matrix between 2 surfaces. Bend a lens. Given one radius, compute the other radius to maintain the focal length. Macro to plot and optionally list the distortion over the full image format Calculate relative or absolute dn/dT values based on the Schott equations Draw the aperture(s) associated with a surface. Define a macro function to compute the clearance between two surfaces, including the sags of the two surfaces Compute the angular boresight error in object space of the system due to the decentration of a surface or a group of surfaces. Compute the edge thickness between two surfaces at a specified x,y location Plot the FOV points Tabulate the focal lengths of each component in the specified surface range. A compon
Extract accurate MTF from simulated scenes without resorting to FFT PSF
HiI am using Zemax to simulate images of scenes through customized imaging setups. However, I am unable to simulate images of scene with sufficient resolution.My current imaging setup convolves a complex PSF with the observed scene. Extracting actual scene information requires deconvolution of the image to obtain a meaningful image. This means that I cannot resort to the classical MTF procedure using the FFT of the simulated PSF, as it would only give me the MTF of the convoluted image.I have therefore tried to proceed by scene analysis to extract MTF, i.e. simulate with Zemax the image of classic checkerboard patterns seen through my custom design and then in a second stage extract the MTF using image processing software. The core issue is that the resolution of images obtained after deconvolution are insufficient for image analysis and MTF extraction by slanted edge method.Is there any way to get more accurate scene imaging through simulation with my setup? Or is there another metho
How to read luminance from Detector rectangle in merit function
Hi everyone,in order to perfecting a merit function, I would like to introduce the reading of the luminance (cd/m2) from a detector rectangle. Unfortunately the NSDD operands don't allow me this type of reading.Does anyone have a solution? Thanks to everyone.
Off Axis Parabolic Mirror - Coordinates
Hello, Very new to using zemax so please do let me know if I am missing on providing any key details associated with my question. I am interested in utilizing the Thorlabs OAP zemax file (attached). I tried ray tracing in sequential mode by simply placing a paraxial lens in front of the OAP surface which worked fine. The next thing I am stuck with is ray tracing two OAP. I know this requires a coordinate breaks for decentering and tilting. But I have a few questions (or rather confused about using zemax): How to define local coordinate of individual OAPs ? Because by decentering/tilting one OAP and second one is moving too. How can I move the source (object) such that it is at 90deg to the OAP surface ?
Tolerancing ROC in multiconfiguration (temperature) model
I have set up for the tolerance of a somewhat simple system using the temperature ranges in a multiconfiguration table. I am getting the error message that TRAD cannot be used in multiconfiguration tolerance analysis with no explanation or corrective actions. I want to include the lens manufacturers ROC tolerance in the analysis and I don’t recall running into this problem previously. Is there a workaround for this error?
Reading ZRD data on detector using ZOS-API Matlab
Hi,I am trying to use a Matlab script to trace rays and read only the rays that hit my detector after a ghost reflection.I have been trying to save the rays and use a filter to select only the ones I want. Unfortunately, I am not able to read the detector using the ray database. Does anybody have a tip to solve this issue?Thanks,Daniel
Modeling night sky radiance in OpticStudio?
I could use a little radiometry help here. Night sky luminance can be quantified in terms of visual magnitude/arcsecond². Pristinely dark skies with no light pollution or airborne dust are in the range of 22.0 mag/arcsec² (~172 μcd/m²). The Milky Way in a clear moonless sky has a luminance of around 19.6 mag/arcsec² (~1561 μcd/m²). Light-polluted skies can have a luminance of 18 mag/arcsec² (~6814 µcd/m²) or worse. The formula to convert mag/arcsec² to µcd/m² is value in µcd/m² = (1.08E+11) × 10 ^ [-0.4*(value in mag/arcsec²) ]1 cd = 1/683 watt/ster at 555nm. In non-sequential mode, how would one model a patch of the night sky based on its mag/arcsec²? I’m assuming one would use a Source Ellipse of some diameter at a negative distance from an optical aperture to define the solid angle, and with the Cosine Exponent set to 1.0 to give a Lambertian luminance pattern. Say I set the number of analysis rays to 1E7. What formula gives me the power in watts for a given number of analys
Zernike term for spherical aberration
I’m trying to make a relation between zernike polynomials that describe spherical aberrations and laser beam diameter, glass thickness and focal length of the lens. I read from as source that the eight zernike term for a mirror can be given as C8=D^4/[3072* wavelength*(focal length^3)] where D is mirror diameter. Is there a similar formula for a lens? if no,how do you advise i go about it on zemax?
is there a fiber source dll with sobol sampling?
Hello, I am trying to consider in my simulation in non-sequential mode the homogenizing behavior by optical components of laser radiation. I use fiber1.dll as source for this and had to realize that in my case I have to set the number of analyzing beams very high depending on the detector resolution to exclude measurement errors. As a result, however, my simulations take a lot of time. I recently came across the article "Understanding Sobol sampling" here, which explains the "signal to noise ratio" in this regard, pretty much providing the reason why I am forced to put up with such long simulation durations. On the other hand, sobol sampling could help me, but unfortunately I couldn't find any source files similar to fiber1 that use sobol sampling and wanted to ask if there are any that are accessible?Best regards,Torsten
[Zemax coupled with Ansys] Simulation optical system integrated with seal and figure out the light leakage out of system
hi there,I would like to do kinds of simulation about the risk of light leakage out of seal that integrated with optical system. Is it possible to get any preliminary results from simulation to predict the light leakage? Or is there any experience or examples for this kinda simulation/scenario? Thanks Doris
OpticStudio Account number switch to Ansys
Good morning,in the transition from Zemax OpticStudio to Ansys OpticStudio, our Account number has been changed (old account number is LXXXXXX, new account number is AXXXXXXX). Wanting to open a telephone assistance call, I find myself unable to do so. Can someone help me? Thanks
How to obtain the zernike coefficients without set fields in system explorer
Hello everyone,In the full-field aberration map, the sampling value of the field of view has a maximum value of 20. When I want to find the minimum point of an aberration, I often cannot get it precisely because of the lack of precision.I've read the question and the response below, and I am confused that if we use the ZERN operand to read the zernike coefficient value, then a lot of fields need to be setby using zosapi to calculate in matlab. After trying, I found that the fields can only be set around 2000 at most, and the speed is slow. So I want to know how to get the aberration of any field point, and if there exsits an interface like this, the optimization can be done to find the exact position of the minimum value.
How to set a field coordinate variable using ZOS-API
How do I set a field position (say field coordinate X) to a variable using ZOS-API in Python?I am accessing the Fields information usingFields = TheSystem.SystemData.FieldsIt seems like the methods within the Fields object are slightly different to the MCE or LDE editors, as I can get a single field doing Fields.GetField(2) but I cannot find a method like SetSolveData(solve), which would work in the MCE.Any idea on how to set a field coordinate to a variable?Thanks.
The relation between exr, exi, eyr, eyi, ezr, ezi and phase_at in the ZRD file in NSC
In NSC mode, if the exr, exi, eyr, eyi, ezr, ezi in the ZRD file could correspond to phase_at by mathematical deduction？ When grating is included in the NSC mode，the “exr, exi, eyr, eyi, ezr, ezi” seem not able to be deduced corresponding to “phase_at”. If the “exr, exi, eyr, eyi, ezr, ezi” is only related to accumulated phase due to propagation but not the phase introduced by objects that impart phase (i.e. gratings, etc.) as presented in the OSmanual?
Geometric MTF map interpretation
Hello All, I was trying to plot the MTF for 60 linepairs/mm for 100° and 50° in x and y field.I expect the MTF to be max in the center (close to 0° in both direction) and change radially (i think it would decrease), however, when I look at the results I am surprised to see the opposite.Am I missing something here? I tried to look at the help section but I cannot make sense of the results.Could someone please explain how the MTF is least in the center closer to the optical axis and gets better as the FOV increases?Looking forward to the answersAmit
ZPLM and POP analysis
Hello. I’m interested in running optimization targeting to get a specific beam shape on image. The beam is generated using POP Gaussian angle. The analysis i want to run requires a macro code. For that I’m going to use the ZPLM operand. My question is how do I read POP analysis Text data tab with the ZPL? I want to process the data and to return the macro result to the merit function ThanksRaphael
Flux v.s. Wavelength Graph Not Gathering Data
I am trying to use the Flux v.s. Wavelength tool on Zemax to gather information for calculating a resolution of a lens involving a grism. When I run the program, the graph shows a straight line with a measurement of zero flux. I believe my program is having problem collecting the rays properly, however I have tested different ray databases and experimented with other options as well. Any ideas?(Will also take secondary advice on a possibly better way to gather data on resolutions)Thank you, New Zemax User
model a lens optical aberration with Zernike coefficients
Dear all, How to model a black-box optical system using Zernike coefficients – Knowledgebase (zemax.com) tells us how to model a lens optical aberration using Zernike coefficients. However , this method can only define the aberration in one field at one wavelength, in most cases it’s not sufficent to define a lens overall aberration. any further suggestions? (I’m working on the measurement of infinity corrected objectives with Shack-Hartmann sensor and i want to reconstruct the aberration in a simplified model.)
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.