Open Access
20 April 2022 Two-step verification method for Monte Carlo codes in biomedical optics applications
Angelo Sassaroli, Federico Tommasi, Stefano Cavalieri, Lorenzo Fini, André Liemert, Alwin Kienle, Tiziano Binzoni, Fabrizio Martelli
Author Affiliations +
Abstract

Significance: Code verification is an unavoidable step prior to using a Monte Carlo (MC) code. Indeed, in biomedical optics, a widespread verification procedure for MC codes is still missing. Analytical benchmarks that can be easily used for the verification of different MC routines offer an important resource.

Aim: We aim to provide a two-step verification procedure for MC codes enabling the two main tasks of an MC simulator: (1) the generation of photons’ trajectories and (2) the intersections of trajectories with boundaries separating the regions with different optical properties. The proposed method is purely based on elementary analytical benchmarks, therefore, the correctness of an MC code can be assessed with a one-sample t-test.

Approach: The two-step verification is based on the following two analytical benchmarks: (1) the exact analytical formulas for the statistical moments of the spatial coordinates where the scattering events occur in an infinite medium and (2) the exact invariant solutions of the radiative transfer equation for radiance, fluence rate, and mean path length in media subjected to a Lambertian illumination.

Results: We carried out a wide set of comparisons between MC results and the two analytical benchmarks for a wide range of optical properties (from non-scattering to highly scattering media, with different types of scattering functions) in an infinite non-absorbing medium (step 1) and in a non-absorbing slab (step 2). The deviations between MC results and exact analytical values are usually within two standard errors (i.e., t-tests not rejected at a 5% level of significance). The comparisons show that the accuracy of the verification increases with the number of simulated trajectories so that, in principle, an arbitrary accuracy can be obtained.

Conclusions: Given the simplicity of the verification method proposed, we envision that it can be widely used in the field of biomedical optics.

1.

Introduction

The verification of a Monte Carlo (MC) code is an important aspect of the whole process of confirmation that assures the scientific community of the reliability of its results.1 In the process of confirmation, we can distinguish between a verification phase and a validation phase. The verification of an MC code is typically done by comparisons between its results and those obtained either with analytical benchmarks,13 or more often with previously verified MC codes. In contrast, the validation of an MC code is done by comparisons between its results and those obtained with experiments.4,5 In this work, we are concerned only with the verification of an MC code. In the last decades, the modeling of heterogeneous tissue structures in MC codes for photon transport has required the development of algorithms with increasing complexity.617 Therefore, the need for a thorough verification procedure has become more and more urgent.

As a matter of fact, most of the MC codes developed in biomedical optics have been verified partially or exclusively by means of comparisons with previously verified codes.618 In the cross-verification procedures between MC results,916,18 the Monte Carlo modeling of light transport in multi-layered tissues (MCML) open-source code developed in the early nineties19 has been largely used as the standard reference. Due to this fact, the results of this code developed for a multi-layered medium can be considered as a numerical benchmark for photon migration through layered media. This special role played by MCML in biomedical applications is not observed for other MC codes.

One drawback of using verified MC codes to generate reference data is the limited accuracy that is achievable with a computer simulation. However, this drawback has not actually restricted the use of the MC method. In recent years, the facilitated access to open-source platforms of MC codes has made MC results easily available to a wider audience, and the practice of using verified MC codes has become the widest verification method used in biomedical applications.

It is also important to stress that in biomedical optics there is limited use of exact solutions of the radiative transfer equation (RTE) for the verification of MC codes. Indeed, only a few examples can be found for this kind of verification.12,16,19 This fact is related to the intrinsic complexity of both older and newly available solutions of the RTE,2023 which are not in closed-form and require some numerical evaluation. The verification of MCML, and other MC codes, has been largely based on the RTE solutions tabulated by van de Hulst,24,25 related to a scattering slab, and on the RTE solutions for a semi-infinite medium tabulated by Giovanelli.26 The extensive use of these historical results from Giovanelli and Van de Hulst, even though affected by a limited accuracy, provides another clear indicator of the difficulties to use other benchmarks based on more complex newly available solutions of the RTE.2023

The intent of this work is to propose a verification method purely based on the exact analytical solutions of the RTE. The selected benchmarks have the common characteristic to be extremely simple in terms of implementation so that the computational burden found with newly available RTE solutions2023 is avoided. Therefore, their use is also open to the non-expert users of complex computational methods since their implementation is straightforward. The method is framed in two steps which focus on two different aspects of photon migration in scattering media: (a) propagation through homogeneous domains, where the statistical rules valid in an infinite medium for the extraction of photons’ trajectories are used2,27,28 and (b) propagation through regions with different optical properties, where the effects of boundaries must be accounted for.19,27,28 Accordingly to this vision any verification method of an MC code can be in principle divided into (a) verification in an infinite medium where the basic routines/algorithms to extract the photons’ trajectories can be tested by using very intrinsic analytical benchmarks of photons transport and (b) verification in finite media, or in media with a least one finite dimension, where the effects of boundaries can be tested by means of specific benchmarks.

Thus, as the first step, we propose to verify an MC code by using statistical formulas for the first and the second moments of the spatial coordinates where the different scattering orders occur in an infinite non-absorbing medium.2 For the second step of the verification method, we propose to use the invariant solutions for the radiance, I, the fluence rate, Φ, and mean total path length, L, in bounded non-absorbing media subjected to Lambertian illumination.3,2931 With this two-step procedure, all the main quantities involved in an MC simulation can be verified with a high level of accuracy. Finally, it can be noted that this procedure is suitable to be used during the development of an MC code, i.e., from its very beginning till the finalization of the code. This aspect is not secondary in our proposed method and has an important didactic value: instead of verifying a code at the end of its implementation, a verification “in progress” has the advantage to check the different algorithms and routines during their construction with the advantage that the effects of multiple bugs can be better detected.

It is worth noting that the proposed method largely extends the verification methods previously published in Refs. 2 and 3. The benchmarks used in Ref. 2 for isotropic scattering can now be applied for any scattering order. Compared to Ref. 3, the benchmarks used include fundamental radiometric quantities such as radiance and fluence rate. This latter extension is of fundamental interest because the radiance is at the origin of all the radiometric quantities used in radiative transfer, therefore a verification based on radiance is quite relevant. Moreover, the fluence rate represents a fundamental quantity in the latest generation of MC codes describing propagation in complex geometries,614,16,17 therefore, a verification method based on fluence rate is of the utmost importance.

In Sec. 2, the analytical benchmarks used in the proposed verification method are described. In the same section, the proposed verification method is also described. In Sec. 3, the results obtained with the two-step verification method are presented. In Sec. 4, the results described in Sec. 3 are briefly discussed together with the future perspectives for the application of this method.

2.

Theory and Methods

This section describes the two kinds of benchmarks used in the verification procedure proposed in this work together with a brief description of the method.

2.1.

Analytical Benchmarks for Light Propagation through an Infinite Medium: Statistical Moments of the Coordinates of the Scattering Events

In this section, the relationships existing between the statistical moments of the coordinates where scattering events occur and the optical properties are presented for the case of an infinite non-absorbing medium. It is at first considered the general case of rotationally symmetric scattering phase functions, i.e., scattering functions which can be represented as p(s^·s^), with s^ direction of the incident radiation and s^ direction of the scattered radiation (Sec. 2.1.1). Then, it is considered the special case of isotropic scattering (Appendix). The benchmarks presented in this section are a set of analytical solutions of immediate implementation. The proof of their validity can be found in the related cited literature (see below) and in the Appendix included in this work.

2.1.1.

Rotationally symmetric scattering phase functions

