Presentation is loading. Please wait.

Presentation is loading. Please wait.

II Escuela de Optica Biomedica, Puebla, 2011 Monte Carlo, Euler and Quaternions Jessica C. Ramella-Roman.

Similar presentations


Presentation on theme: "II Escuela de Optica Biomedica, Puebla, 2011 Monte Carlo, Euler and Quaternions Jessica C. Ramella-Roman."— Presentation transcript:

1 II Escuela de Optica Biomedica, Puebla, 2011 Monte Carlo, Euler and Quaternions Jessica C. Ramella-Roman

2 II Escuela de Optica Biomedica, Puebla, 2011 Stokes vector reference Yesterday, Meridian plane – Three steps – “Rotate” to scattering plane Rotational matrix – Scatter Scattering matrix – “Rotate” to a new plane Rotational matrix

3 II Escuela de Optica Biomedica, Puebla, 2011 Today Monte Carlo Reference frame is a triplet of unit vectors Rotation are about an axis and follow a specific order http://www.grc.nasa.gov/WWW/K-12/airplane

4 II Escuela de Optica Biomedica, Puebla, 2011 Today Monte Carlo Reference frame is a triplet of unit vectors Rotation of the frame is done in two steps.

5 II Escuela de Optica Biomedica, Puebla, 2011 Euler and Quaternion The only difference between today programs is the way we handle these rotations Euler angles rotation Quaternions algebra

6 II Escuela de Optica Biomedica, Puebla, 2011 Euler Monte Carlo The photon polarization reference frame is tracked at any time via a triplet of unit vectors that are rotated by an azimuth and scattering angle according to a predefined order Introduced by Bartel et al. (*) * S. Bartel, A. Hielsher, “Monte Carlo simulations of the diffuse backscattering Mueller matrix for highly scattering media,” Applied Optics, Vol. 39, No. 10; (2000).

7 II Escuela de Optica Biomedica, Puebla, 2011 Euler matrices Euler's rotation theorem: any rotation may be described using three angles. And three rotation matrices – About z axis – About x’ axis – About z’ axis Drawings, Wolfram, Mathworld

8 II Escuela de Optica Biomedica, Puebla, 2011 Euler cnt. We only need TWO vectors and TWO rotations Two unit vectors v and u The third unit vector is defined by the cross product of v and u and is calculated only when a photon reaches a boundary.

9 II Escuela de Optica Biomedica, Puebla, 2011 Euler cnt. Advantage – Stokes vector is rotated only once for each scattering event instead of twice as in the meridian plane method. – Simple to implement and visualize Drawback – – Gimbal lock - makes the rotation fail for angles exactly equal to 90˚ (rare event).

10 II Escuela de Optica Biomedica, Puebla, 2011 Monte Carlo flow chart

11 II Escuela de Optica Biomedica, Puebla, 2011 Launch The two unit vector v and u v and u define the starting Stokes vector reference plane. The unit vector u represents the direction of photon propagation.

12 II Escuela de Optica Biomedica, Puebla, 2011 Move The photon is moved a distance  s, the new coordinates of the photon are

13 II Escuela de Optica Biomedica, Puebla, 2011 Drop Reduction of photon weight (W) According to material albedo albedo =  s /(  s +  a ) absorbed = W*(1-albedo)

14 II Escuela de Optica Biomedica, Puebla, 2011 Scatter The rejection method establishes the scattering angle  and azimuth angle . The Stokes vector must be rotated by an angle  into the scattering plane before scattering can occur.

15 II Escuela de Optica Biomedica, Puebla, 2011 Referencing to scattering plane Done as in meridian plane Monte Carlo Multiply the Stokes vector by matrix R

16 II Escuela de Optica Biomedica, Puebla, 2011 Scatter cnt The interaction with a spherical particle is achieved by multiplying the Stokes vector with a scattering matrix M(  )

17 II Escuela de Optica Biomedica, Puebla, 2011 M(  ) elements s 11, s 12, s 33, s 34 calculated with Mie theory Expressed as S1, S2* – Mie scattering *http://omlc.ogi.edu/calc/mie_calc.html C. Bohren and D. R. Huffman, Absorption and scattering of light by small particles, (Wiley Science Paperback Series,1998).

18 II Escuela de Optica Biomedica, Puebla, 2011 Reference frame After scattering the Stokes vector the reference coordinate system v u must be updated. The two rotations, for the angles  and  can be obtained using Euler’s rotational matrices.

19 II Escuela de Optica Biomedica, Puebla, 2011 Rotational matrix ROT Rodrigues’s rotational matrix ROT Accomplishes the general case of rotating any vector by an angle  about an axis K Where K is the rotational axis, c=cos(  ), s=sin(  ) and v=1-cos(  ).

20 II Escuela de Optica Biomedica, Puebla, 2011 Vector rotation First the unit vector v is rotated about the vector u by an angle  Multiply v by the rotational matrix ROT(u,  ); u remains unchanged

