InverseLight / ValoMC

Monte Carlo software for simulating light propagation
https://inverselight.github.io/ValoMC/
Other
43 stars 14 forks source link

Comparison with literature #14

Open eaa10 opened 3 years ago

eaa10 commented 3 years ago

Hello!

I'm trying to replicate the literature with your tool, but am finding results that do not match. Would you be able to provide some insight as to why your code may be different?

The first I am trying to replicate is Fig 7. from Thompson et al. 2012 "Modeling of light absorption in tissue during infrared neural stimulation". My results and the paper are attached, and my code can be found here. Thompson2012.pdf Comparison_Thompson2012.pdf

The second I am trying to replicate is Fig 1B from Jacques et al. 2014 "Coupling of 3D Monte Carlo light transport in optically heterogenous tissues to photoacoustic signal generation". My results and the paper are attached, and my code can be found here. Changing the scattering coefficient of water by a factor of 10 appears to produce similar results. Jacques2014.pdf Comparison_Jacques2014.pdf

Any feedback would be greatly appreciated.

Kind regards, Elise

aaleino commented 3 years ago

Hi Elise,

Thanks for reporting the problem.

A question to get started with Fig. 7 in Thompson et al. Did you notice the text that says: "In Fig. 7, the absorption coefficient in the bone and nerve has been increased by 1mm−1 to simulate selective absorption."?

Do these files give better agreement?

test_2.txt test_1.txt

I uploaded them as ".txt" files as GitHub did not support ".m" files. To use them, you can rename .txt to .m

Regards, Aleksi et al.

eaa10 commented 3 years ago

Thanks Aleksi et al.,

I'm seeing much better agreement with the literature, however numerically it seems that the values are significantly different, even after scaling for the power of the input.

I have attached a summary of the comparison, and the MATLAB files (as .txt files). ValoMC Comparison 2.pdf Comparison_Thompson2012_3.txt Comparison_Jacques2014_2.txt

Kind regards, Elise

aaleino commented 3 years ago

Hi Elise,

It will be a while before I can investigate this. The difficulty is that the error can be in several places, and since the scripts are elaborate, they could be hiding more differences in the implementation. In that case, the results, of course, should be different.

If you can calculate the same setup using a different code yourself, it will help. Preferably this should be done using the article only. It will then tell us where to look for problems (i. e. test script/paper/ValoMC code). Moreover, if you can reproduce the results with any code, you can add complexity to the scene bit by bit to see when differences appear.

Regards, Aleksi

tlunttil commented 3 years ago

Hi Elise,

have you noticed that you are using two-dimensional models while the papers use 3D? In Jacques (2014) the geometry appears to be genuinely three-dimensional. In Thompson et al. (2012) the geometry is otherwise just 2D (slabs), but even there you need a 3D model to correctly simulate the circular beam.