Let’s consider an infinite homogeneous non-absorbing medium, where at the origin of a Cartesian reference system we have a pencil light source in the z direction. The optical properties of the medium are described by the scattering coefficient, μs, and the scattering function, p(θ), with θ the scattering angle.27,28 Although we consider a non-absorbing medium, it is important to note that the inclusion of absorption is straightforward by means of the microscopic Beer–Lambert law (mBLL).28 In what follows the average values of the first and second moments of the coordinates where the different scattering orders occur (up to the fourth-order) are reported.2 The different scattering orders will be denoted with a subscript giving the number of the scattering order. Thus, the mean values of x1, y1, and z1 (first moments) where the first scattering event occurs are given by2

Eq. (1)

x1=y1=0,

Eq. (2)

z1=1μs,
and the relative mean square values x12, y12, and z12 (second moments) are given by2

Eq. (3)

x12=y12=0,

Eq. (4)

z12=2μs2.
From the above relations, the values of the mean square distance from the z axis, ρ12, and the mean square distance from the source, d12, are obtained as2

Eq. (5)

ρ12=x12+y12=x12+y12=0,

Eq. (6)

d12=x12+y12+z12=x12+y12+z12=2μs2.

For the second scattering order, we have2

Eq. (7)

x2=y2=0,

Eq. (8)

z2=1+gμs,

Eq. (9)

x22=y22=1g2μs2,

Eq. (10)

z22=2(1+g+g2)μs2,
where g=cosθ and g2=cos2θ are the first and second moments of the cosine of the scattering angle, respectively. The parameter g is usually denoted asymmetry factor of the phase scattering function.

From Eqs. (9) and (10) we have2

Eq. (11)

ρ22=x22+y22=x22+y22=2(1g2)μs2,

Eq. (12)

d22=x22+y22+z22=x22+y22+z22=2(2+g)μs2.

The mean coordinates of the point at which the third-order of scattering occurs are2

Eq. (13)

x3=y3=0,

Eq. (14)

z3=1+g+g2μs,
and also

Eq. (15)

x32=y32=32+ggg232g22μs2,

Eq. (16)

z32=3+2g+2g2+2gg2+3g22μs2.
Similarly to the previous scattering orders, we also have

Eq. (17)

ρ32=x32+y32=x32+y32=3+2g2gg23g22μs2,

Eq. (18)

d32=x32+y32+z32=x32+y32+z32=2(3+2g+g2)μs2.

For the fourth-order, we have2

Eq. (19)

x4=y4=0,

Eq. (20)

z4=1+g+g2+g3μs,

Eq. (21)

x42=y42=94+32g32gg22+g2g2g234g2+34g2294g23μs2,

Eq. (22)

z42=72+3g(1+g22)+2g2(1+g2)+2g3+32g232g22+92g23μs2.

Eq. (23)

ρ42=x42+y42=x42+y42=92+3g3gg22+2g22g2g2+32g2+32g2292g23μs2,

Eq. (24)

d42=x42+y42+z42=x42+y42+z42=2(4+3g+2g2+g3)μs2.

The calculations can be in principle iterated for the higher scattering orders. Given the cylindrical symmetry, with respect to the z axis, we have that xk and yk are zero for any k. While for zk, the following relation is valid, which is given by2

Eq. (25)

zk=1gkμs(1g).
It is worth noting that the above equation for k returns the classical transport mean free path, 1μs(1g).28 For the higher scattering orders it is also possible to extrapolate the following recurring relation for dk2, which is given by2

Eq. (26)

dk2=xk2+yk2+zk2=2k(k+1)g+gk+1μs2(1g)2.
A full proof of Eq. (26), derived from the RTE, was obtained by Liemert et al.32 for arbitrary rotationally symmetric scattering phase functions (e.g., the Henyey–Greenstein (HG) phase function).28 In Ref. 32, this expression is also generalized for an absorbing medium. The importance of this benchmark is that it can be used for any scattering order and is usually employed in biomedical optics for most of the scattering functions.

Statistical relationships can also be obtained for the optical path lengths of the propagated photons. The statistical moment of order m of the path length traveled at the k’th scattering event is given by2

Eq. (27)

lkm=k(k+1)(k+m1)μsm.

2.1.2.

Isotropic scattering phase functions

For the case of isotropic scattering, it is possible to extrapolate the following recurring relations for the second moment for any scattering order k>0 as given by

Eq. (28)

xk2=yk2=23μs2(k1),

Eq. (29)

zk2=23μs2(k+2),

Eq. (30)

ρk2=xk2+yk2=xk2+yk2=43μs2(k1),

Eq. (31)

dk2=xk2+yk2+zk2=xk2+yk2+zk2=2kμs2.
The proof of the validity of the above equations is treated in the Appendix where exact analytical equations for the moments of the coordinates where scattering events occur are obtained. We notice that, compared to the previous benchmarks (Sec. 2.1.1), the calculated moments for isotropic scattering do not depend on g and g2.

The presented benchmarks provide an overview of the “cloud” of photons migrating in an infinite medium. The first moments yield the coordinates of its barycenter, while the second central moments represent its width along the three axes. They are strictly related to the scattering function and the statistical law for scattering interactions. The features of the scattering function that affect the statistical moments are: g=cosθ and g2=cos2θ. Thus, these benchmarks are suitable to verify if an MC code correctly extracts the photons’ trajectories and consequently the scattering function is correctly implemented inside the code.

2.2.

Analytical Benchmarks for Boundary Effects: Invariant Solutions for Radiance, Fluence Rate, and Total Mean Path Length

Photon migration in a finite medium is also characterized by boundary effects, i.e., reflection, refraction, and intersection. Besides the boundary with the outer medium, internal boundaries are also used to enclose regions with different optical properties. The correct evaluation of boundary effects is another important task of an MC code. To verify the reliability of an MC code to simulate boundary effects, we propose to use a set of invariant exact solutions of the RTE for the radiance, fluence rate, and for the partial and total path lengths that are obtained when a non-absorbing medium is subjected to a Lambertian illumination.29,30,33,34 These solutions depend on the distribution of the refractive index inside the medium relative to the refractive index of the outer medium.

Let’s consider a non-absorbing inhomogeneous medium of volume V (with at least one finite dimension) without internal sources, delimited by a smooth convex surface Σ. The medium is composed of a number N of discrete sub-volumes Vj of refractive index nj and with no restrictions on the scattering properties inside each Vj. The surfaces enclosing each sub-volume are assumed to be smooth so that Snell’s and Fresnel’s law can be applied. The refractive index of the external medium is denoted with ne and the surface Σ is illuminated by a continuous wave Lambertian radiation of intensity I0(Wm2sr1), i.e., the source term is thus can be expressed in terms of the distribution of radiance on the external surface Σ, which is given by

Eq. (32)

IeSource(rΣ,s^e)=I0[Wm2sr1]  rΣΣand  s^e  inwardly directed to  Σ.
In this case, the solution for the radiance inside Vj is29

Eq. (33)

Ij(r,s^)=(njne)2I0[Wm2sr1]  s^and  rVj,
where Ij(r,s^) is a function of the refractive indices nj, internal to Vj, and ne, external to V; however, we notice that this solution does not depend on the refractive index of the remaining sub-volumes. Also, in Eq. (33) s^ denotes the direction vector, while r denotes the position vector internal to the medium. Consequently, the solution for the fluence inside Vj is expressed as29

Eq. (34)

Φj(r)=4πIj(r,s^)ds^=4π(njne)2I0,  [Wm2],  rVj.
Finally, the average internal path length in each sub-volume Vj results in29

Eq. (35)

Lj=4(njne)2VjΣ.
The average total path length L inside the total volume V can also be evaluated by simply summing up all the contributions of the average internal path lengths Lj of Eq. (35), i.e.,

Eq. (36)