21 II Escuela de Optica Biomedica, Puebla, 2011 Vector rotation Second u is rotated about the newly generated v by an angle . This is done multiplying the unit vector u by the rotational matrix ROT(v,  ).

22 II Escuela de Optica Biomedica, Puebla, 2011 Update of direction cosines This is done as in standard Monte Carlo  and  If |u z | ≈ 1

23 II Escuela de Optica Biomedica, Puebla, 2011 Update of direction cosines If |u z | ≠ 1

24 II Escuela de Optica Biomedica, Puebla, 2011 Photon life The life of a photon ends when the photon passes through a boundary or when its weight W value falls below a threshold. Roulette is used to terminate the photon packet when W  W th. – Gives the photon packet one chance of surviving – If the photon packet does not survive the roulette, the photon weight is reduced to zero and the photon is terminated.

25 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries Two final rotations of the Stokes vector are necessary to put the photon status of polarization in the detector reference frame. This will be achieved with matrix multiplication of two rotational matrix by stokes vector

26 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries – R(  ) w is reconstructed as the cross product of v and u. An angle  is needed to rotate the Stokes vector into a scattering plane

27 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries – R(  ) This is the ONLY reason we need the vector u, v, and w

28 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries – R(  ) This rotation is about the direction of propagation of the photon, i.e. the axis u Resulting position of v

29 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries – R(  ) A second rotation of an angle  about the Z axis Put the photon reference frame in the detector reference frame

30 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries – R(  ) Transmission Reflection

31 II Escuela de Optica Biomedica, Puebla, 2011 Boundaries End Stokes vector in the detector frame of reference We need vector u, v, and w to obtain these angles

32 II Escuela de Optica Biomedica, Puebla, 2011 Quaternion Monte Carlo Quaternion Monte Carlo simply uses Quaternion Algebra to handle vector rotation. Advantage – Stokes vector is rotated only once for each scattering event instead of twice as in the meridian plane method. – No issue with Gimbal lock – Optimized for computer simulations

33 II Escuela de Optica Biomedica, Puebla, 2011 Quaternions A quaternion is a 4-tuple of real numbers; it is an element of R 4. Quaternion can also be defined as the sum of a scalar part q 0 and a vector part Q in R 3 of the form

34 II Escuela de Optica Biomedica, Puebla, 2011 Quaternions cnt. The vector part Q is the rotational axis and the scalar part is the angle of rotation. Multiplication of a vector t by the quaternion is equivalent to rotating the vector t around the vector Q of an angle q 0.

35 II Escuela de Optica Biomedica, Puebla, 2011 Vector rotation First the unit vector v is rotated about the vector u by an angle 

36 II Escuela de Optica Biomedica, Puebla, 2011 Rotation -  The first rotation is about the vector u by an angle . This is done generating the quaternion q  And then using the quaternion operator q ∗ vq on the vector v q ∗ is the complex conjugate of q

37 II Escuela de Optica Biomedica, Puebla, 2011 Vector rotation Second u is rotated about the newly generated v by an angle .

38 II Escuela de Optica Biomedica, Puebla, 2011 Rotation -  The second rotation is about the vector v by an angle . This is done generating the quaternion q  And then using the quaternion operator q  *uq  on the vector u

39 II Escuela de Optica Biomedica, Puebla, 2011 Rotations These steps are repeated for every scattering event. At the boundaries the last aligning rotations are the same as in Euler Monte Carlo.

40 II Escuela de Optica Biomedica, Puebla, 2011 Testing Comparison with Evans Code In 1991 Evans designed an adding doubling code that can calculate both the radiance and flux of a polarized light beam exiting the atmosphere plane parallel slab of thickness L = 4/µ s, absorption coefficient µ a =0, unpolarized incident beam wavelength = 0.632 nm.

41 II Escuela de Optica Biomedica, Puebla, 2011 Evans - Reflectance mode Diameter (nm) Evans I This code I Evans Q This code Q 100.68830.6886-0.1041-0.1042 1000.6769 -0.1015-0.1009 10000.44790.44840.0499 20000.29300.29310.00890.0088 Reflectance mode, comparison between Evans adding-doubling code and the meridian plane Monte Carlo program. The results do not include the final rotation for a single detector. Incident I=[1 0 0 0]

42 II Escuela de Optica Biomedica, Puebla, 2011 Evans – Transmission mode Diameter (nm) Evans I This code I Evans Q This code Q 100.331260.31133-0.01228-0.01233 1000.323010.32305-0.12844-0.12770 10000.552010.551520.023400.02348 20000.706980.706890.011970.01205 Transmission mode, comparison between Evans adding doubling code and the meridian plane Monte Carlo program. The results are not corrected for a single detector Incident I=[1 0 0 0]

43 II Escuela de Optica Biomedica, Puebla, 2011 How to run the code Download the code http://faculty.cua.edu/ramella/MonteCarlo/in dex.html http://faculty.cua.edu/ramella/MonteCarlo/in dex.html

