Abstract
We present a two-step Monte Carlo (MC) method that is used to solve the radiative transfer equation in heterogeneous turbid media. The method exploits the one-to-one correspondence between the seed value of a random number generator and the sequence of random numbers. In the first step, a full MC simulation is run for the initial distribution of the optical properties and the “good” seeds (the ones leading to detected photons) are stored in an array. In the second step, we run a new MC simulation with only the good seeds stored in the first step, i.e., we propagate only detected photons. The effect of a change in the optical properties is calculated in a short time by using two scaling relationships. By this method we can increase the speed of a simulation up to a factor of 1300 in typical situations found in near-IR tissue spectroscopy and diffuse optical tomography, with a minimal requirement for hard disk space. Potential applications of this method for imaging of turbid media and the inverse problem are discussed.
Monte Carlo (MC) methods have been widely used to study radiative transfer because of their versatility to describe light and particle propagation in complex media. Since the first pioneering studies [1–3], MC has always been considered a gold standard forward problem solver of the radiative transfer equation (RTE). MC has also been used for the optical properties retrieval in the infinite, semi-infinite, slab, and two-layered model geometries [4–7]. In the past 10 years, the interest in MC methods from the community of near-IR spectroscopy (NIRS) and diffuse optical tomography (DOT) has increased dramatically, because of the possibility of modeling light propagation in realistic tissue geometries [8–10]. More recently, the use of programmable graphics processing units (GPUs) has shortened the execution time of MC simulations up to a factor of about 1000 [11–13]. In some works, these two aspects were combined and very fast MC codes in complex geometries are also currently available [11,13]. Although no publication has yet appeared, to the best of our knowledge, it might be possible that, in the near future, MC could be used as a forward problem solver for a full three-dimensional reconstruction problem in DOT. Every MC code is based on the propagation of “events,” or photons from the injection point (source) to an end point, which can be an unspecified point at the boundary of the medium (lost photon), or to other points also at the boundary where receivers are located (useful or detected photon). A photon is also terminated if the path travelled in the medium exceeds a given threshold. What makes MC simulations time consuming is the low ratio of detected versus total number of injected photons: in typical situations of NIRS and DOT, the ratio is ≈10−4–10−3.
At the heart of a MC code there is a random number generator whose sequence of random numbers is selected by the choice of the seed at the beginning of the simulation. In this work, we propose a two-step MC procedure that exploits this one-to-one correspondence between a seed’s value and a sequence of random numbers, for calculating the effect of a perturbation in the optical properties of a target medium. The only assumption of this method is that the same trajectories that were detected in the initial state of the medium will be detected also in the final or perturbed state of the medium, but with different weights. This assumption works well when we consider an arbitrary change in the absorption coefficient between the two states. About scattering changes, in previous publications results are shown supporting the idea that the proposed method works also for “small” scattering perturbations [14]. We used a generator of random numbers uniformly distributed in the interval (0, 1) having a period longer than 2·1018 and that uses a negative integer as a seed (subroutine “ran2” in [15]).
There are two essential steps of our method. (a) A full MC simulation is run for the “initial” state of the medium, where the geometry and the distribution of the optical properties can be arbitrary. The seed of the random number generator is reinitialized every time a new photon is launched in the medium to the value “-count,” where “count” is the counter of the photons injected in the medium. If the photon is detected, the “successful” value of the seed is stored in an array (“seed_ok” in Fig. 1), and the cycle starts again with the launch of a new photon. If the photon is not detected, the cycle starts again with the injection of a new photon. The simulation is ended when a fixed number of photons are detected in each receiver. At this point the normalization factors, characteristic of each source–detector pair, are also stored in the same array seed_ok. (b) A fast MC simulation is run by using only the “successful” seeds stored in the array seed_ok. In this way we propagate only detected photons. At this point, the effect of a change in the optical properties can be calculated by using two scaling relationship (or weight factors), which are applied to each detected photon [7,14]:
| (1) |
Fig. 1.
(a) and (b) Schematics of the two-step MC method. (c) Speed gain between the (a) full MC code and the (b) fast MC code plotted against the reduced scattering coefficient of the medium, for the cases of slab and semi-infinite geometries.
In Eq. (1), wa and ws are the absorption and the scattering weight factors, respectively, li is the path length spent by the photon inside a region “i” characterized either by the change Δμai = μai − μa0 in the absorption coefficient or by the change Δμsi = μsi − μs0 in the scattering coefficient between final and initial states, ki is the number of scattering events inside a region “i” characterized by a change in the scattering coefficient, and n is the number of regions where the changes occurred. Note that, while Δμai, μsi, and μs0 are fixed at the beginning of the simulation, li and ki are variables depending on each detected photon. The two weighting factors defined in Eq. (1) describe pure absorbing or pure scattering perturbations, but they can be combined into a single one for describing both scattering and absorbing perturbations.
Figures 1(a) and 1(b) show schematic representations of the two steps of the proposed method. Figure 1(c) reports the speed gain, i.e., the ratio between the run time of the full MC code and the fast MC code, against the reduced scattering coefficient, for the semi-infinite and the slab homogeneous medium. In fact, in diffusion conditions, the speed gain depends on a number of parameters, such as the geometry of the medium, the source–detector distance, the detector’s area, the asymmetry parameter (g), and the reduced scattering coefficient. In this work, only the dependence on the reduced scattering coefficient is investigated. For the results in the slab geometry in Fig. 1(c) we used a 40 mm thick slab with a source–detector distance of 40 mm (aligned source and receiver) and a detector’s area of 25 mm2. For the semi-infinite geometry, the source–detector distance was 35 mm and detector’s area was also 25 mm2. In both geometries we used the isotropic MC code (i.e., g = 0), where the scattering angle, θ, is defined by θ = a cos(1 − 2ξ), where ξ is the random number. As we can see from Fig. 1, the semi-infinite geometry, due to bigger photon losses, is characterized by a higher speed gain, which ranges from 700 to 1300 as the reduced scattering coefficient is increased from 0.5 to 2 mm−1. In the slab geometry, the speed gain is more modest and it ranges from 158 to 224. In Fig. 2 are shown some examples of sensitivity maps. More in detail, two full MC simulations were run until 100,000 and 200,000 photons were detected in the semi-infinite and slab geometries. Afterward, two fast MC simulations were run and the effect of a black (totally absorbing) spherical defect (with radius r = 3 mm) was considered for a total of 66 and 70 different positions in the x–z plane (where z is the depth) in the slab and semi-infinite geometry, respectively.
Fig. 2.
Top maps: normalized relative changes of cw intensity in the (a) semi-infinite and (c) slab geometries. Bottom maps: relative changes of phase in the (b) semi-infinite and (d) slab geometries. The changes are calculated with respect to a homogeneous medium. The source position is at (x, y, z) = (0, 0, 0), while the positions of the detectors are (x, y, z) = (30, 0, 0) mm and (x, y, z) = (0, 0, 40) mm in the semi-infinite and slab geometries, respectively. The optical properties of the medium are μa = 0.005 mm−1 and μ′s = 0.5 mm−1.
In Fig. 2(a) (semi-infinite) and Fig. 2(c) (slab) are plotted the relative normalized changes of cw intensity with respect to a homogeneous medium: (I(x, z) − Ihom)/Ihom, where I(x, z) is the intensity detected when the spherical defect is at the position (x, z) and Ihom is the detected intensity in the homogeneous medium. The opposite of this number is the probability that a detected photon has passed through a volume of ≈113 mm3 surrounding each point of the map. In Fig. 2(b) (semi-infinite) and Fig. 2(d) (slab) are plotted the relative change of phase with respect to the homogenous medium, φ(x, z) − φhom when the modulation frequency of the source is fixed at f = 100 MHz. The phase change spans in the range (−3°, 1°) in the semi-infinite medium and in the range (−1°, 1°) in the slab geometry. All the maps of Fig. 2 were smoothed by using spline interpolation. The small asymmetries visible in the maps are mainly due to the different sizes of source (pointlike) and detector (having an area of 25 mm2) and partly to fluctuations due to the limited statistical sample. The computation time for generating the maps was 2 min 49 s and 1 min 27 s in the slab and in the semi-infinite geometry, respectively, with a personal computer 1.66 GHz and 1 Gbyte of RAM. Note that, if we run a simulation with 10,000 detected photons (for a computation time of 8 s in both geometries), the cw maps will be undistinguishable from those in Fig. 2, and the phase maps will be slightly noisier. While this method works well for an arbitrary change of the absorption coefficient, its applicability for scattering perturbations is restricted to “small” perturbations [14]. It is not the purpose of this work to carry out an accurate study on the limitation of the scattering weight factor (ws in Eq. (1)); nevertheless, it is important to point out its potential in describing single or multiple scattering perturbations. In Fig. 3 are shown two temporal point spread functions (TPSFs) calculated in the time domain for the situation shown in the schematic on top of the plots. The TPSFs were calculated in 300 different time points for a slab having thickness of 40 mm and with two embedded spherical scattering perturbations (with radius r = 4 mm).
Fig. 3.

