MATLAB ROFx MonteCarlo: n variation?

38 views
Skip to first unread message

Michael Daly

unread,
Jul 15, 2022, 4:11:16 PM7/15/22
to Virtual Photonics
Hi, 

I am using the MATLAB VTS interface to compute reflectance in the spatial frequency domain (VtsSolvers.ROfFx). The attached image compares solver types PointSourceSDA vs. MonteCarlo over a range of index of refraction (nrel = 1.2,1.33,1.4,1.5,1.6), for mua =  0.0059 1/mm, mus' = 0.978 1/mm, and g = 0.8. 

There appears to be very little difference (i.e., minimal effect of index of refraction changes) across the curves computed with MonteCarlo, unlike DiffusionTheory, which I am a bit confused by.  

I saw mention somewhere in the code that perhaps MonteCarlo assumes n=1.4, so I would just like to confirm if these are expected results or if I am be using the toolkit in an unexpected way.

My goal is ideally to use VTS to compute Monte Carlo lookup tables for SFDI, and need to handle differences in index of refraction between biological samples (~1.33) and various calibration phantoms (~1.52 for INO BioMimic; ~1.43 for silicone). 

Thanks,
Michael Daly
University of Toronto

VTSDTvsMC.png

Carole Hayakawa

unread,
Jul 18, 2022, 1:47:52 PM7/18/22
to Virtual Photonics
Hi Michael,

Thanks for your interest in our software.  Just to make sure, in your "MonteCarlo" plot above, are you setting:
VtsSolvers.SetSolverType('MonteCarlo') or
VtsSolvers.SetSolverType('Nurbs')
in the MATLAB interop code?
If so, both of these are "scaled" Monte Carlo solvers which means they are generated by using a baseline simulation and scaling the results for other optical properties.  These results have no knowledge of the photon-by-photon tallies, just the final estimated mean of all photons executed in the baseline simulation.  When varying "n" using these solvers, the affect of a refractive index mismatch is approximated by using the Fresnel value for the mismatch within the scaling, or upon the mean value.  So it is possible your plot on the right is correct.  I just brought up our GUI which provides the scaled Monte Carlo results and obtain similar plots to yours when varying n.

To create a lookup table, you would run "actual" (not scaled) Monte Carlo results, possibly using our MCCL software.  When running these simulations you can specify the refractive index mismatch and the Fresnel value would be used on a photon-by-photon basis determining if a photon escapes the surface or reflects.  I have not run simulations recently with varying n, however possibly you will see more of a difference in your plot.

Let me know if you have more questions or comments.
Best regards,
Carole
Reply all
Reply to author
Forward
0 new messages