Skip to content

Commit

Permalink
[bug] fix incorrect per-voxel pathlength when mua->0, #164
Browse files Browse the repository at this point in the history
  • Loading branch information
fangq committed Jan 22, 2025
1 parent 1f536ba commit 24b445e
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/mcx_core.cu
Original file line number Diff line number Diff line change
Expand Up @@ -2142,7 +2142,7 @@ __global__ void mcx_main_loop(uint media[], OutputType field[], float genergy[],
if (gcfg->outputtype == otEnergy) {
weight = w0 - p.w;
} else if (gcfg->outputtype == otFluence || gcfg->outputtype == otFlux) {
weight = (prop.mua < EPS) ? (w0 * len) : __fdividef(w0 - p.w, prop.mua); /** when mua->0, the first two terms of Taylor expansion of w0*(1-exp(-mua*len))/mua = w0*len - mua*len^2*w0/2 */
weight = (prop.mua < EPS) ? (w0 * f.pathlen) : __fdividef(w0 - p.w, prop.mua); /** when mua->0, the first two terms of Taylor expansion of w0*(1-exp(-mua*len))/mua = w0*len - mua*len^2*w0/2 */
} else if (gcfg->seed == SEED_FROM_FILE) {
if (gcfg->outputtype == otJacobian || gcfg->outputtype == otRF) {
weight = replayweight[(idx * gcfg->threadphoton + min(idx, gcfg->oddphotons - 1) + (int)f.ndone)] * f.pathlen;
Expand Down

0 comments on commit 24b445e

Please sign in to comment.