
I was using matlab version of Virtual Photonics to study spatial frequency domain diffuse reflectance. Since there are multiple ways to simulate SFD reflectance, before I can confidently use it, I am wondering what algorithm did this program use? Is is
based on standard diffusion approximation, other analytic solution?
Thanks!



Hi,
Did you take a look at vts_solver_demo.m? In it there are examples that use the spatial frequency domain diffuse reflectance. For example, "Example ROfFx" (line 307) provides example code of how to specify and obtain R(fx) results. There are also
examples for R(fx) for multiple sets of optical properties, R(fx,ft) [spatial and temporalfrequency] and R(fx,t) [spatialfrequency and time]. To specify the solver type, use the line:
VtsSolvers.SetSolverType('PointSourceSDA');
to specify the standard diffusion approximation solution with an embedded point source. The other options are:
'PointSourceSDA'
'DistributedGaussianSourceSDA'
'DistributedPointSourceSDA'
'MonteCarlo' (basic scaled Monte Carlo)
'Nurbs' (scaled Monte Carlo with smoothing and adaptive binning)
Let me know if you have other questions.
Carole



Hi Carole,
It seems using MC based SFD calculation will be more accurate. I tried to set VtsSolvers.SetSolverType('Nurbs'). However, it does not seem to work. Also, the arguments of ROfFx is only op and fx. I do not think this information is enough to do MC simulation.
So can I assume that ROfFx uses the 'PointSourceSDA' as its default method?
Thanks!



Hi,
A couple of things:
1) the examples in vts_solver_demo.m that use 'Nurbs" are scaled Monte Carlo results. So no simulation is executed, per se. A simulation that generated baseline reflectance results have been stored. The examples call upon this data and are scaled
to provide results for other optical properties. ROfFx should work with setting the solver type to 'Nurbs' (it should also work with 'PointSourceSDA').
2) if you would like to run a Monte Carlo simulation, there are examples in vts_mc_demo. I see that we don't have an example that specifies an ROfFx detector, but the call would be similar to the example calls for ROfRho except your desired spatial frequency
(e.g. linspace(0,0.5,11)) would be specified as the call parameter.
Carole



Hi Carole,
Thank you for the explanation! Now it makes sense that why ROfFX is so fast. It seems that the SFD reflectance from ROfFX at n=1.4 is comparable to regular MC based simulations. However, at other refractive index like n=1.33, there is a observable difference
between ROfFX and MC based method. Is this a limitation of the scaling method? Thanks!



Hi,
The baseline simulation assumed a tissue with refractive index n=1.4. Unfortunately the scaling does not apply to refractive index mismatch, so obtaining results for n=1.33 or any other n other than n=1.4 will not work.
Carole