L=j=1NLj=4j=1N(njne)2VjΣ.
From Eqs. (33) and (34), we clearly see that the solutions for the internal radiance and the fluence rate are invariant both with respect to the geometry of the medium (provided that the external surface is convex and smooth) and with respect to the distribution of the scattering properties (scattering coefficient, scattering function, and homogeneity). Similarly, the expressions for the average internal path lengths Lj and the total path length L are invariant with respect to the scattering properties of the medium, however, they depend (as it is expected) on the volumes of the sub-regions and the whole external surface Σ. One exception is the case of μsj(r)=0 whenever the geometry (e.g., sphere or slab) of the medium allows for a regime of trapped trajectories.29 These properties imply that these benchmarks can be used for any scattering coefficient of the medium except, with μsj(r)=0, for all those geometries where trapped trajectories can be established.

In general, for a non-scattering medium [μsj(r)=0] with njne, the above solutions are still valid. While, with μsj(r)=0, for geometries like a sphere or slab with nj>ne,29,35 where photons can be trapped inside the volume, the same RTE solutions found for scattering media cannot be used. For example, the RTE solution for a layered non-scattering slab (which will be used in the results section) should account for the regime of trapped photons. Accordingly, the RTE solution for the internal radiance inside a layered non-scattering slab is29

Eq. (37)

Ij(r,s^)=(njne)2I0  rVj  s^||s^·q^|cosθjMaxIj(r,s^)=0  rVj  s^||s^·q^|<cosθjMax,
where I0 is the radiance on the external surface Σ, q^ is the unit vector perpendicular to the slab inwardly directed, θjMax is the maximum entrance angle in the medium for having radiation in the j’th layer. Consequently, the solution for the fluence rate in a layered slab is

Eq. (38)

Φj(r)=4π(njne)2I0[1cos(θjMax)],  [Wm2]  rVj.
Finally, the average internal path length Lj spent in the j’th layer of the slab is

Eq. (39)

Lj=2sj(njne)2[1cos(θjMax)],
where sj is the thickness of the j’th layer of the slab. For some guidelines to calculate the angle θjMax, we refer to the work of Martelli et al.29 It may be worth noting that for nj>ne in the above solutions we have a discontinuity of the radiance between the case μs=0 [Eq. (37)] and the case μs0 [Eq. (33)].29 When nj>ne, a discontinuity is also observed for the fluence rate, Φj and the partial path length Lj as can be similarly noted by the above equations. 29,35 Moreover, when nj>ne and μs=0, from Eq. (37) the discontinuity of the radiance can be observed for the angle θjMax. At such value of the angle the radiance Ij switches from the value (njne)2I0 to zero.

The presented benchmarks provide an overview of invariant solutions of the RTE in non-absorbing media that are sensitive to the effects of boundary conditions between the different regions of the medium and also between the medium and the external region. It must be noted that the independence of the presented solutions from the scattering properties of the medium implies that they cannot be used to test the correctness of the phase function implemented in the code. However, this is done with the previous benchmark of Sec. 2.1. Combined together, the benchmarks of Secs. 2.1 and 2.2 cover the main characteristics of photon migration according to the RTE.

2.3.

Proposed Method

The verification method here proposed is divided into two steps and exploits the following strategy: (1) all the routines of the code involved in the extraction of the trajectories, based also on the scattering function are verified by a direct comparison of MC results in an infinite medium with the benchmarks as in Sec. 2.1 and (2) the routines of the MC code related to the interactions of photons’ trajectories with boundaries are verified by a direct comparison of the MC results in a slab geometry with the invariant solutions for radiance, fluence rate, and mean path length as in Sec. 2.2.

Concisely, the first step is devised to test the phase function implemented in the MC code, the second one to test the intersection of photon’s trajectories with boundaries, including the correct implementation of the reflection and refraction laws. The second step includes the boundary with the external medium and those between regions of the medium with different optical properties. We notice that the correct calculation of the intersections with boundaries is at the core of partial path length estimation, which is one fundamental task of an MC code. In fact, the absence of boundaries in the first step is ideal for testing the phase function. In contrast, the invariant solutions of RTE used in the second step (which do not depend on the features of the phase function) are ideal for testing the intersection with boundaries.

We believe that the two-step verification increases the sensitivity to detect errors in an MC code.

3.

Results

In this section, the results obtained using the proposed method in the two steps of the verification are presented. The results obtained in the first step of the verification are described in Sec. 3.1. While the results obtained in the second step of the verification are described in Sec. 3.2.

3.1.

First step of the Verification (Sec. 2.1)

In this section, the moments of the coordinates of the scattering points calculated with MC simulations have been compared with the analytical benchmarks of Sec. 2.1. All the comparisons are carried out in an infinite non-absorbing medium with a unitary scattering coefficient μs=1  mm1 where a pencil beam source is injected at the origin of a Cartesian reference system along the z direction. Three scattering functions have been selected: the HG model with g=0 and 0.9,28 and a Rayleigh scattering function (g=0).28 This choice is motivated on this ground: for these scattering functions the moments g and g2 are known exactly without resorting to numerical evaluations. This is not true for phase scattering functions derived from Mie theory.28

The MC code here subjected to the verification procedure is a program used for simulating light propagation in tissue optics. The core of the program, developed during the period 1980 to 1999,28,3639 generates a large number of photons’ trajectories for different scattering coefficients and refractive indices. In Tables 1Table 23 the relative errors (ratio between standard error and average value) of the MC results obtained for the moments of Sec. 2.1 for the first four scattering orders (k{1,,4}) are shown for three values of the number of simulated trajectories N{106,108,1010}. We notice that the relative error decreases by one order of magnitude as the value of N increases by two orders of magnitude. This behavior expresses exactly the expected distributions for the calculated quantities and highlights the fact that the precision of the calculation is only limited by the numerical accuracy of the processor and by the number of simulated trajectories, as is expected from the statistical theory. In these tables, the data for x1, y1, x12, y12, and ρ12 have not been reported since their values are null and the relative uncertainty cannot be calculated.

Table 1

Relative uncertainty, σ⟨…⟩MC⟨…⟩MC, of the statistical moments of the coordinates of scattering events calculated with MC simulations for a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, isotropic scattering function obtained with the HG model (g=0, g2=1/3), and three values N of generated trajectories.

σ⟨…⟩MC⟨…⟩MCN=106N=108N=1010
k123412341234
zk1.000·1031.291·1031.529·1031.732·1031.000·1041.291·1041.528·1041.732·1041.000·1051.291·1051.528·1051.732·105
xk23.125·1032.436·1032.152·1033.133·1042.429·1042.145·1043.130·1052.429·1052.145·105
yk23.134·1032.428·1032.141·1033.132·1042.429·1042.145·1043.131·1052.429·1052.145·105
zk22.229·1032.042·1031.927·1031.845·1032.236·1042.043·1041.925·1041.845·1042.236·1052.043·1051.925·1051.844·105
ρk22.486·1031.899·1031.655·1032.492·1041.898·1041.653·1042.490·1051.897·1051.653·105
dk22.229·1031.682·1031.455·1031.323·1032.236·104.684·1041.453·1041.323·1042.236·1051.683·1051.453·1051.323·105
lk1.000·1037.077·1045.776·1044.999·1041.000·1047.071·1055.773·1055.001·1051.000·1057.071·1065.774·1065.000·106

Table 2

Relative uncertainty, σ⟨…⟩MC⟨…⟩MC, of the statistical moments of the coordinates of scattering events calculated with MC simulations for a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, an anisotropic scattering function obtained with the HG model with g=0.9 (g2=2.62/3), and three values N of generated trajectories.