Comparison of two TPSFs obtained for the slab represented in the schematic on top. The TPSF “scaled” refers to the calculation obtained by applying the weight factor ws [Eq. (1)]; “direct” refers to the TPSF calculated by considering directly the spherical scattering perturbation in the MC code. The relative error between the two curves is also shown.
The optical properties of the background medium are μ′s = 0.5 mm−1 and μa = 0.005 mm−1. The reduced scattering coefficients and the locations of the defects are μ′s = 0.8 mm−1, (x, y, z) = (−8, 0, 20) mm (left defect), and μ′s = 0.3 mm−1, (x, y, z) = (8, 0, 20) mm (right defect). Two plots are compared: the TPSF obtained by applying the weight factor ws in Eq. (1) to a collection of 200,000 detected photons (defined “scaled” in the figure), and the TPSF obtained by considering the defects directly inside the medium, therefore modifying the photon’s trajectories as they propagate in regions having different scattering properties (defined “direct” in the figure). The “scaled” TPSF was obtained with a computation time of 15 s. The weight factor ws particularly “suffers” from the limited statistics and, for this reason, the “scaled” TPSF shows some peaks, especially along the tail. Nevertheless, we point out that the average discrepancy between the two TPSFs is 2%. These examples show the potential of the proposed method to solve in a short time the RTE for the final state of a medium, by using the information contained in its initial state. If one wants to detect n photons for a given source–detector pair, we can say that a MC simulation for an arbitrary geometry and arbitrary initial distribution of the optical properties is “contained” in the storage of n integer numbers. This information can be used to run a new simulation characterized by the propagation of only detected photons. At this stage, the computation of the effect induced by some perturbations can be carried out in a short time by using Eq. (1). In a previous work [14], we also proposed a two-step MC method based on the storage of the whole trajectories of detected photons, and we showed its usefulness for the imaging of turbid media. However, the previous approach required a very large amount of hard disk space (usually a few hundred megabytes for a single source–detector pair), therefore limiting the applications mainly to imaging. This new proposed method has minimal requirements in terms of hard disk space; therefore, we can envision that it can be used for hundreds of source–detector pairs, which is a typical order for DOT. Moreover, the proposed method could be used in conjunction with methods based on GPUs, and, therefore, the speed of a simulation would increase dramatically. The two methods could be used in a synergistic manner as fast forward problem solvers in typical inverse problems found in DOT.
Acknowledgments
The author thanks Giovanni Zaccanti, Fabrizio Martelli, and Sergio Fantini for useful discussions. This work is supported by National Institutes of Health (NIH) grant R01-NS059933 and by NIH grant R03-MH093846.
Footnotes
OCIS codes: 170.3660, 170.5280, 010.5620, 290.1990.
References
- 1.Wilson BC, Adam G. Med Phys. 1983;10:824. doi: 10.1118/1.595361. [DOI] [PubMed] [Google Scholar]
- 2.Wang L, Jacques SL, Zheng L. Comput Methods Programs Biomed. 1995;47:131. doi: 10.1016/0169-2607(95)01640-f. [DOI] [PubMed] [Google Scholar]
- 3.Flock ST, Patterson MS, Wilson BC, Wyman DR. IEEE Trans Biomed Eng. 1989;36:1162. doi: 10.1109/tbme.1989.1173624. [DOI] [PubMed] [Google Scholar]
- 4.Graaff R, Koelink MH, Demul FFM, Zijlstra WG, Dassel ACM, Aarnoudse JG. Appl Opt. 1993;32:426. doi: 10.1364/AO.32.000426. [DOI] [PubMed] [Google Scholar]
- 5.Pifferi A, Taroni P, Valentini G, Andersson-Engels S. Appl Opt. 1998;37:2774. doi: 10.1364/ao.37.002774. [DOI] [PubMed] [Google Scholar]
- 6.Kienle A, Patterson MS. Phys Med Biol. 1996;41:2221. doi: 10.1088/0031-9155/41/10/026. [DOI] [PubMed] [Google Scholar]
- 7.Hayakawa CK, Spanier J, Bevilacqua F, Dunn AK, You JS, Tromberg BJ, Venugopalan V. Opt Lett. 2001;26:1335. doi: 10.1364/ol.26.001335. [DOI] [PubMed] [Google Scholar]
- 8.Boas DA, Culver JP, Stott JJ, Dunn AK. Opt Express. 2002;10:159. doi: 10.1364/oe.10.000159. [DOI] [PubMed] [Google Scholar]
- 9.Margallo-Balbás E, French PJ. Opt Express. 2007;15:14086. doi: 10.1364/oe.15.014086. [DOI] [PubMed] [Google Scholar]
- 10.Shen H, Wang G. Phys Med Biol. 2010;55:947. doi: 10.1088/0031-9155/55/4/003. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 11.Fang Q, Boas DA. Opt Express. 2009;17:20178. doi: 10.1364/OE.17.020178. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 12.Alerstam E, Lo WCY, Han TD, Rose J, Andersson-Engels S, Lilge L. Biomed Opt Express. 2010;1:658. doi: 10.1364/BOE.1.000658. [DOI] [PMC free article] [PubMed] [Google Scholar]
- 13.Ren N, Liang J, Qu X, Li J, Lu B, Tian J. Opt Express. 2010;18:6811. doi: 10.1364/OE.18.006811. [DOI] [PubMed] [Google Scholar]
- 14.Sassaroli A, Blumetti C, Martelli F, Alianelli L, Contini D, Ismaelli A, Zaccanti G. Appl Opt. 1998;37:7392. doi: 10.1364/ao.37.007392. [DOI] [PubMed] [Google Scholar]
- 15.Press H, Teukolsky SA, Vetterling WT, Flannery BP. Numerical Recipes. 2. Cambridge U. Press; 1992. [Google Scholar]


