This project has moved and is read-only. For the latest updates, please go here.

Multiple simulations question

Jul 26, 2013 at 7:27 PM
Hi VP team,

I recently downloaded the software, and after an initial hiccup, I am impressed with how easy to use it is. I was hoping you could help answer a question I was having about the most efficient way to run multiple monte carlo simulations. I wanted to tackle a problem where I would need to run multiple simulations (let's say a million), and each simulation would require a reasonable large number of photons (let's say a million again) and also varying optical properties. I would like to vary the absorption and scattering values over an order of magnitude more or less. If possible, I would also like to vary the geometry of the sample (this would potentially be a two tissue layer problem). My question is simply, what do you think would be the best way to do this?

The most straightforward option would be to run each simulation one after the other, but I am guessing this would take a prohibitively long amount of time.

Based on the examples (specifically example #4 of the vts_mc_demo in MATLAB), a second option would be to create all the simulations I want to run, and then run them together in a batch. This seems like it takes advantage of potential multithreading capabilities, but may also take a long amount of time.

Another option based on the examples (specifically examples #5 and #6 of the vts_mc_demo in MATLAB) is to run the simulation with no absorption, and then try various absorption properties after the fact. While useful, my understanding is that the limitation of this would be I could not change the geometry or the scattering properties without compromising the results.

If there are any other options you can think of or if I misunderstood any of the options I have already laid out, any feedback would be helpful. Thanks.
Jul 28, 2013 at 1:31 AM
Hi Adrien,
Thanks for your positive feedback on the software. One method you didn't list is to use the Monte Carlo Command Line application download. Check out the documentation here, in particular the "Running MCCL" page. On that page you'll see how to run a "sweep" of optical properties. For example the option "paramsweepdelta=mua1,0.01,0.04,0.01" will overwrite the mua value for tissue layer 1 in the provided "infile" and initiate 4 simulations with mua1 set to 0.01, 0.02, 0.03, 0.04. You can do multiple sweeps together too, varying mua and mus simultaneously. If you run on a computer with multiple CPU cores, it will run the sweeps in parallel. Please check out the documentation and let me know if you have any more questions.
Jul 29, 2013 at 8:47 PM
I'd add, re: computation time - it's always easy to get estimates based on a low-photon-count simulation. Definitely think about your needs regarding the amount of variance in in the final solution and look at the change in variance (or standard deviation) for a 10x increase in photon count to estimate the real time needed. I'd say the database post-processor (the examples #5 and #6 that you mention) has been great for me to geometrically reduce simulation time. On top of that, I then perform a classic sweep of variables from w/in Matlab.