| Literature DB >> 21559136 |
Abstract
The Monte Carlo (MC) method is a popular approach to modeling photon propagation inside general turbid media, such as human tissue. Progress had been made in the past year with the independent proposals of two mesh-based Monte Carlo methods employing ray-tracing techniques. Both methods have shown improvements in accuracy and efficiency in modeling complex domains. A recent paper by Shen and Wang [Biomed. Opt. Express 2, 44 (2011)] reported preliminary results towards the cross-validation of the two mesh-based MC algorithms and software implementations, showing a 3-6 fold speed difference between the two software packages. In this comment, we share our views on unbiased software comparisons and discuss additional issues such as the use of pre-computed data, interpolation strategies, impact of compiler settings, use of Russian roulette, memory cost and potential pitfalls in measuring algorithm performance. Despite key differences between the two algorithms in handling of non-tetrahedral meshes, we found that they share similar structure and performance for tetrahedral meshes. A significant fraction of the observed speed differences in the mentioned article was the result of inconsistent use of compilers and libraries.Entities:
Keywords: (170.3660) Light propagation through tissue; (170.5280) Photon migration; (170.7050) Turbid media
Year: 2011 PMID: 21559136 PMCID: PMC3087581 DOI: 10.1364/BOE.2.001258
Source DB: PubMed Journal: Biomed Opt Express ISSN: 2156-7085 Impact factor: 3.732
The Pseudo-Code for a Ray-Tetrahedron Intersection Test using Shevtsov’s (Plücker-Based) Methoda
| 4 | 0.40 | 0.09 | 0.11 | 0.40 | |
| 5 | |||||
| 4 | |||||
| | 4 | ||||
| | 4 | ||||
| | 3 | ||||
| | 3 | ||||
| | 3 | ||||
| | 4 | ||||
| | 1 | ||||
| | 1 | ||||
| | 1 | ||||
| | 1 | ||||
aAll symbols are defined in [9] and [13].
Fig. 1Absolute and relative errors of the solutions using different interpolation strategies. Here we define emmc = ymmc - ytruth and etimos = ytimos - ytruth.
Comparison of Run-Times for Various mmc and timos Builds with Different Compilers and Optimizations
| mmc-gcc | 529.6 (440.0*) | 3.9 (4.4*) | 569.5 | 3.9 |
| mmc-icc | 331.2 | 2.5 | 390.9 | 2.7 |
| mmc-gcc2 | 342.7 | 2.5 | 383.2 | 2.6 |
| mmc-icc2 | 286.0 | 2.1 | 335.4 | 2.3 |
| mmc-icc-SSE | 209.0 | 1.5 | 217.0 | 1.5 |
| timos | 135.0 (100.0*) | 1.0 | 147.0 | 1.0 |
*Numbers reported in [12].
†Hyper-threading enabled.