σ⟨…⟩MC⟨…⟩MCN=106N=108N=1010
k123412341234
zk1.000·1037.330·1046.331·1045.884·1041·1047.324·1066.322·1065.880·1051.000·1057.324·1066.323·1065.880·106
xk26.019·1033.795·1032.957·1036.009·1043.847·1042.986·1046.009·1053.846·1052.986·105
yk25.931·1033.801·1032.967·1035.993·1043.845·1042.983·1046.007·1053.845·1052.986·105
zk22.229·1031.564·1031.294·1031.148·1032.236·1041.564·1041.293·1041.148·1042.236·1051.564·1051.293·1051.148·105
ρk24.838·1033.054·1032.352·1034.865·1043.086·1042.367·1044.871·1053.086·1052.369·105
dk22.229·1031.528·1031.225·1031.048·1032.236·1041.538·1041.244·1041.076·1042.236·1051.538·1051.244·1051.076·105
lk1.000·1037.077·1035.776·1044.999·1041.000·1047.071·1055.773·1055.001·1051.000·1057.071·1065.774·1065.000·106
lk22.229·1031.528·1031.225·1031.048·1032.236·1041.528·1041.225·1041.049·1042.236·1051.528·1051.225·1051.049·105

Table 3

Relative uncertainty, σ⟨…⟩MC⟨…⟩MC, of the statistical moments of the coordinates of scattering events calculated with MC simulations for a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, a Rayleigh scattering function (g=0, g2=0.4), and three values N of generated trajectories.

σ⟨…⟩MC⟨…⟩MCN=106N=108N=1010
k123412341234
zk1.000·1031.339·1031.573·1031.770·1031.000·1041.342·1041.575·1041.774·1041.000·1051.342·1051.575·1051.774·105
xk23.222·1032.475·1032.185·1033.232·1042.490·1042.190·1043.229·1052.488·1052.189·105
yk23.233·1032.493·1032.177·1033.231·1042.488·1042.189·1043.229·1052.488·1052.188·105
zk22.229·1032.016·1031.912·1031.837·1032.236·1042.018·1041.912·1041.839·1042.236·1052.018·1051.912·1051.839·105
ρk22.567·1031.942·1031.686·1032.575·1041.948·1041.691·1042.573·1051.948·1051.691·105
dk22.229·1031.702·1031.472·1031.339·1032.236·1041.703·1041.474·1041.343·1042.236·1051.703·1051.474·1051.343·105
lk1.000·1037.077·1035.776·1044.999·1041.000·1047.071·1055.773·1055.001·1051.000·1057.071·1065.774·1065.000·106
lk22.229·1031.528·1031.225·1031.048·1032.236·1041.528·1041.225·1041.049·1042.236·1051.528·1051.225·1051.049·105

To have clear information on the accuracy of the simulated results, in Tables 4Table 56 the deviation of the MC results from the benchmarks of Sec. 2.1 is shown. The deviation is normalized to the standard error of the MC results (this defines the t random variable to be used for the one-sample t-test). We found that all the MC results (with only one exception) were consistent with the RTE values within two standard errors. The t-tests for all the cases reported in Tables 46 at a 5% level of significance show that the null hypothesis is not rejected. These results testify to the consistency of the extracted trajectories with the statistical rules of propagation of photon transport. The expected values from the RTE are shown in Table 7. The MC code is also able to describe the small differences between the moments for pure isotropic scattering (HG, g=0) and Rayleigh scattering as can be noted in the reported tables.

Table 4

Deviation of the MC results from the theory normalized to the MC standard error, ⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MC, for the statistical moments of the coordinates of scattering events in a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, isotropic scattering function obtained with the HG model (g=0, g2=1/3), and three values N of generated trajectories.

⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MCN=106N=108N=1010
k123412341234
xk−0.865−0.4830.271−0.837−0.480−0.4910.9960.8380.467
yk0.4610.0520.532−0.257−0.0960.7981.046−0.089−0.198
zk0.848−0.162−0.3800.023−0.817−0.2610.2751.0221.1411.6871.7341.459
xk2−1.050−0.051−0.362−0.8171.2440.118−0.746−0.328−0.193
yk2−1.165−0.642−0.710−0.023−0.628−0.2440.5610.5380.093
zk20.9810.0220.0810.190−0.878−0.4300.4100.2351.2271.0931.7691.312
ρk2−1.394−0.378−0.692−0.5280.394−0.082−0.1160.134−0.065
dk20.982−0.667−0.159−0.300−0.878−0.6080.5310.1131.2270.8271.3800.874
lk0.848−0.933−0.400−0.030−0.817−1.470−0.191−0.3841.1410.6020.053−0.012
lk20.982−0.525−0.169−0.085−0.878−1.410−0.2580.0431.2270.5800.2190.048

Table 5

Deviation of the MC results from the theory normalized to the MC standard error, ⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MC, for the statistical moments of the coordinates of scattering events in a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, an anisotropic scattering function obtained with the HG model with g=0.9 (g2=2.62/3), and three values N of generated trajectories.

⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MCN=106N=108N=1010
k123412341234
xk−0.4380.7090.6350.6321.7501.1400.1840.4010.825
yk0.714−0.066−0.450−1.130−1.869−1.4320.2180.4790.188
zk0.848−1.037−0.854−0.450−0.817−1.2930.1880.1031.1410.5430.1750.310
xk20.4930.1580.527−0.965−1.323−1.026−1.717−1.467−0.280
yk2−0.021−0.072−0.240−0.632−0.189−0.029−0.807−0.836−0.932
zk20.982−0.615−0.275−0.162−0.878−1.289−0.0500.0711.2270.6930.7030.611
ρk20.2940.05380.180−0.985−0.942−0.665−1.556−1.435−0.764
dk20.982−0.558−0.251−0.104−0.878−1.390−0.244−0.1101.2270.4590.3710.370
lk0.848−0.933−0.400−0.030−0.817−1.470−0.191−0.3841.1410.6020.053−0.012
lk20.982−0.526−0.169−0.085−0.878−1.410−0.2580.0431.2270.5800.2190.048

Table 6

Deviation of the MC results from the theory normalized to the MC standard error, ⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MC, for the statistical moments of the coordinates of scattering events in a non-absorbing infinite medium with scattering coefficient μs=1  mm−1, a Rayleigh scattering function (g=0, g2=0.4), and three values N of generated trajectories.

⟨…⟩MC−⟨…⟩RTEσ⟨…⟩MCN=106N=108N=1010
k123412341234
xk−0.8450.623−0.092−0.848−0.964−0.2941.1080.1980.393
yk0.044−0.0350.172−0.2350.072−0.0691.0960.447−0.308
zk0.8481.4510.9961.122−0.817−0.943−0.382−0.3971.141−0.0310.2680.555
xk2−1.044−1.295−0.723−0.7090.542−0.556−0.660−1.455−0.701
yk2−1.158−0.05460.9620.0020.063−0.1420.486−1.767−1.660
zk20.9820.5540.7690.308−0.878−1.691−0.747−0.6971.2270.4460.9930.960
ρk2−1.384−1.170−1.090−0.4440.386−0.452−0.109−2.058−1.527
dk20.982−0.164−0.067−0.441−0.878−1.604−0.347−0.7691.2270.320−0.395−0.245
lk0.848−0.933−0.400−0.030−0.817−1.470−0.191−0.3841.1410.6020.053−0.012
lk20.982−0.526−0.169−0.086−0.878−1.410−0.2580.0431.2270.5800.2190.048

Table 7

Expected values from the RTE theory of the statistical moments of the coordinates of scattering events for a non-absorbing infinite medium with scattering coefficient μs=1  mm−1 and three scattering functions: HG (g=0), HG (g=0.9), and Rayleigh.

