Release of Mesh-based Monte Carlo software (MMC v0.2)

26 views
Skip to first unread message

Qianqian Fang

unread,
Nov 3, 2010, 10:39:25 AM11/3/10
to mcx-...@googlegroups.com
Dear registered MCX users:

Some of you might have noticed a new open-source software,
MMC (or Mesh-based Monte Carlo) was added to the
MCX homepage in the late summer. However, I didn't
get chance to make a announcement. I'd like to use
this opportunity to write a release note for this
new package and explain the differences between MCX
and MMC.


The following is the summary of the new release:
------------------------------------------------
Package name: Mesh-based Monte Carlo (MMC)
Version: 0.2.0 (first release)
Release date: Aug. 29, 2010
URL: http://mcx.sf.net/mmc/
Reference [1]: http://www.opticsinfobase.org/boe/abstract.cfm?uri=boe-1-1-165
Platform: Linux (32/64bit), Windows (32/64bit)
License: GPL v3
------------------------------------------------

As you all know, Monte Carlo simulations of photon
transport were generally time-consuming, and fairly
limited in modeling targets with complex shapes.
MCX was designed to tackle the first issue, while,
MMC was developed for the second.

Unlike MCX, MMC uses a tetrahedral mesh to represent a
complex heterogeneous domain. By doing so, one can
define boundaries between different media more
accurately; it also allows one to use locally-refined
mesh to represent detailed structures without increasing
the global mesh density. In comparison, MCX uses a
voxelated grid to represent media. Although it is
general enough to accommodate complex media, the
boundaries are always "staircase-shape". In
applications where accuracy is critical, MMC
is expected to perform better.

MMC is also more memory-efficient. As mentioned
above, a mesh allows one to sample the geometry
more efficiently: you can use larger tetrahedra
near smoothed contours, and smaller ones near sharply
varying contours. This will gain a lot when simulating
time-resolved problems with very refined time-windows.

Currently, MMC was written for multi-core CPU and
a GPU version is on my todo-list. A nice linear
speed-up was observed when using more CPU cores.
When using 1 core, MMC has roughly the same speed
as tMCimg. I do expect magnitude speed-up when
porting MMC to the GPU.

Using MMC does involve an additional step of work,
i.e. making a tetrahedral mesh. Fortunately, this
task is now fairly straightforward with the iso2mesh
toolbox and CGAL tools. You can find more details
on image-based meshing at http://iso2mesh.sf.net/

If you want to learn more on the algorithms
behind MMC, please read a recent paper of mine
published on Biomed Optics Express [1]. More
resources can be found at http://mcx.sf.net/mmc/

Feel free to let me know if you have any thoughts
or suggestions. If you have a Mac machine, I am
appreciated if you can help me to compile the
software for your platform and send me the binary.

Enjoy the software!

Qianqian


[1] Qianqian Fang, "Mesh-based Monte Carlo method using fast
    ray-tracing in Plücker coordinates
," Biomed. Opt. Express
    1, 165-175 (2010)





The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.
Reply all
Reply to author
Forward
0 new messages