File Exchange Pick of the Week

Our best user submissions

MCmatlab: A Monte Carlo simulation for photon transport in 3D voxel space

Today, I am inviting Temo, who is from the academic discipline marketing team, and he looks after the physics discipline. He will share his Pick from the field of optics.
This week's Pick is MCmatlab developed by DrDonik from University of Bern and Dr. Anders Kragh Hansen from Technical University of Denmark.
Light and optics’ role in medical diagnostics and treatments cannot be overstated. A broadly applicable equation modeling the propagation of light within biological tissue is called the Radiative Transfer Equation (RTE). The RTE is commonly solved with Monte Carlo techniques, starting from modeling the paths of photons traveling through the tissue as a random walk. Monte Carlo simulations statistically sample the step size of the random walk and angular deflection per scattering event, yielding, after averaging over many photons’ paths, realistic approximations to light’s propagation in tissue. mcxyz.c is a celebrated Monte Carlo program, coded in C, for modeling light propagation in heterogenous tissue written by a pioneer in biomedical optics, Steven L. Jacques. It is usually combined with MATLAB to generate the input optical properties of tissue types for a given illumination, allowing the users to create the three-dimensional (3D) structure of the desired heterogeneous tissue.
MCmatlab converts (wraps) mcxyz.c to a compact tool usable directly through a MATLAB interface, without the need to leave the MATLAB environment. It thus combines the speed of C with the versatility and user-friendliness of MATLAB. In addition to the RTE solver, MCmatlab includes a thermal solver, useful for simulating processes such as photocoagulation. The results of simulation are shown using interactive 3D volumetric slice plotting as shown below.
MCmatlab provides researchers with easy access points to simulate light–tissue interaction[1] and has also been used to simulate light transport in luminescent materials[2] such as phosphors. It is especially useful for helping students understand the underlying physics in light-tissue interactions without demanding experience in C programming or UNIX systems, making it preferred tool of educators for teaching biophotonics.
The entry comes with detailed documentation and a large collection of examples to get you started. Give this a try and let us know what you think.
  1. Boonya-ananta, T., Rodriguez, A.J., Ajmal, A. et al. Synthetic photoplethysmography (PPG) of the radial artery through parallelized Monte Carlo and its correlation to body mass index (BMI), Sci Rep 11, 2570 (2021).
  2. Krasnoshchoka, A., Hansen, A. K., Thorset, A. et al. Phosphor material dependent spot size limitations in laser lighting, Optics Express Vol. 28, Issue 4, pp. 5758-5767 (2020),
  • print


To leave a comment, please click here to sign in to your MathWorks Account or create a new one.