RTEHG (g=0)HG (g=0.9)Rayleigh
k123412341234
xk (mm)0.0.0.0.0.0.0.0.0.0.0.0.
yk (mm)0.0.0.0.0.0.0.0.0.0.0.0.
zk (mm)1.1.1.1.1.1.92.713.3491.1.1.1.
xk2 (mm2)0.0.6¯1.3¯2.0.0.1260.4699331.0912460.0.61.261.926
yk2 (mm2)0.0.6¯1.3¯2.0.0.1260.4699331.0912460.0.61.261.926
zk2 (mm2)2.2.6¯3.3¯4.2.5.54610.2801315.915512.2.83.484.148
ρk2 (mm2)0.1.3¯2.6¯4.0.2.2530.9398662.1824920.1.22.523.852
dk2 (mm2)2.4.6.8.2.5.811.2218.0982.4.6.8.
lk (mm)1.2.3.4.1.2.3.4.1.2.3.4.
lk2 (mm2)2.6.12.20.2.6.12.20.2.6.12.20.

For higher scattering orders (k>4), we can still use Eqs. (25)–(31). As an example in Table 8, we show the deviation of the MC results for the moment dk2 from Eq. (31) up to the tenth order for the different scattering functions considered. Except for one case, the deviation between MC results and reference RTE expected values is within two standard errors. These results confirm the same level of accuracy obtained in the other presented tables with the benchmarks used for k{1,,4}. Similar results have also been obtained for the moments xk2, yk2, and zk2 for the case of isotropic scattering [Eqs. (28) and (29)].

Table 8

Deviation of the MC results from the theory normalized to the MC standard error, ⟨dk2⟩MC−⟨dk2⟩RTEσ⟨dk2⟩MC, for the statistical moment ⟨dk2⟩ in a non-absorbing infinite medium with scattering coefficient μs=1  mm−1 for three different scattering functions: HG scattering function with g=0 and g=0.9, and Rayleigh scattering function. The number of simulated trajectories is N=1010.

⟨dk2⟩MC−⟨dk2⟩RTEσ⟨dk2⟩MCN=1010
k12345678910
HG g=0−0.150−1.306−0.931−0.386−0.785−0.520−0.312−0.351−0.756−0.308
HG g=0.91.3181.6352.6501.6431.1610.2310.418−0.0170.2390.379
Rayleigh−0.117−1.336−0.687−1.683−1.548−1.058−1.212−1.054−1.057−0.985

3.2.

Second Step of the Verification (Sec. 2.2)

In this section, the radiance, the fluence rate, and the total mean path length spent inside a layered non-absorbing slab subjected to a Lambertian illumination calculated with MC simulations are compared with the exact analytical solutions of Sec. 2.2. This kind of verification is aimed to test the MC code regarding the effects of boundaries on photon migration. To this purpose, we have considered a layered slab geometry. In the considered examples, the boundary effects are tested both internally to the medium, betwen different layers, and also for the boundary with the external medium.

For this second step of the verification method, we have used Eqs. (33) and (37) for the radiance, Eqs. (34) and (38) for the fluence rate, and Eqs. (35) and (39) for the mean path lengths. We notice that, to the best of our knowledge, the methodical application of the radiance and the fluence rate for a verification procedure of MC codes is original. Radiance and fluence are fundamental quantities of transport theory and their correct calculation is crucial in many applications and also for the verification of MC codes.40,41

3.2.1.

Comparisons for the radiance

The MC simulations have been carried out assuming a unitary incoming flux. In the solutions given in Sec. 2.2, this is equivalent to assume in the theory I0=1π Wm2sr1. All the layered slabs considered in this section are laterally infinitely extended and subjected to a uniform Lambertian illumination.29 The required uniform isotropic radiance illumination (Lambertian) of the slab can be carried out by using the intrinsic symmetries of this geometry that allow to replace the uniform illumination on the external surface by a single point illumination. This is possible by making use of the reciprocity theorem (or geometry equivalence) that allows to swap source and detector.42 Moreover, for the slab to have uniform illumination on both sides it is also needed to switch alternatively the illumination, i.e., the injection inside the slab of subsequent simulated photons, from one side to the other of the slab. As a first test for the verification of the radiance we considered a four-layered slab, where each layer was 2.5 mm thick and where we had two different distributions of the refractive index, defined as “Up” and “Dw.” These two distributions were characterized by an increasing and decreasing trend across the slab, respectively (Fig. 1). The external refractive index is 1 for the profile Up and 2 for the profile Dw. The scattering coefficient was fixed to μs=1  mm1 in each layer of the slab and the scattering function was derived from the HG model with g=0. In Fig. 2, the radiance calculated with the MC code is compared to the solution of Eq. (33) for two numbers of simulated trajectories, i.e., N=106 and 108. The radiance is shown in each layer. The convergence of the simulated radiance to the true values of the invariant solution can be clearly noted in each layer and for both distributions of the refractive index. In an error-free code, the improvement of the accuracy versus N can be also easily visualized for the radiance, that is isotropic and constant inside any sub-volume with a constant refractive index (see Sec. 2.2). This is shown in Fig. 2 where the fluctuations of the simulated radiance around the true values decrease for the larger N. In Fig. 2, it can also be noted the larger oscillations around 90 deg caused by the reduced sampling of photons around this angle.

Fig. 1

Profiles of the refractive index Up and Dw inside a four-layered slab of thickness 10 mm used in the MC simulations are shown in Fig. 2. The external refractive index is 1 for the profile Up and 2 for the profile Dw.

JBO_27_8_083018_f001.png

Fig. 2

Radiance inside each layer of a non-absorbing four-layered slab of thickness 10 mm. Inside the slab the scattering coefficient is μs=1  mm1 and the phase scattering function is obtained from the HG model with g=0. Two profiles of the refractive index inside the slab have been considered: Up and Dw, see Fig. 1. The external refractive index is 1 for the profile Up and 2 for the profile Dw. The solution of Eq. (33) (red curves) is compared with the results of MC simulations (noisy curves).

JBO_27_8_083018_f002.png

We have further tested the behavior of the radiance generated with the MC code by considering 100-layered slab, where each layer was 0.1 mm thick and where we had two different discrete distributions of the refractive index shown in Fig. 3 and denoted as Up, with an increasing refractive index from one side to the other, and Dw, with a decreasing refractive index from one side to the other. Also in this case the external refractive index is 1 for the profile Up and 2 for the profile Dw. For this 100-layered slab we have considered two values of the scattering coefficient: μs=0 and 1  mm1. The scattering function was the HG model with g=0. Figures. 4 and 5 show the comparisons of the radiance calculated with MC simulations and with Eqs. (33) (μs0) and (37) (μs=0) for the profiles Up and Dw, respectively. The results are shown for four selected depths z inside the slab, i.e., four selected layers, shown in the inset of the figures. For both refractive index profiles and scattering values, the MC simulations match the exact values of the RTE solutions. For the profile Up and μs=0  mm1, we have the conditions of guided propagation and Eq. (33), i.e., Ij=1π(njne)2  Wm2sr1, for the radiance must be replaced by Eq. (37). In this case, the discontinuity of the radiance can be visualized for two values of the angle θ, as it is visible in Fig. 4. For incident angles greater than the maximum entrance angle for a given layer, the radiance drops to zero. This behavior is accurately reproduced by the MC results and is observed for all the depths considered. We can thus conclude that the calculations of radiance are widely verified with the exact solutions given in Sec. 2.2.

Fig. 3

Profile of the refractive index Up and Dw inside 100-layered slab of 10 mm thickness used in the MC simulations shown in Figs. 49. The external refractive index is 1 for the profile Up and 2 for the profile Dw.

JBO_27_8_083018_f003.png

Fig. 4

