xopto / pyxopto

PyXOpto is a collection of python tools for performing Monte Carlo simulations of light propagation in turbid media.
GNU General Public License v3.0
30 stars 8 forks source link

Multiple Light Source Implementation into MC Object #14

Open ImanKafian opened 11 months ago

ImanKafian commented 11 months ago

Hi,

I would like to perform a Monte Carlo simulation with multiple light sources at the same time. My goal is to simulate the impact of ambient lighting on the optical signal. In literature, the ambient light is usually modeled as a percentage of specular reflectance added to the diffuse reflectance. However, I would like to have a more effective and objective way of simulating ambient light in the Monte Carlo simulation. Could you please give me some ideas and hints on how I can add multiple light sources to my MC object?

Thanks.

xopto commented 11 months ago

Multiple light sources can be processed by adding the raw simulation results obtained by the individual sources. All the detectors come with a raw attribute that yields the unprocessed/raw collected weight. This approach requires multiple Mc instances, in case the source type is not the same for all the sources (e.g. UniformBeam, UniformRectangular, ...).

Alternatively, it should not be too difficult to implement a custom source that launches photon packets according to the desired spatial and intensity distribution. A good starting point for implementing a custom source would be the LineSource, UniformBeam, UniformRectangular, or UniformFiber sources.