Skip to main content

Hi, I have a huge problem related to the possibility to perform time of flight measurements. 

I read a knowledgebase article about the use of ZOS-API to produce plots of the of  time of flight (if i’m not wrong I read that Zemax allows to compute the path length and then it should be converted in time). 

The main problem is that I don’t know C language and even by reading the documentation i’m not able to fully understand the command lines to be used. 

My basic question is the following: Is there some universal code available to perform the time of flight measurement? 

If so, is there some way to extend the calculation to all sources in the system for a given detector surface?

In particular, could it be possible to to introduce a shift for different sources according to their position?

Another related concern is the following: 

in my system there is a series of adjacent layers, each with a specific refractive index. 

Does Zemax correctly take into account the correct index for the computation for each segment contributing to the whole path length to compute the time of flights?

Sorry for all these questions, but I really don’t know where to start from.

 

Hi Nicola

In OpticStudio we measure the path length of the rays so that path can be converted into a time.

To do that, in the article you mentioned, we are using the ZOS-API to read the ZRD file. The ZRD file is basically containing all the rays with their segments and history. From that ZRD file, we extract the needed information. We do this via the API but that could potentially be done differently. You could convert the ZRD file to a Matlab / excel file and then work on the ZRD file outside of OpticStudio.

 

For the API, we have created a free tutorial if you are interested: https://www.zemax.com/blogs/free-tutorials/getting-started-with-zos-api

For the index, I will check but the index is available from the API.


It would be great to see OS support time-of-flight natively. 


There is also a much simpler approach that can work.  Just trace a single Source Ray through the desired path, ending on a detector, and then use the NSRA merit function operand (with Seg# - 1 and Data = 13) to find the accumulated optical phase (from which optical path length, and hence the time-of-flight, can be easily calculated).

 

The Data = 13 setting reports the ray “phase-at” the destination detector (accumulated total phase), while Data = 17 provides directly the total optical path length.

 

 


Yes that works too. It will report the path length for one ray!


Reply