Radiance inside a non-absorbing 100-layered slab of thickness 10 mm calculated at different depths from the external boundary and for both the non-scattering (a) and scattering case (b). Inside the slab, we considered an HG phase scattering function with g=0. The profile of refractive index Up is considered, see Fig. 3. The solutions of Eq. (33) [red lines in (b)] and Eq. (37) [red lines in (a)] are compared with MC results (symbols).

JBO_27_8_083018_f004.png

Fig. 5

Radiance inside a non-absorbing 100-layered slab of thickness 10 mm calculated at different depths from the external boundary and for both the non-scattering (a) and scattering case (b). Inside the slab, we considered an HG phase scattering function with g=0. The profile of refractive index Dw is considered, see Fig. 3. The solutions of Eq. (33) [red lines in (b)] and Eq. (37) [red lines in (a)] are compared with MC results (symbols).

JBO_27_8_083018_f005.png

3.2.2.

Comparisons for the fluence rate

In Figs. 6 and 7, for the same 100-layered slab used in the previous figures, we extended the verification to the fluence rate inside the slab for several values of the scattering coefficient and with a HG scattering function with g=0. The agreement between MC results and Eqs. (34) and (38) is excellent for all the values of the scattering coefficient and for both the refractive index distributions Up and Dw. The figures also show (right panels) the deviation between MC results and the RTE solutions which is within about two standard errors of the calculated fluence. The MC results have been reported for a subset of 100 layers to assure a clear reading of the symbols versus the depth z inside the slab. For the profile Up there is a discontinuity of the fluence rate between the scattering and non-scattering cases: the fluence switches from the value given by the invariance property [Eq. (34)], i.e., Φj=4(njne)2  Wm2, to the value obtained with Eq. (38). In Fig. 7, the two RTE curves for μs>0 and μs=0 are indistinguishable. We can conclude that also the calculations of fluence rate are very well verified with the exact solutions given in Sec. 2.2.

Fig. 6

Fluence rate for the profiles Up inside 100-layered slab for several values of the scattering coefficient. (a) The results of MC simulations (symbols) and the RTE solution (continuous and broken lines). The fluence rate is plotted against the depth from the external surface of the slab. (b) The deviation between simulations and RTE solution normalized to the standard error.

JBO_27_8_083018_f006.png

Fig. 7

Fluence rate for the profiles Dw inside 100-layered slab for several values of the scattering coefficient. (a) The results of MC simulations (symbols) and the RTE solution (continuous and broken lines). The fluence rate is plotted against the depth from the external surface of the slab. (b) The deviation between the Monte Carlo simulations and the RTE solution normalized to the standard error.

JBO_27_8_083018_f007.png

3.2.3.

Comparisons for the mean path length

In Figs. 8 and 9, for the same 100-layered slab used for generating Figs. 47, we compared the partial mean path length Lj spent inside the layers of the slab calculated with MC simulations and with Eqs. (35) and (39). The agreement between MC and exact solutions is excellent and very similar to that obtained for the fluence rate in the previous figures. For the profile Up, we also have a discontinuity of Lj between μs0 and μs=0: Lj switches from the value given by the invariance property [Eq. (35)], i.e., Lj=2sj(njne)2 (sj thickness of the layer j, in this case, sj=0.1  mm), to the value obtained with Eq. (39). In Fig. 9, the two RTE curves for μs>0 and μs=0 are indistinguishable. The deviation between MC results and RTE solutions is also in this case within about two standard errors. We have thus evidence that also the calculations of the mean path length are widely verified with the exact solutions given in Sec. 2.2.

Fig. 8

Average internal path length Lj spent in the layers of 100-layered slab for the profiles Up for several values of the scattering coefficient. (a) The results of MC simulations (symbols) and the RTE solution (continuous and broken lines). The path length is plotted against the depth from the external surface of the slab. (b) The deviation between the Monte Carlo simulations and the RTE solution normalized to the standard error.

JBO_27_8_083018_f008.png

Fig. 9

Average internal path length Lj spent in the layers of 100-layered slab for the profiles Dw for several values of the scattering coefficient. (a) The results of MC simulations (symbols) and the RTE solution (continuous and broken lines). The path length is plotted against the depth from the external surface of the slab. (b) The deviation between simulations and RTE solution normalized to the standard error.

JBO_27_8_083018_f009.png

4.

Discussion

In the proposed two-step verification method, we have exploited the complementary characteristics of two kinds of benchmarks: one set of analytical benchmarks sensitive to the single-scattering properties in an infinite medium and another set sensitive to the effects of boundaries. Therefore, the two steps are useful to test an MC code for the correctness of trajectories extraction (first step) and the correctness of photons intersection with boundaries, including the calculations of partial and total path lengths (second step). The proposed method significantly extends the verification methods previously published in Refs. 2 and 3. In fact, the case of isotropic scattering in an infinite medium can now be applied for any scattering order [Eqs. (28)–(31)]. Moreover, the benchmark proposed in Martelli et al.,3 which specifically focused on the calculation of partial and total mean path lengths, now also includes other fundamental radiometric quantities such as radiance and fluence rate.

The presented results show an increasing accuracy with the number of simulated trajectories, which is limited only by machine precision. In practice, the results and the related t-tests confirm the reliability of our MC code and serve as an example of the proposed approach.

Probably, at this point, it is not useless to repeat the following concept: the success of a test (i.e., a null hypothesis not rejected) does not guarantee that a particular MC code performs correctly for all the cases envisioned. Only the failure of the test gives the certainty of having an error inside the code.1 Thus, the careful reader should realize that, from a practical point of view, no existing method allows us to detect 100% of the errors in an MC code. Nevertheless, we believe that our proposed method is a valuable contribution to increasing the sensitivity of a test to detect coding errors. Also, the two-step method allows one to be more specific about the origin of the error, i.e., if it is caused by an incorrect implementation of the phase function and trajectories’ extraction (step 1) or by an incorrect treatment of the boundaries (step 2). Thus, in this frame, the present contribution certainly represents a fundamental improvement.

Another observation is about testing for absorption effects. Biological tissues are absorbing media and the absorption coefficient is always considered in MC simulations. We notice that even if the two-step method involves only non-absorbing media, this fact does not compromise the generality of the verification. In fact, absorption does not change the photons’ trajectories and its effect can be accounted for with a straightforward implementation of the mBLL,28 without any computational criticality. At the core of the application of the mBLL is the correct evaluation of the partial path lengths, which is tested in step 2 of our method.

One final observation is about the extension of step 2. In the examples reported in this work, we simplified the application of the second step by using the symmetries of the media considered, which allowed us to implement the Lambertian illumination at one point of the external boundary and use the reciprocity theorem to calculate the quantities of interest. However, we stress that the proposed method can be applied to any complex geometry where a full Lambertian illumination can be implemented. This would allow one to test an MC code (for the boundary effects) directly for more realistic cases of interest, without resorting to simplifying the assumptions on the geometry and the distribution of the scattering properties. Future research will be directed to verify the feasibility of this point.

5.

Appendix: Moments for Isotropic Scattering Functions

In this appendix, we prove the validity of Eqs. (28)–(31) in Sec. 2.1.2. Equation (31) can be derived with an exact procedure from the RTE according to the results of Ref. 32. A separate proof must be given for Eqs. (28)–(30). We observe that the distribution function of the random variable zk2, due to the pencil beam source emitting along z and to the hypothesis of isotropic scattering, differs from the distributions of xk2 and yk2 by the first scattering order. After the first scattering, due to the isotropic distribution of the scattering angle, the two distributions are indistinguishable. For the first scattering order, both distributions of xk2 and yk2 are null. This fact implies that the difference between zk2 and xk2 is given by the right term of Eq. (4). Let’s verify this property. The random variable zk can be written as

Eq. (40)

