Skip to main content

Hello everyone,

 

I use Zemax 22.3 professional and have the following problem:

I build a simple toy model in the NSC Editor consisting of a perfectly collimated light source (1mio rays) and Detector (150x30 pixel).

I have two scenarios which should give the same results

  1. I get the incoherent irradiance over the Zemax API (in Python) with the function “GetAllDetectorDataSafe()” (no detector smoothing activated)
  2. I get the detector intersection points and intensities of each ray with the ZRD datareader function BatchRayTrace.ReadZRDData() and calculate the detector distribution with a two dimensional histogram (e.g. with numpy.hist2d())

While the distributions definitely correlate, scenario 1 looks significantly smoothed compared to scenario 2 (I checked and there is no energy loss of the rays between the source according to the ZRD datareader and the detector as expected and also within the Zemax GUI the distribution looks smoothed).

If I interpret the Zemax manual correctly this should not be the case: 

  • The incoherent intensity of the ray. This energy is stored by incrementing the counter corresponding to the pixel the ray struck. The sum of the ray intensity divided by the pixel area yields the irradiance in flux per area.

 

Thank you for the help!

 

Hi Christoph, 

No, and if it does, it would be a bug.

How are you doing the histogram binning?  Are you summing up the rays for the xybin > 0 and using this as the binned bucket or are you using numpy/matplotlib to create the historgram.

When the Smoothing column is set to 0, Zemax does not apply any smoothing.  

I would also call the Detector Viewer Analysis and check against this.  

Since there are multiple ways of getting the pixel data in non-sequential mode, I would definitely try multiple approaches and see which ones are identical and then focus on the odd-one-out to see why it’s different.  


Reply