Computational Optics & Translational Imaging Lab

Mesh-based Monte Carlo

Download here

Mesh-based Monte Carlo, or MMC, is a Monte Carlo (MC) solver for photon migration in 3D turbid media. Different from existing MC software designed for layered (such as MCML) or voxel-based media (such as MCX or tMCimg), MMC can represent a complex domain using a volumetric mesh. This not only greatly improves the accuracy of the solutions when modeling objects with curved/complex boundaries, but also gives an efficient way to sample the problem domain and uses less memory. The current version of MMC supports multi-threading and SIMD features on modern multi-core CPUs.

MMC is an open-source software developed by Qianqian Fang. He is currently an Assistant Professor in the Dept. of Bioengineering at Northeastern University. The algorithm behind this software is detailed in the following papers:

  • Qianqian Fang, "Mesh-based Monte Carlo method using fast ray-tracing in Pl├╝cker coordinates," Biomed. Opt. Express 1(1), 165-175 (2010)
  • Qianqian Fang and David R. Kaeli, "Accelerating mesh-based Monte Carlo method on modern CPU architectures ," Biomed. Opt. Express 3(12), 3223-3230 (2012)
  • Ruoyang Yao, Xavier Intes, Qianqian Fang, "Generalized mesh-based Monte Carlo for wide-field illumination and detection via mesh retessellation," Biomed. Optics Express, 7(1), 171-184 (2016)