44 II Escuela de Optica Biomedica, Puebla, 2011 How to run the code Download the code http://faculty.cua.edu/ramella/MonteCarlo/in dex.html http://faculty.cua.edu/ramella/MonteCarlo/in dex.html

45 II Escuela de Optica Biomedica, Puebla, 2011 Download the code Programs

46 II Escuela de Optica Biomedica, Puebla, 2011 Make Command line Compilation/linking step

47 II Escuela de Optica Biomedica, Puebla, 2011 Run This program will run a full Mueller matrix Monte Carlo launching four vectors [1 1 0 0] H 0 degree polarized [1 -1 0 0] V 90 degrees polarized [1 0 1 0] P 45 degrees polarized [1 0 0 1] R –Right circular Command line

48 II Escuela de Optica Biomedica, Puebla, 2011 Memory usage Intel (64-bit) – Macbook pro 2.3Ghz I7 8GB RAM Real mem 860 KB Virtual mem 17 MB

49 II Escuela de Optica Biomedica, Puebla, 2011 out Output is a set of Stokes vector images for each launched Stokes vector outHI -> Horizontal incident polarization and I portion of the Stokes vector outHQ -> Horizontal incident polarization and Q portion of the Stokes vector

50 II Escuela de Optica Biomedica, Puebla, 2011 Inside the code GNU Licence

51 II Escuela de Optica Biomedica, Puebla, 2011 Modifiable parameters

52 II Escuela de Optica Biomedica, Puebla, 2011 Image related parameters

53 II Escuela de Optica Biomedica, Puebla, 2011 Stokes vector launch

54 II Escuela de Optica Biomedica, Puebla, 2011 Launch terms Initial position Initial orientation Initial Stokes vector

55 II Escuela de Optica Biomedica, Puebla, 2011 We can use the three Monte Carlo programs to understand how polarized light travels into scattering media

56 II Escuela de Optica Biomedica, Puebla, 2011 Light transfer –mono disperse particles

57 II Escuela de Optica Biomedica, Puebla, 2011 Light transfer –mono disperse particles Experimental results – black circles Monte Carlo – black square Diameter 482 nm, Wavelength was 543 nm. nsphere =1.59

58 II Escuela de Optica Biomedica, Puebla, 2011 Light transfer –mono disperse particles Experimental results – black circles Monte Carlo – black square Diameter 308 nm, Wavelength was 543 nm. nsphere =1.59

59 II Escuela de Optica Biomedica, Puebla, 2011 Poly-disperse solutions Gamma distribution of particles

60 II Escuela de Optica Biomedica, Puebla, 2011 Poly-disperse solutions Comparison with Evans Results from a slab in reflectance Incident I=[1 0 0 0]

61 II Escuela de Optica Biomedica, Puebla, 2011 Poly-disperse solutions -DLP

62 II Escuela de Optica Biomedica, Puebla, 2011 Map of polarized light distribution d

63 II Escuela de Optica Biomedica, Puebla, 2011 Map of polarized light distribution d

64 II Escuela de Optica Biomedica, Puebla, 2011 Map of polarized light distribution d

65 II Escuela de Optica Biomedica, Puebla, 2011 d d d x y d x y D = 0.01 µm µ s = 0.89 cm -1 = 0.543µm

66 II Escuela de Optica Biomedica, Puebla, 2011 D = 0.01µm µ s = 0.89 cm -1 = 0.543µm yy d d x y

67 II Escuela de Optica Biomedica, Puebla, 2011 x y d d d D = 0.48 µm µ s = 0.89 cm -1 = 0.543µm d x y

68 II Escuela de Optica Biomedica, Puebla, 2011 D = 0.48 µm µ s = 0.89 cm -1 = 0.543µm d yy d x y

69 II Escuela de Optica Biomedica, Puebla, 2011 Isosurface Pol= 0.5 D = 0.01 µm µ s = 0.89 cm -1 = 0.543µm x y d

70 II Escuela de Optica Biomedica, Puebla, 2011 Isosurface Pol = 0.9 D = 0.48 µm µ s = 0.89 cm -1 = 0.543µm x y d

71 II Escuela de Optica Biomedica, Puebla, 2011 Poincaré sphere analysis, Ellipticity

72 II Escuela de Optica Biomedica, Puebla, 2011 Ellipticity 0.01µm10 µm = 543nm 2 scattering events 19 scattering events

73 II Escuela de Optica Biomedica, Puebla, 2011 Particle effect on polarization Depolarize faster Less forward directed Turn incident polarized light into another linear state Depolarize slower – Large g effect More forward directed Turn incident polarized light into elliptical states Small spheres Large spheres


Download ppt "II Escuela de Optica Biomedica, Puebla, 2011 Monte Carlo, Euler and Quaternions Jessica C. Ramella-Roman."

Similar presentations


Ads by Google