zk=z1+(zkz1)=z1+Δzk.
Therefore,

Eq. (41)

zk2=z12+Δzk2+2z1Δzk.
We note that the random variables z1 and Δzk are independent and also that Δzk=0 because of the hypothesis of isotropic scattering. Thus, taking the average of the above equation, we get

Eq. (42)

zk2=z12+Δzk2+2z1Δzk=z12+Δzk2.
And, because of the isotropic scattering, the random variables Δzk, xk, and yk have the same distribution function. Thus we have

Eq. (43)

zk2=xk2+2μs2=yk2+2μs2.
By exploiting Eqs. (31) and (43), we can write

Eq. (44)

3xk2+2μs2=2kμs2,
from which we obtain

Eq. (45)

xk2=yk2=23μs2(k1),
which proves Eq. (28), and

Eq. (46)

zk2=23μs2(k+2),
which proves Eq. (29). Finally, Eq. (30) is a trivial consequence of the above relations. Thus, all the relations given in Sec. 2.1.2 for isotropic scattering are exact within the RTE.

Disclosures

The authors have no relevant financial interests in this article and no potential conflicts of interest to disclose.

Acknowledgments

The authors wish to thank Prof. Giovanni Zaccanti for his precious suggestions. The authors wish to acknowledge support from Fondazione Cassa di Risparmio di Firenze, Grant No. 2020, and also the National Institutes of Health, Grants Nos. R01 EB029414 and R01 NS095334.

References

1. 

B. D. Ganapol, Analytical Benchmarks for Nuclear Engineering Applications, Nuclear Energy Agency(2008). Google Scholar

2. 

G. Zaccanti et al., “Analytic relationships for the statistical moments of scattering point coordinates for photon migration in a scattering medium,” Pure Appl. Opt., 3 897 –905 (1994). https://doi.org/10.1088/0963-9659/3/5/019 PAOAE3 0963-9659 Google Scholar

3. 

F. Martelli et al., “Verification method of Monte Carlo codes for transport processes with arbitrary accuracy,” Sci. Rep., 11 19486 (2021). https://doi.org/10.1038/s41598-021-98429-3 SRCEC3 2045-2322 Google Scholar

4. 

E. Berrocal et al., “Laser light scattering in turbid media Part I: Experimental and simulated results for the spatial intensity distribution,” Opt. Express, 15 10649 –10665 (2007). https://doi.org/10.1364/OE.15.010649 OPEXFF 1094-4087 Google Scholar

5. 

D. Frantz, J. Jönsson and E. Berrocal, “Multi-scattering software Part II: Experimental validation for the light intensity distribution,” Opt. Express, 30 1261 –1279 (2022). https://doi.org/10.1364/OE.445394 OPEXFF 1094-4087 Google Scholar

6. 

D. A. Boas et al., “Three-dimensional Monte Carlo code for photon migration through complex heterogeneous media including the adult human head,” Opt. Express, 10 159 –170 (2002). https://doi.org/10.1364/OE.10.000159 OPEXFF 1094-4087 Google Scholar

7. 

Q. Fang and D. A. Boas, “Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units,” Biomed. Opt. Express, 17 20179 –20190 (2009). https://doi.org/10.1364/OE.17.020178 BOEICL 2156-7085 Google Scholar

8. 

Q. Fang, “Mesh-based Monte Carlo method using fast ray-tracing in Plücker coordinates,” Biomed. Opt. Express, 1 165 –175 (2010). https://doi.org/10.1364/BOE.1.000165 BOEICL 2156-7085 Google Scholar

9. 

H. Shen and G. Wang, “A tetrahedron-based inhomogeneous Monte Carlo optical simulator,” Phys. Med. Biol., 55 947 –962 (2010). https://doi.org/10.1088/0031-9155/55/4/003 PHMBA7 0031-9155 Google Scholar

10. 

N. Ren et al., “GPU-based Monte Carlo simulation for light propagation in complex heterogeneous tissues,” Opt. Express, 18 6811 –6823 (2010). https://doi.org/10.1364/OE.18.006811 OPEXFF 1094-4087 Google Scholar

11. 

H. Shen and G. Wang, “A study on tetrahedron-based inhomogeneous Monte Carlo optical simulation,” Biomed. Opt. Express, 2 44 –57 (2011). https://doi.org/10.1364/BOE.2.000044 BOEICL 2156-7085 Google Scholar

12. 

A. Doronin and I. Meglinski, “Online object oriented Monte Carlo computational tool for the needs of biomedical optics,” Biomed. Opt. Express, 2 2461 –2469 (2011). https://doi.org/10.1364/BOE.2.002461 BOEICL 2156-7085 Google Scholar

13. 

R. Watté et al., “Modeling the propagation of light in realistic tissue structures with MMC-fpf: a meshed Monte Carlo method with free phase function,” Opt. Express, 23 17467 –17486 (2015). https://doi.org/10.1364/OE.23.017467 OPEXFF 1094-4087 Google Scholar

14. 

J. Cassidy et al., “High-performance, robustly verified Monte Carlo simulation with FullMonte,” J. Biomed. Opt., 23 (8), 085001 (2018). https://doi.org/10.1117/1.JBO.23.8.085001 JBOPFO 1083-3668 Google Scholar

15. 

C. J. Zoller et al., “Parallelized Monte Carlo software to efficiently simulate the light propagation in arbitrarily shaped objects and aligned scattering media,” J. Biomed. Opt., 23 065004 (2018). https://doi.org/10.1117/1.JBO.23.6.065004 JBOPFO 1083-3668 Google Scholar

16. 

A. Leino, A. Pulkkinen and T. Tarvainen, “ValoMC: a Monte Carlo software and MATLAB toolbox for simulating light transport in biological tissue,” OSA Continuum, 2 957 –972 (2019). https://doi.org/10.1364/OSAC.2.000957 Google Scholar

17. 

S. Yan and Q. Fang, “Hybrid mesh and voxel based Monte Carlo algorithm for accurate and efficient photon transport modeling in complex bio-tissues,” Biomed. Opt. Express, 11 6262 –6270 (2020). https://doi.org/10.1364/BOE.409468 BOEICL 2156-7085 Google Scholar

18. 

L. Wang, S. Ren and X. Chen, “Comparative evaluations of the Monte Carlo-based light propagation simulation packages for optical imaging,” J. Innov. Opt. Health Sci., 11 1750017 (2018). https://doi.org/10.1142/S1793545817500171 Google Scholar

19. 

L. Wang, S. L. Jacques and L. Zheng, “MCML Monte Carlo modeling of light transport in multi-layered tissues,” Comput. Methods Prog. Biomed., 47 131 –146 (1995). https://doi.org/10.1016/0169-2607(95)01640-F Google Scholar

20. 

A. Liemert and A. Kienle, “Analytical Green’s function of the radiative transfer radiance for the infinite medium,” Phys. Rev. E, 83 036605 (2011). https://doi.org/10.1103/PhysRevE.83.036605 Google Scholar

21. 

A. Liemert and A. Kienle, “Light transport in three-dimensional semi-infinite scattering media,” J. Opt. Soc. Am. A, 29 1475 –1481 (2012). https://doi.org/10.1364/JOSAA.29.001475 JOAOD6 0740-3232 Google Scholar

22. 

A. Liemert and A. Kienle, “Exact and efficient solution of the radiative transport equation for the semi-infinite medium,” Sci. Rep., 3 2018 (2013). https://doi.org/10.1038/srep02018 SRCEC3 2045-2322 Google Scholar

23. 

A. Liemert, D. Reitzle and A. Kienle, “Analytical solutions of the radiative transport equation for turbid and fluorescent layered media,” Sci. Rep., 7 3819 (2017). https://doi.org/10.1038/s41598-017-02979-4 SRCEC3 2045-2322 Google Scholar

