Polarization Time-Resolved simulation

343 views
Skip to first unread message

Ernesto Pini

unread,
Apr 18, 2023, 8:34:39 AM4/18/23
to mcx-users
Dear Prof. Fang,

I am currently using mcxlab for simulations of time-resolved backscattering from a semi-infinite medium, but I am not sure that my approach is correct. To reproduce my experimental setup capabilities I use an input vertically polarized light and then I have to apply a polarizing filter to select the vertical/horizontal component of detected photons polarization.

In order to do this I take the output stokes parameters, adjust them to the exit angle (as provided in the polarization demo file):

phi=atan2(detps.v(:,2),detps.v(:,1)); % exit angle
s=detps.s; %output stokes parameters
stokes=[s(:,1),s(:,2).*cos(2.*phi)+s(:,3).*sin(2.*phi),...
   -s(:,2).*sin(2.*phi)+s(:,3).*cos(2.*phi),s(:,4)]; %adjust stokes parameter to exit angle

Then I evaluate the vertical/horizontal component of the backscattered intensity Iy/Ix:

Iy = (stokes(refl_id,1) - stokes(refl_id,2))./2;
Ix = (stokes(refl_id,1) + stokes(refl_id,2))./2;

To produce a time-resolved output I usually use the histogram function for the detected photons exit times, evaluated starting from the detps.ppath output. In this case, the only approach I could come up with to apply the polarization filter is to perform a weighted histogram for exit times, where the weight for each photon is given by the corresponding Iy or Ix value. I use a modified version of this matlab function (https://it.mathworks.com/matlabcentral/fileexchange/58450-histwv-v-w-min-max-bins).

[refl_int_poly,~] = histwc(refl_times, Iy_R, times_bin);
[refl_int_polx,~] = histwc(refl_times, Ix_R, times_bin);

With this method I get qualitative good results. As expected at early times there is an enhancement of the vertical (input) polarization and after a certain time light completely loses memory of the original polarization resulting in the 2 polarization outputs approaching the same decay rate.
However, when I try to compare these results with others published in the literature that use Mie-based polarized MC or analytical solutions, I do not find a quantitative agreement.

What is the correct way of selecting a certain polarization channel in detection?

TR backscattering polarization.png

Thank you in advance
Kind Regards

Ernesto Pini


Qianqian Fang

unread,
Apr 20, 2023, 12:23:41 PM4/20/23
to mcx-...@googlegroups.com, Ernesto Pini, Steven Jacques
hi Emesto,

what other published paper you found your results having dependency?

unfortunately my lab currently does not have an active project on measurements using polarized light, despite that we have implemented accelerated modeling in our MC code.

I am CCing Dr. Steve Jacques, who would be in a much better position to provide some insights related to your question, or direct you to the right person to address it. I will also bring this up with him in our next regular meeting and see what he could suggest.

Qianqian
--
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/4acca8c9-3e62-464a-8d75-42faaf79db04n%40googlegroups.com.


Ernesto Pini

unread,
Apr 21, 2023, 9:00:03 AM4/21/23
to Qianqian Fang, mcx-...@googlegroups.com, Steven Jacques
Dear Prof. Fang and Prof. Jacques,

Thank you for your swift reply!

The paper I'm trying to reproduce is this one: https://doi.org/10.1364/JOSAA.21.001799 on the progressive depolarization process in a scattering medium composed of spherical independent scatterers. Therein, the depolarization ratios d∥ and d⊥ for linearly polarized light (eqn. 3-5) are given in terms of the pathlength s as:
image.png
image.png
with P as the pathlength distribution.

These equations can be easily converted to the time domain by knowing the medium refractive index, which is relevant for us because this is what we are measuring experimentally. Similarly, the depolarization length lp can be converted to a depolarization time τp, leading eventually to the following formula for the ratio between the two backscattered intensity polarization channels:

image.png

which can be simulated and fitted to retrieve τp. The fit excludes early backscattered light, as suggested in the paper, since this formula becomes valid after at least 3 scattering events. Moreover, I included a temporal offset t0, to account for this transient. This fit procedure works quite well with my implementation and I get the depolarization time, which is used to retrieve the depolarization length lp.

It is interesting to compare the results with those presented in this other article (https://doi.org/10.1103/PhysRevLett.95.213901), which considers in more detail the expected depolarization rate predicted by Mie theory. Therein, it can be seen that up to a certain value of the anisotropy factor (g < 0.72) there is a simple linear relation between the ratio lp / lt ratio and g, as shown in the top panel of Fig. 2.

image.png

I tried to reproduce these graphs considering multiple simulations with progressively increasing spheres radii, keeping all other parameters fixed. To retrieve g I use third party MATLAB functions (https://gitlab.com/iliarasskazov/stratify), since I did not know if g is an available output parameter from MCX when using the Mie phase function. The discrepancy I found is a systematic positive offset in the retrieved value of lp. This offset appears to be changing with the medium refractive index, while it doesn't depend on the spheres refractive index or lt.

depolVSg.png

I attach to this email my MATLAB code and the functions required to run it.

Thank you and kind regards

Ernesto
Polarized Backscattering.zip

Ernesto Pini

unread,
Oct 23, 2023, 10:28:02 AM10/23/23
to mcx-users
Dear Prof. Fang,

I have a simple follow-up question to this thread.

Can MCX handle polarized simulations with mismatched refractive index? If not, what happens to the polarization of trajectories being reflected at the interface?


Thank you and kind regards
Ernesto

Shijie Yan

unread,
Oct 23, 2023, 3:14:24 PM10/23/23
to mcx-users
Hi Ernesto,

Both polarized MCX and the original meridian-plane polarized light MC (https://omlc.org/software/polarization/index.html) assume refractive-index matched domain boundaries. If you are interested, we did find some formulae for updating Stoke's vector after a ray reflection/refraction event (see Eq. 2a and Eq. 2b of this paper: https://iopscience.iop.org/article/10.3847/0004-637X/820/1/9) but have not got a chance to implement and verify it.

Best,
Shijie Yan

From: mcx-...@googlegroups.com <mcx-...@googlegroups.com> on behalf of Ernesto Pini <pi...@lens.unifi.it>
Sent: Monday, October 23, 2023 10:28 AM
To: mcx-users <mcx-...@googlegroups.com>
Subject: Re: [mcx-users] Polarization Time-Resolved simulation
 

Ernesto Pini

unread,
Oct 24, 2023, 5:33:47 AM10/24/23
to mcx-...@googlegroups.com
Hi Shijie,

Thank you for your quick response. Those equations are very helpful, but I am not sure I will be able to implement them in the code and I don't think it is possible to add them in my post processing of the simulation.

So, you confirm that at the moment if I set a mismatched refractive index the trajectories can be reflected at the interface, but the Stokes vectors are not updated?
Or is it the case that Fresnel reflections are turned off in polarized simulations?

Thank you again!
Ernesto


You received this message because you are subscribed to a topic in the Google Groups "mcx-users" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/mcx-users/Sn5i8vYBstA/unsubscribe.
To unsubscribe from this group and all its topics, send an email to mcx-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/mcx-users/BY1PR06MB9192617CB03A433C01713B2B9CD8A%40BY1PR06MB9192.namprd06.prod.outlook.com.
Reply all
Reply to author
Forward
0 new messages