reconstrunction / solving the inverse problem with MCX

192 views
Skip to first unread message

Alex Antrobus

unread,
Apr 29, 2021, 8:51:19 AM4/29/21
to mcx-users
Dear Dr Fang

I have been reading your paper on the replay method for computing Jacobians, wherein you also give a reconstruction example. In equation 16-18, the "measurement perturbation" used (\Delta Phi = \Phi-\Phi_0).
If (as mentioned here)  the Jacobian is d(total diff. reflectance)/(dmu), then is this measurement perturbation the differene in total diffuse reflectance between measurement and baseline-simulation?

If so, then this is not the same as running 
flux_measurement = mcxlab(cfg_measurement);
flux_baseline = mcxlab(cfg_baseline);
dPhi = flux_measurement-flux_baseline;

Am I correct? 
My understanding is that the total diffuse reflectance is proportional to the weighted detected photon count . So to get dPhi, I need to compute this quantity from the 'flux' outputs, correct? I.e. only keep the flux at the detectors from the exiting photons?

Many thanks and regards,
Alex

Alex Antrobus

unread,
Apr 29, 2021, 9:59:41 AM4/29/21
to mcx-users
Ah! My apologies - clearly the cfg.isaverref=1; flag is necessary. My apologies.
Still, this returns the diffuse reflectance at all boundary boxes. So I suppose one must sub-select only the voxels covered by detectors?

Many thanks,
- A

Qianqian Fang

unread,
Apr 29, 2021, 10:04:05 AM4/29/21
to mcx-...@googlegroups.com, Alex Antrobus
On 4/29/21 8:51 AM, Alex Antrobus wrote:
Dear Dr Fang

I have been reading your paper on the replay method for computing Jacobians, wherein you also give a reconstruction example. In equation 16-18, the "measurement perturbation" used (\Delta Phi = \Phi-\Phi_0).
If (as mentioned here)  the Jacobian is d(total diff. reflectance)/(dmu), then is this measurement perturbation the differene in total diffuse reflectance between measurement and baseline-simulation?

If so, then this is not the same as running 
flux_measurement = mcxlab(cfg_measurement);
flux_baseline = mcxlab(cfg_baseline);
dPhi = flux_measurement-flux_baseline;

Am I correct?


hi Alex

yes, they are not the same - if your flux_measurement and flux_baseline were referring to the volumetric fluence (I used the term "flux" in the place of "fluence rate" for simplicity, but realized that they can cause confusions) output interpolated at the detector positions.

as we described in our paper, in Section 2.2, under Eq. 15, a scaling factor, alpha=8.47, was found between fluence and diffuse reflectance, which we believe is related to the first term in Eq. 8 of the below paper (1/0.118 is exactly 8.47) by Kienle and Patterson

https://www.osapublishing.org/josaa/abstract.cfm?uri=josaa-14-1-246


however, if you used the 2nd output of mcxlab, detps, to compute the diffuse reflectance/transmittance by averaging the detected photon final weights computed by mcxdetweight(), or, alternatively, compute the diffuse reflectance by setting cfg.issaveref=1 and interpolate/average near your detectors, then they should be the same.

https://github.com/fangq/mcx/blob/v2020.9/mcxlab/mcxlab.m#L295
https://github.com/fangq/mcx/blob/v2020.9/mcxlab/mcxlab.m#L306

a demo script validating that replay and pMC using detps data match each other can be found here

https://github.com/fangq/mcx/blob/v2020.9/mcxlab/examples/demo_replay_vs_pmc_timedomain.m


My understanding is that the total diffuse reflectance is proportional to the weighted detected photon count . So to get dPhi, I need to compute this quantity from the 'flux' outputs, correct? I.e. only keep the flux at the detectors from the exiting photons?


dPhi in an inverse problem typically refers to the mismatch between measurement and model output at the detectors for each source, so, it is not exactly related to the `flux` output but the `detpt` output.

let me know if this makes sense.


Qianqian



Many thanks and regards,
Alex
--
You received this message because you are subscribed to the Google Groups "mcx-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mcx-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mcx-users/7f020001-0cad-472a-acef-124cd544718en%40googlegroups.com.
Reply all
Reply to author
Forward
0 new messages