[MCX Announcement] MCX Suite v2024.2 release is available for download, with critical bug fixes

Skip to first unread message

Qianqian Fang

Mar 15, 2024, 10:39:21 PMMar 15
to MCX-...@listserv.neu.edu, mcx-...@googlegroups.com, mcx-...@googlegroups.com, mmc-...@googlegroups.com

(You received this message because you are a registered user of MCX (https://mcx.space) - an open-source Monte Carlo photon transport simulator - and had indicated that you wanted to be notified for future updates in your registration form. If you are no longer interested in this software, please feel free to click on the unsubscribe link at the bottom of this email. In that case, we apologize for the inconvenience.)

Dear MCX/MMC registered users,

It is my great pleasure to let you know that MCX Suite (MCX/MCX-CL/MMC) v2024.2 has just arrived! Please browse our website (https://mcx.space) or the below link to access the latest software packages


The reason we prepared this new release was partly because we have added some major new features since our last release - v2023 - in Oct 2023. Another key reason was because we recently discovered and fixed a severe bug in our `pattern` and `pattern3d` source types in MCX/MCX-CL. 

We strongly urge all users immediately upgrade your MCX/MCX-CL/MMC to this new release to avoid using incorrect simulation results.

A brief summary on the key features added in v2024.2 compared to v2023:

== MCX ==

  •     support user-defined photon launch angle distribution (#13)
  •     can simulate multiple sources in a single session (#163)
  •     support per-voxel mua/mus/g/n float format (#203)
  •     critical bug fix for double-multiplication of pattern launched weight in `pattern`/`pattern3d` sources (#212)

== MCX-CL ==

  •     user-defined scattering phase function (fangq/mcx#129) and
  •     user-defined photon launch angle distribution (fangq/mcx#13)
  •     built and provide native Apple M1 binaries (experimental)

== MMC ==

  •     support saving photon trajectories (-D M or cfg.debuglevel='M')
  •     allow to use a single JSON input file to store mesh node, element and iMMC ROI data, along with other simulation settings
  •     compute element face-neighbors (facenb) and volumes (evol) in C code, avoid needing preprocessing
  •     support built-in benchmarks, use --bench to list and --bench name to run
  •     accept pattern data in the JSON input file
  •     built and provide native Apple M1 binaries (experimental)

I want to particularly highlight that the ability to use arbitrary photon launch angle control, combined with arbitrary scattering phase function and voxel-varying optical properties make MCX/MCX-CL a truly general-purpose optical simulator that can potentially handle any complex media and sources. These significant leaps in functionality hopefully will help you tackle more challenging research problems.

I want to say a few words about the severe bug we have recently fixed, you can find detailed information about this bug in the below mailing list announcement


briefly - any single-pattern (i.e. non-photon-sharing mode) simulation using a non-binary `pattern` or `pattern3d` source in MCX/MCXLAB/MCXCL/MCXLABCL/pmcx/pmcxcl since 2019 had been producing incorrect fluence outputs - the computed light distribution was not from the pattern data, but rather it's squared values. This does not affect diffuse reflectance outputs or detected photon data. This also does not affect photon-sharing based simulations.

If anyone is using these source types, regardless if they are expected to be affected or not, I strongly encourage you rerunning your simulations to verify if your results are still what you had expected. We apologize for the inconvenience caused by this bug.

One more thing - as I mentioned in one the earlier emails, our recently announced JSON based data sharing portal, NeuroJSON.io (https://neurojson.io), will be further integrated with our MCX/MMC/MCX Studio/MCXStudio tools in the next steps, to provide large libraries of anatomical data and raw measurements from public datasets and enable streamlined data processing. We have temporary replaced our registration form by a short survey to get basic information from our users community to better guide the development of this important integration in the next steps. 

We appreciate for your thoughtful inputs when you fill out the registration form! thank you


Reply all
Reply to author
0 new messages