Significance: Monte Carlo (MC) methods have been applied for studying interactions between polarized light and biological tissues, but most existing MC codes supporting polarization modeling can only simulate homogeneous or multi-layered domains, resulting in approximations when handling realistic tissue structures. Aim: Over the past decade, the speed of MC simulations has seen dramatic improvement with massively parallel computing techniques. Developing hardware-accelerated MC simulation algorithms that can accurately model polarized light inside three-dimensional (3D) heterogeneous tissues can greatly expand the utility of polarization in biophotonics applications. Approach: Here, we report a highly efficient polarized MC algorithm capable of modeling arbitrarily complex media defined over a voxelated domain. Each voxel of the domain can be associated with spherical scatters of various radii and densities. The Stokes vector of each simulated photon packet is updated through photon propagation, creating spatially resolved polarization measurements over the detectors or domain surface. Results: We have implemented this algorithm in our widely disseminated MC simulator, Monte Carlo eXtreme (MCX). It is validated by comparing with a reference central-processing-unit-based simulator in both homogeneous and layered domains, showing excellent agreement and a 931-fold speedup. Conclusion: The polarization-enabled MCX offers biophotonics community an efficient tool to explore polarized light in bio-tissues, and is freely available at http://mcx.space/. |
1.IntroductionPolarized light has been found to be highly sensitive to medium structures and hence has been widely adopted in optical imaging to probe microstructural features inside biological tissues.1–4 For example, the polarization status of the backscattered light can be measured to characterize the superficial layer of skin for cancer diagnostic purposes.5,6 The measurements of tissue birefringence permit quantification of abnormalities of the retinal nerve fiber layer7 and cornea,8 as well as three-dimensional (3D) reconstruction of nerve fiber orientations inside human brains9 and orientations of collagen within the uterine cervix.10 By measuring the unequal absorption of left-handed and right-handed circularly polarized light, circular dichroism can rapidly determine the folding properties of proteins.11 Quantification of collagen and birefringent media alignment can improve evaluation of a therapeutic strategy and its outcome in scar management.12 Polarized light imaging (PLI) uses linearly co-polarized images subtracted by those of cross-polarized light to create a differential image based on the small population of superficially scattered photons that still retain much of the incident polarization state.5 PLI subtracts the large randomized population of multiple-scattered photons that produce a blinding background of diffuse light. The resulting difference image enhances the contrast of superficial tissue layers and rejects deeper tissue structures, enabling wide-field screening of epidermal or epithelial layers. Mueller matrix polarimetry and the use of various decomposition methods can also be used to pinpoint different regions and structures within biological tissue.2,3 Accurately simulating polarized light transport inside complex tissues allow quantitative investigations of the depth response of polarized light and the perturbations produced by local tissue abnormalities. The propagation of polarized light inside scattering media can be described by the vector radiative transfer equation (VRTE).13 Analytically solving the VRTE is not viable in complex media such as human tissues. Owing to its high flexibility and simplicity in programming, the Monte Carlo (MC) method, among other numerical techniques,14–19 has been one of the limited approaches available to quantitatively model interactions of polarized light with scattering media. Depending on the vectorial representations of polarization states, polarized light MC algorithms can be largely categorized into two formalisms—Jones calculus and Mueller calculus.2,4,20 The Jones calculus used in the electric-field MC (EMC) algorithm traces the amplitudes and phases of two orthogonal electric-field components (Jones vector) and is therefore well suited for simulating light coherence effects.21 On the other hand, the Mueller calculus describes the state of polarization using the Stokes vector.22–26 The Stokes vector does not contain the absolute phase of the electrical field but allows to model unpolarized, partially polarized and fully polarized light. It can be obtained by measuring four intensity values. Similarly, Mueller matrices can be obtained through 16 intensity measurements and using Mueller matrix decomposition, quantities, such as tissue retardation, depolarization and de-attenuation can be obtained.4 A well-known limitation of MC methods is the long computation time. Due to the rapid emergence of massively parallel computing techniques, benefit largely from the fast advances in many core processors such as graphics processing units (GPUs), MC simulations of polarized light have seen significant speed improvement over the past decade. Several groups have reported parallel EMC implementations.27–29 Wang et al.27 presented a compute unified device architecture (CUDA)30-based EMC to model coherent light in a single homogeneous slab and achieved over speedup compared to the central processing unit (CPU) counterpart.21 Ding et al.29 extended the GPU-based EMC algorithm to consider multi-layered media at the expense of reduced speedup (). In addition, Li et al.31 presented a CUDA-based polarized light MC algorithm to model interstitial media embedded with spherical and cylindrical scatterers. It employed a single-kernel scheme and was hundreds of times faster than its CPU version.26 In 2019, Oulhaj et al.32 reported a GPU-accelerated MC algorithm to efficiently compute the sensitivity profile for polarized light inside homogeneous media. The reported GPU implementation was verified against a widely used CPU-based code developed by Ramella-Roman et al.24 and reported over speedup. Although these studies have demonstrated significantly improved simulation speed, most of these simulators only support layered domains and can not address the needs in modeling increasingly complex media.4 In the simulation of biological tissues with irregular-shaped structures, employing simplifications in domain geometries could introduce significant errors. For example, in the MC modeling of human brains, noticeable differences have been observed between layered-slab models and more anatomically realistic models such as voxel-based and mesh-based brain models.33 In this work, we present an open-source and GPU-accelerated MC simulator to model polarized light inside 3D heterogeneous media. This MC algorithm utilizes a 3D voxelated grid to represent spatially varying distributions of spherical scatterers, characterized by their radii and densities. We use Muller calculus to update the Stokes vectors of simulated photon packets, from which we can compute various polarimetry related measurements along the surface of the domain. In the remainder of this paper, we first briefly review the steps of the meridian-plane MC algorithm.24 Then we detail our GPU-implementation of this algorithm, as part of our enhanced open-source MC software—Monte Carlo eXtreme (MCX),34 including the preprocessing steps to encode the distribution of particles into a 3D array data structure and optimization strategies to better use GPU resources. In Sec. 3, we validate the proposed GPU-based polarization-enabled MCX (pMCX) against the widely used CPU MC simulator “meridianMC” written by Ramella-Roman et al.35 and quantify the speed improvement using several benchmarks of homogeneous and heterogeneous domains. Finally, we summarize the key findings and discuss future directions. 2.Methods2.1.Meridian-Plane Polarized Light MCThe meridian-plane polarized light MC algorithm35 largely follows the standard MC photon transport simulation steps,36 including “launch,” “move,” “absorb,” “scatter,” and “detection.” At the “launch” stage, the initial weight, position, and direction vector are defined for each photon packet depending on the profile of the incident beam. To describe the polarization state, the Stokes vector is defined with respect to the initial meridian plane for every simulated photon packet.24 The meridian plane is defined by the plane spanned by the photon propagation direction and the axis, as shown in Fig. 2 in Ref. 24. The Stokes vector consists of four quantities [], where () describes the total light intensity, () controls the mixing between horizontally () and vertically () linearly polarized light, () controls the mixing between () and () linearly polarized light, and () controls the mixing between right () and left () circularly polarized light.1 After the “launch” step, the photon packet starts propagating inside the simulation domain. In lossy media, the packet weight is monotonically reduced along the photon’s paths and the weight loss is accumulated into the local grid element (such as a voxel or tetrahedral element37). When arriving at an interaction site, the photon packet changes direction due to scattering. To compute the new direction cosines, the scattering zenith angle and azimuth angle are statistically sampled. Compared to the standard MC, the scattering step in a polarized light simulation requires additional computation to properly update . First, the probability density function (also known as the scattering phase function) of polarized light has a bivariate dependence on both and . For incident light with a Stokes vector , the phase function 24 is where and are elements from the scattering matrix from a homogeneous spherical particle, computed via the Mie theory38A rejection method24 is employed to select both angles and . Once and are determined, the Stokes vector must be rotated relative to the new meridian plane using to update the polarization states. To efficiently perform the rejection method and Stokes vector rotation, the elements of the scattering matrix of all user-specified spherical scatter species are pre-computed over a discreteized set of . A photon packet is terminated when it escapes from the simulation domain or, if enabled, fails to survive a Russian roulette.36 It is noteworthy that the original meridian-plane polarized light MC assumes refractive-index matched domain boundaries.24 The Stokes vector of the escaping photon is rotated relative to the meridian plane of the detector placed immediately outside the domain boundaries, before being accumulated to generate desired output quantities. A detailed description of the formulas used in the meridian plane MC algorithm can be found in the literature.24 2.2.Implementing Meridian Plane MC in MCXThe original CPU-based meridian-plane MC program,35 referred to as “mcMeridian” (stok1.c) hereinafter, is dedicated to modeling homogeneous infinite slab geometries. In contrast, the CUDA-based MCX is capable of modeling arbitrarily heterogeneous media represented by a 3D voxelated domain.34 In a non-polarization MCX simulation, the domain is represented by a 3D integer array with each number representing the index or label of the tissue at each voxel. The actual optical properties of the tissue label are stored in a look-up table, with four element per tissue type: absorption coefficient (1/mm), scattering coefficient (1/mm), anisotropy , and refractive index . To simulate polarized light, the scattering properties of each type of scatterer must be included in addition. To simply the computation, here we only consider spherical scatterers. The radius (), refractive index , and volumetric number density () of the spherical particle scatters can be specified for each tissue type. When spherical particle properties are specified, the corresponding , , and elements of the scattering matrix are pre-computed using the Mie theory39 on the host (i.e., CPU). As shown in Eq. (2), the scattering matrix of homogeneous spherical scatterers consists of four independent floating-point numbers , and . In our implementation, the scattering parameters are sampled at 1000 evenly spaced points between 0 and , as done in mcMeridian.35 The pre-computed optical properties and scattering matrix data are then transferred to the device (i.e., GPU), as shown in Fig. 1. 3.Results and DiscussionsIn this section, we first validate the aforementioned pMCX in a homogeneous slab using the single-threaded CPU-based implementation (mcMeridian24) as a reference, which has been extensively used by the community and validated by experimental studies.25 The speed improvement is also quantified. It is noteworthy that mcMeridian35 simulates an infinite slab media geometry in the directions, whereas in an MCX simulation, a photon is confined inside a bounding box with user-specified dimensions.34 To ensure that our speed comparison is valid, we modified the source code of mcMeridian and added an implicit bounding box to match the dimension settings in pMCX. In the first benchmark, the simulation domain is a homogeneous slab, the Mie scattering parameters of the embedded spherical scatterer are , , , and . The refractive index of the background medium is . A monochromatic pencil beam source is positioned at the bottom center of the domain, pointing toward the axis and emitting horizontally polarized light at wavelength nm. The initial Stokes vector of the incident beam is . The backscattered photons are collected by a square-shaped area detector () placed on the boundary at . In this benchmark, photon packets are simulated on a desktop running Ubuntu 18.04 with an Intel i7-6700K CPU and an NVIDIA RTX 2080 GPU. In Fig. 2, we compare the distribution of backscattered [] components using contour plots in MATLAB (MathWorks, Inc., Natick, Massachusetts, United States) and observed excellent agreement between mcMeridian and pMCX solutions. For further quantitative analysis, the root-mean-square errors of (in scale) between mcMeridian and pMCX are computed on the matching detector area (), reporting 0.0076, 0.0881, 0.1015, and 0.0938, respectively. We measure the total runtimes, including input data preprocessing, photon transport simulation, and output image generation, with mcMeridian reporting 18111.44 s using the Intel CPU and pMCX reporting 19.45 s on the NVIDIA RTX 2080 GPU, suggesting a speedup. In addition, we also benchmark simulation speeds when storing the scattering matrix data over different GPU memory locations, including global, shared, and constant memories.30 The global memory implementation reports the fastest speed at 8401 photons/ms, followed by the shared memory (4965 photons/ms) and constant memory (2182 photons/ms) implementations. Although the shared memory is known to be the fastest among the three memory types, its has a very small size, up to 48 KB per block.30 For storing the scattering matrix of a single species of scatterer at 1000 angular steps, a total of 16 KB memory is needed. Allocating a large amount of shared memory can lead to drastically reduced active block number, which explains the lower speed compared to the global memory case. On the other hand, constant memory also has a small size (64 KB).30 It is most efficient when a memory value is being reused many times after a single read. However, the use of the rejection method requires random access to the buffer which fails to be accelerated by the constant memory due to high “cache-miss.”30 In the next benchmark, we further validate our pMCX simulator by comparing with an extended mcMeridian (with added support of layered media) in a two-layer domain. The slab-shaped simulation domain has a size of with the thickness of the superficial layer, , ranging between 0 and 10 mm. The Mie scattering parameters are , , sphere radius , number density , , and for the superficial layer. The bottom layer has , , and the other parameters are the same as the superficial layer. These choices of and yield a reduced scattering coefficient for both layers, along with the same absorption and hence approximately the same reflected intensity for all . A pencil beam is located on the surface of the slab at , pointing toward the axis and emitting horizontally polarized light, with the initial Stokes vector . A total of photon packets are simulated for both mcMeridian and pMCX. In Fig. 3, we plot the total reflected and components as a function of the superficial layer thickness . We do not include total and plots because they are nearly zeros across all values, this is expected as and distributions sum to zeros due to symmetric positive and negative components. The outputs from mcMeridian (black solid lines) and those from pMCX (red circles) once again show excellent agreements. The plot of increases with the thickness of the superficial layer, which contains smaller spherical scatters and hence stronger back-scattering than the deeper layer. With thickness growing from 0 to 1 cm, the total value shows a minuscule increase by 0.17% (from 0.9080 to 0.9095), as shown in the inset in Fig. 3(a), as a result of sub-diffusive scattering. The two-phase transition of matches our expectations: when the superficial layer is very thin, the reflectance values are close to the value as if the domain is entirely filled with the bottom medium (green dashed line); as we increase , the reflectance values asymptotically approach those determined by the media in the superficial layer (blue dashed line). Finally, we show simulation of a slab-shaped medium embedded with a spherical inclusion, showcasing pMCX’s capability of modeling heterogeneous domains. In this benchmark (Fig. 4), the simulation domain is a slab with a spherical inclusion of radius 0.5 mm centered at . The inclusion and the slab share identical absorption coefficient , reduced scattering coefficient , and refractive index . However, the Mie scatters inside both domains are different. The background medium is filled with scatterers of radius and volume density ; the inclusion is filled with scatterers of radius and volume density . The choices of and values in either domain was computed based on the Mie theory to ensure their reduced scattering coefficients are the same. All spherical scatterings have a refractive index of, . A uniform planar light source is placed at the bottom () surface, pointing toward the axis and emitting horizontally polarized light with the wavelength nm. A cyclic boundary condition is applied to the four bounding box facets at directions to approximate an infinite slab and infinite-plane source. The incident Stokes vector is . A total of photons are simulated on an NVIDIA RTX 2080 GPU. We compare the distributions of backscattered at , as shown in Fig. 4. Because the inclusion and background slab share the same , , and , a regular diffuse optics forward model without polarization capability would generate no contrast to the inclusion. However, our pMCX simulation has revealed distinct image contrasts in , , and images at the correct inclusion locations, suggesting the potential to detect tissue microstructure differences using polarized light. It is noteworthy that the noise level in each of the images is partially related to the anisotropy determined based on the background scatterer parameters—a larger spherical radius results in a higher value and less back-scattered photons. The significantly higher amplitude of inclusion contrast in image compared to that in further demonstrates the advantages of using polarized imaging in detecting scattering differences compared to traditional diffuse optics where only is typically measured. 4.ConclusionIn summary, we report a massively parallel implementation of polarized MC algorithm in our MCX simulator for modeling the propagation of polarized light inside complex media filled with spherical scatterers. Enabled by its built-in voxel-based geometric representation, the pMCX can handle arbitrarily heterogeneous media. We have described the preprocessing steps to encode the scattering properties of spherical particles with various radii and volume densities into a 3D voxel-based data structure. We provide validation and speed benchmarks ranging from simple homogeneous to complex heterogeneous domains. In all benchmarks, our pMCX solver reports excellent match with the widely used reference solver mcMeridian, while providing a speedup nearly three orders of magnitude. In addition, we observed different GPU memory utilization efficiency among global, constant, and shared memories, with the global memory implementation yielding the highest speed and least restriction. It is noteworthy that a limitation in both mcMeridian and pMCX simulations is that all media boundaries are assumed to have matched refractive indices. We plan to further extend this work to update the Stokes vector across mismatched boundaries. AcknowledgmentsThis research is supported by the National Institutes of Health (Grant Nos. R01-GM114365, R01-CA204443, and R01-EB026998); by STROBE, a National Science Foundation Science & Technology Center (DMR 1548924); and by the National Science Foundation Engineering Research Center for Precise Advanced Technologies and Health Systems for Underserved Populations (PATHS-UP) (Grant No. 1648451). Code, Data, and Materials AvailabilityThe pMCX algorithm has been incorporated in our widely disseminated MC simulator and is freely available at http://mcx.space/. ReferencesD. A. Boas, C. Pitris and N. Ramanujam, Handbook of Biomedical Optics, CRC Press, Boca Raton, Florida
(2011). Google Scholar
J. C. Ramella-Roman, I. Saytashev and M. Piccini,
“A review of polarization-based imaging technologies for clinical and preclinical applications,”
J. Opt., 22 123001 https://doi.org/10.1088/2040-8986/abbf8a
(2020).
Google Scholar
V. V. Tuchin,
“Polarized light interaction with tissues,”
J. Biomed. Opt., 21
(7), 071114 https://doi.org/10.1117/1.JBO.21.7.071114
(2016).
Google Scholar
C. He et al.,
“Polarisation optics for biomedical and clinical applications: a review,”
Light Sci. Appl., 10 194 https://doi.org/10.1038/s41377-021-00639-x
(2021).
Google Scholar
S. L. Jacques, J. C. Ramella-Roman and K. Lee,
“Imaging skin pathology with polarized light,”
J. Biomed. Opt., 7
(3), 329
–340 https://doi.org/10.1117/1.1484498
(2002).
Google Scholar
G. L. Liu, Y. Li and B. D. Cameron,
“Polarization-based optical imaging and processing techniques with application to the cancer diagnostics,”
Proc. SPIE, 4617 208
–220 https://doi.org/10.1117/12.472527 PSISDG 0277-786X
(2002).
Google Scholar
S. Zotter et al.,
“Measuring retinal nerve fiber layer birefringence, retardation, and thickness using wide-field, high-speed polarization sensitive spectral domain OCT,”
Invest. Ophthalmol. Visual Sci., 54 72
–84 https://doi.org/10.1167/iovs.12-10089 IOVSDA 0146-0404
(2013).
Google Scholar
I. Saytashev et al.,
“Self validating Mueller matrix micro–mesoscope (SAMMM) for the characterization of biological media,”
Opt. Lett., 45 2168
–2171 https://doi.org/10.1364/OL.387747 OPLEDP 0146-9592
(2020).
Google Scholar
H. Wiese et al.,
“Polarized light imaging of the human brain: a new approach to the data analysis of tilted sections,”
Proc. SPIE, 9099 90990U https://doi.org/10.1117/12.2053305 PSISDG 0277-786X
(2014).
Google Scholar
J. Chue-Sang et al.,
“Use of Mueller matrix polarimetry and optical coherence tomography in the characterization of cervical collagen anisotropy,”
J. Biomed. Opt., 8 086010 https://doi.org/10.1117/1.JBO.22.8.086010
(2017).
Google Scholar
N. J. Greenfield,
“Using circular dichroism spectra to estimate protein secondary structure,”
Nat. Protoc., 1
(6), 2876
–2890 https://doi.org/10.1038/nprot.2006.202 1754-2189
(2006).
Google Scholar
J. C. Ramella-Roman et al.,
“Preferential alignment of birefringent tissue measured with polarization sensitive techniques,”
Proc. SPIE, 9303 93030I https://doi.org/10.1117/12.2081338 PSISDG 0277-786X
(2015).
Google Scholar
M. I. Mishchenko,
“Vector radiative transfer equation for arbitrarily shaped and arbitrarily oriented particles: a microphysical derivation from statistical electromagnetics,”
Appl. Opt., 41 7114
–7134 https://doi.org/10.1364/AO.41.007114 APOPAI 0003-6935
(2002).
Google Scholar
S. Chandrasekhar, Radiative Transfer, Dover Publications, New York
(1960). Google Scholar
K. Evans and G. Stephens,
“A new polarized atmospheric radiative transfer model,”
J. Quant. Spectrosc. Radiat. Transfer, 46
(5), 413
–423 https://doi.org/10.1016/0022-4073(91)90043-P JQSRAE 0022-4073
(1991).
Google Scholar
S. A. Prahl, M. J. C. van Gemert and A. J. Welch,
“Determining the optical properties of turbid media by using the adding–doubling method,”
Appl. Opt., 32 559
–568 https://doi.org/10.1364/AO.32.000559 APOPAI 0003-6935
(1993).
Google Scholar
A. D. Kim and A. Ishimaru,
“A Chebyshev spectral method for radiative transfer equations applied to electromagnetic wave propagation and scattering in a discrete random medium,”
J. Comput. Phys., 152
(1), 264
–280 https://doi.org/10.1006/jcph.1999.6247 JCTPAH 0021-9991
(1999).
Google Scholar
M. L. Adams and E. W. Larsen,
“Fast iterative methods for discrete-ordinates particle transport calculations,”
Prog. Nucl. Energy, 40
(1), 3
–159 https://doi.org/10.1016/S0149-1970(01)00023-3 PNENDE 0149-1970
(2002).
Google Scholar
A. D. Kim and J. B. Keller,
“Light propagation in biological tissue,”
J. Opt. Soc. Am. A, 20 92
–98 https://doi.org/10.1364/JOSAA.20.000092
(2003).
Google Scholar
H. G. Akarçay et al.,
“Monte Carlo modeling of polarized light propagation: Stokes vs. Jones. Part I,”
Appl. Opt., 53 7576
–7585 https://doi.org/10.1364/AO.53.007576 APOPAI 0003-6935
(2014).
Google Scholar
M. Xu,
“Electric field Monte Carlo simulation of polarized light propagation in turbid media,”
Opt. Express, 12 6530
–6539 https://doi.org/10.1364/OPEX.12.006530 OPEXFF 1094-4087
(2004).
Google Scholar
S. Bartel and A. H. Hielscher,
“Monte Carlo simulations of the diffuse backscattering Mueller matrix for highly scattering media,”
Appl. Opt., 39 1580
–1588 https://doi.org/10.1364/AO.39.001580 APOPAI 0003-6935
(2000).
Google Scholar
D. Côté and I. A. Vitkin,
“Robust concentration determination of optically active molecules in turbid media with validated three-dimensional polarization sensitive Monte Carlo calculations,”
Opt. Express, 13 148
–163 https://doi.org/10.1364/OPEX.13.000148 OPEXFF 1094-4087
(2005).
Google Scholar
J. C. Ramella-Roman, S. A. Prahl and S. L. Jacques,
“Three Monte Carlo programs of polarized light transport into scattering media: part I,”
Opt. Express, 13 4420
–4438 https://doi.org/10.1364/OPEX.13.004420 OPEXFF 1094-4087
(2005).
Google Scholar
J. C. Ramella-Roman, S. A. Prahl and S. L. Jacques,
“Three Monte Carlo programs of polarized light transport into scattering media: part II,”
Opt. Express, 13 10392
–10405 https://doi.org/10.1364/OPEX.13.010392 OPEXFF 1094-4087
(2005).
Google Scholar
T. Yun et al.,
“Monte Carlo simulation of polarized photon scattering in anisotropic media,”
Opt. Express, 17 16590
–16602 https://doi.org/10.1364/OE.17.016590 OPEXFF 1094-4087
(2009).
Google Scholar
Y. Wang et al.,
“GPU accelerated electric field Monte Carlo simulation of light propagation in turbid media using a finite-size beam model,”
Opt. Express, 20 16618
–16630 https://doi.org/10.1364/OE.20.016618 OPEXFF 1094-4087
(2012).
Google Scholar
A. Doronin, C. Macdonald and I. V. Meglinski,
“Propagation of coherent polarized light in turbid highly scattering medium,”
J. Biomed. Opt., 19
(2), 025005 https://doi.org/10.1117/1.JBO.19.2.025005
(2014).
Google Scholar
C. Ding et al.,
“Electric field Monte Carlo simulation of polarized light propagation in multi-layered media,”
Proc. SPIE, 10461 104610E https://doi.org/10.1117/12.2282397 PSISDG 0277-786X
(2017).
Google Scholar
NVIDIA Corp.,
“CUDA C programming guide,”
(2018). Google Scholar
P. Li et al.,
“GPU acceleration of Monte Carlo simulations for polarized photon scattering in anisotropic turbid media,”
Appl. Opt., 55 7468
–7476 https://doi.org/10.1364/AO.55.007468 APOPAI 0003-6935
(2016).
Google Scholar
H. Oulhaj et al.,
“Diffuse optical tomography with polarized light: a GPU-accelerated polarization-sensitive Monte Carlo simulations for efficient sensitivity kernel computation,”
Proc. SPIE, 11074 110740Q https://doi.org/10.1117/12.2526939 PSISDG 0277-786X
(2019).
Google Scholar
A. P. Tran, S. Yan and Q. Fang,
“Improving model-based functional near-infrared spectroscopy analysis using mesh-based anatomical and light-transport models,”
Neurophotonics, 7
(1), 015008 https://doi.org/10.1117/1.NPh.7.1.015008
(2020).
Google Scholar
Q. Fang and D. A. Boas,
“Monte Carlo simulation of photon migration in 3D turbid media accelerated by graphics processing units,”
Opt. Express, 17
(22), 20178
–20190 https://doi.org/10.1364/OE.17.020178 OPEXFF 1094-4087
(2009).
Google Scholar
J. C. Ramella-Roman, S. A. Prahl and S. L. Jacques,
“Meridian plane Monte Carlo,”
https://omlc.org/software/polarization/Meridian.html
().
Google Scholar
L. V. Wang, S. L. Jacques and L. Zheng,
“MCML-Monte Carlo modeling of light transport in multi-layered tissues,”
Comput. Methods Progr. Biomed., 47
(2), 131
–146 https://doi.org/10.1016/0169-2607(95)01640-F
(1995).
Google Scholar
Q. Fang,
“Mesh-based Monte Carlo method using fast ray-tracing in Plücker coordinates,”
Biomed. Opt. Express, 1
(1), 165
–175 https://doi.org/10.1364/BOE.1.000165 BOEICL 2156-7085
(2010).
Google Scholar
C. Bohren and D. R. Huffman, Absorption and Scattering of Light by Small Particles,
(1998). Google Scholar
S. Prahl,
“ANSI C code for Mie scattering,”
https://omlc.org/software/mie/index.html
().
Google Scholar
BiographyShijie Yan is a PhD student in electrical engineering at Northeastern University. He received his BE degree in information science and engineering from Southeast University, China, in 2013, and his MS degree in electrical and computer engineering from Northeastern University in 2017. His research interests include Monte Carlo photon transport simulation algorithms, parallel computing, and GPU programming and optimization. Steven L. Jacques is an affiliate professor of bioengineering at the University of Washington in Seattle, Washington, United States. He received his PhD from the University of California, Berkeley, in 1984, then served as a research associate/instructor at Massachusetts General Hospital/Harvard Medical School, as an associate professor at the University of Texas M.D. Anderson Cancer Center, and as a full professor at Oregon Health & Science University (OHSU). He has worked in the field of biomedical optics and laser–tissue interactions for 36 years. Jessica C. Ramella-Roman is an associate professor in the Bioengineering Department, Florida International University (FIU) in Miami, Florida, United States. She received her PhD from Oregon Health & Science University (OHSU) in 2004. She was a postdoctoral fellow at Johns Hopkins University Applied Physics Laboratory and became an assistant professor at Catholic University of America in 2005, and an associate in 2012 before joining FIU in 2013. Her research focuses on the development of imaging modalities based on spectroscopy and polarization including multimodal applications of nonlinear microscopy. Qianqian Fang is an associate professor in the Bioengineering Department, Northeastern University, Boston, Massachusetts, United States. He received his PhD from Thayer School of Engineering, Dartmouth College, in 2005. He then joined Massachusetts General Hospital and became an instructor of radiology in 2009 and assistant professor of radiology in 2012, before he joined Northeastern University in 2015 as an assistant professor. His research interests include translational medical imaging devices, multi-modal imaging, image reconstruction algorithms, and high performance computing tools to facilitate the development of next-generation imaging platforms. |