24. 

H. C. van de Hulst, Light Scattering by Small Particles, John Wiley and Sons, New York (1957). Google Scholar

25. 

H. C. van de Hulst, Multiple Light Scattering: Tables, Formulas, and Applications, Academic Press, New York (1980). Google Scholar

26. 

R. G. Giovanelli, “Reflection by semi-infinite diffusers,” Opt. Acta, 2 153 –162 (1955). https://doi.org/10.1080/713821040 OPACAT 0030-3909 Google Scholar

27. 

L. V. Wang and H. Wu, Biomedical Optics, Principles and Imaging, John Wiley and Sons, New York (2007). Google Scholar

28. 

F. Martelli et al., Light Propagation through Biological Tissue and Other Diffusive Media: Theory, Solutions, and Software, SPIE Press, Bellingham, Washington (2009). Google Scholar

29. 

F. Martelli et al., “Invariance properties of exact solutions of the radiative transfer equation,” J. Quantum Specstrosc. Radiat. Transf., 276 107887 (2021). https://doi.org/10.1016/j.jqsrt.2021.107887 Google Scholar

30. 

F. Tommasi et al., “Invariance property in inhomogeneous scattering media with refractive index mismatch,” Phys. Rev. A, 102 043501 (2020). https://doi.org/10.1103/PhysRevA.102.043501 Google Scholar

31. 

F. Tommasi et al., “Invariance property in scattering media and absorption,” Opt. Commun., 458 124786 (2020). https://doi.org/10.1016/j.optcom.2019.124786 OPCOB8 0030-4018 Google Scholar

32. 

A. Liemert, F. Martelli and A. Kienle, “Analytical solutions for the mean square displacement derived from transport theory,” (2022). Google Scholar

33. 

S. Blanco and R. Fournier, “An invariance property of diffusive random walks,” Europhys. Lett., 61 168 –173 (2003). https://doi.org/10.1209/epl/i2003-00208-x EULEEJ 0295-5075 Google Scholar

34. 

A. Mazzolo, C. de Mulatier and A. Zoia, “Cauchy’s formulas for random walks in bounded domains,” J. Math. Phys., 55 (8), 083308 (2014). https://doi.org/10.1063/1.4891299 Google Scholar

35. 

M. Majic, W. R. C. Somerville and E. C. Le-Ru, “Mean path length inside nonscattering refractive objects,” Phys. Rev. A, 103 L031502 (2021). https://doi.org/10.1103/PhysRevA.103.L031502 Google Scholar

36. 

P. Bruscaglioni et al., “Modified Monte Carlo method to evaluate multiple scattering effects on light beam transmission through a turbid atmosphere,” Proc. SPIE, 0369 164 –173 (1983). https://doi.org/10.1117/12.934363 PSISDG 0277-786X Google Scholar

37. 

G. Battistelli et al., “Use of two scaling relations in the study of multiple scattering effect on the transmittance of light beams through a turbid atmosphere,” J. Opt. Soc. Am. A, 2 903 –912 (1985). https://doi.org/10.1364/JOSAA.2.000903 JOAOD6 0740-3232 Google Scholar

38. 

G. Zaccanti, “Monte Carlo study of light propagation in optically thick media: Point-source case,” Appl. Opt., 30 2031 –2041 (1991). https://doi.org/10.1364/AO.30.002031 APOPAI 0003-6935 Google Scholar

39. 

F. Martelli et al., “Photon migration through a turbid slab described by a model based on diffusion approximation. II. Comparison with Monte Carlo results,” Appl. Opt., 36 4600 –4612 (1997). https://doi.org/10.1364/AO.36.004600 APOPAI 0003-6935 Google Scholar

40. 

A. Liemert and A. Kienle, “Analytical solution of the radiative transfer equation for infinite-space fluence,” Phys. Rev. A, 83 015804 (2011). https://doi.org/10.1103/PhysRevA.83.015804 Google Scholar

41. 

A. Liemert and A. Kienle, “Green’s function of the time-dependent radiative transport equation in terms of rotated spherical harmonics,” Phys. Rev. E, 86 036603 (2012). https://doi.org/10.1103/PhysRevE.86.036603 Google Scholar

42. 

A. F. Bielajew, “Fundamentals of the Monte Carlo method for neutral and charged particle transport,” (1998) http://websites.umich.edu/nersb590/CourseLibrary/MCbook.pdf Google Scholar

Biography

Angelo Sassaroli graduated from the University of Florence, Italy, in 1996 (laureate in physics). He received his PhD in physics from the University of Electro-Communications, Tokyo, Japan, in 2002. From July 2002 to August 2007, he was a research associate in the group of Prof. Sergio Fantini at Tufts University, Medford (MA). In September 2007, he was appointed by Tufts University as a research assistant professor. His fields of research are near-infrared spectroscopy and diffuse optical tomography.

Federico Tommasi graduated from the University of Florence, Italy, in 2011. He received his PhD in physics from the Department of Physics and Astronomy of the University of Florence, Italy, in 2015. He is currently in the Department of Physics and Astronomy of the University of Florence. His major topics are random laser sources and their applications together with studies of light propagation through complex active and passive random media by means of numerical simulations.

Stefano Cavalieri received his PhD in physics from the University of Florence, Italy, in 1990. He is appointed as an associate professor in physics matter in the Department of Physics and Astronomy of the University of Florence. His major topics are random laser sources, random media, coherent control of laser–matter interaction, stochastic phenomena, and their applications.

Lorenzo Fini is appointed as a researcher in the Department of Physics and Astronomy of the University of Florence, Italy. His major topic is applied optics.

André Liemert received his Dr.-Ing. degree in electrical engineering from the University of Ulm in 2011. Since 2011, he has worked as a postdoctoral researcher in the Materials Optics and Imaging Group of Prof. Alwin Kienle at the Institut für Lasertechnologien in der Medizin und Meßtechnik an der Universität Ulm.

Alwin Kienle is the speaker of the board of directors at ILM (Institut für Lasertechnologien in der Medizin und Meßtechnik an der Universität Ulm), Ulm, Germany, and head of the department Quantitative Imaging and Sensors at ILM. In addition, he is a professor at the University of Ulm. He studied physics and received his doctoral and habilitation degrees from the University of Ulm. As a postdoc, he worked with research groups in Hamilton, Canada, and in Lausanne, Switzerland.

Tiziano Binzoni: Biography is not available.

Fabrizio Martelli graduated from the University of Florence, Italy, in 1996. He received his PhD in physics from the University of Electro-Communications, Tokyo, Japan, in 2002. He is currently appointed as researcher in the Department of Physics and Astronomy of the University of Florence, Italy. His major topic is the modeling of light propagation through highly scattering media based on the radiative transfer equation and on the diffusion equation.

CC BY: © The Authors. Published by SPIE under a Creative Commons Attribution 4.0 Unported License. Distribution or reproduction of this work in whole or in part requires full attribution of the original publication, including its DOI.
Angelo Sassaroli, Federico Tommasi, Stefano Cavalieri, Lorenzo Fini, André Liemert, Alwin Kienle, Tiziano Binzoni, and Fabrizio Martelli "Two-step verification method for Monte Carlo codes in biomedical optics applications," Journal of Biomedical Optics 27(8), 083018 (20 April 2022). https://doi.org/10.1117/1.JBO.27.8.083018
Received: 30 December 2021; Accepted: 21 March 2022; Published: 20 April 2022
Lens.org Logo
CITATIONS
Cited by 5 scholarly publications.
Advertisement
Advertisement
KEYWORDS
Scattering

Monte Carlo methods

Biomedical optics

Refractive index

Rayleigh scattering

Photons

Laser scattering

Back to Top