52
II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

Embed Size (px)

Citation preview

Page 1: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Modeling of polarized light transfer in scattering media

Monte Carlo

Page 2: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Introduction

The Monte Carlo method simulates the “random walk” of photons in a medium that contains

absorption and scattering.

Page 3: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Introduction

• The method is based on a set of rules that governs the movement of a photon in tissue.

• The two key decisions are:• The mean free path for a scattering or

absorption event.• The scattering angle.

Page 4: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Introduction

• Monte Carlo programs estimates ensamble average quantities

• The Monte Carlo method is essentially a technique for sampling a probability density function based on a computer generated random number.

• Need large number of photons – Error 1/√(Number of photons)

Page 5: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Monte Carlo flow chart

Page 6: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Polarized light Monte Carlo

• Main issues– Define a polarization reference plane– Propagate a Stokes vector & reference plane– Handle scattering – No Heyney Greenstain phase

function– Handle scattering – Rejection method/Mie

scatterers– Handle interface and exit

Page 7: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

J.C. Ramella-Roman, S.A. Prahl , S.L. Jacques, 'Three Monte Carlo programs of polarized light transport into scattering media: part I,' Optics Express, 13, pp. 4420-4438, 2005.

J.C. Ramella-Roman, S.A. Prahl, S.L. Jacques, 'Three Monte Carlo programs of polarized light transport into scattering media: part II,' Optics Express, 13, pp.10392-10405, 2005.

Page 8: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Three methods

• Meridian Plane Monte Carlo – Today• Euler and Quaternion Monte Carlo –

Tomorrow• The difference among three programs is the

tracking of the reference plane

Page 9: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Meridian plane Monte Carlo

Page 10: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Meridian plane

• Chandrasekhar was the first to envision the scattering of a photon from one location to the next in the form of meridian and scattering planes.

• The photon directions, before and after scattering, are represented as points on the unit sphere and each photon direction is uniquely described by two angles q and f.

Page 11: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Meridian plane

• q is the angle between the initial photon direction and the Z-axis. – Scattering angle

• f is the angle between the meridian plane and the X-Z plane.– Azimuth angle

• The photon direction is specified by a unit vector I1

• Elements of I1 are the direction cosines [ux, uy, uz]

Page 12: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Meridian plane

• The unit vector I1 and the Z-axis determine a plane COA.

• This plane is the meridian plane

Page 13: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Launch

• A photon is launched in a specific meridian/reference frame and status of polarization.

• Slab geometry, perpendicular illumination, pencil beam

• Direction cosines – [ux, uy, uz] = [0, 0, 1].

Page 14: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Launch-STEP A

• Initially the meridian plane f =0,• The reference frame is initially equal to the x-z

plane. • The initial Stokes vector is relative to this

meridian plane.

Page 15: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Launch-STEP B

• The status of polarization as an appropriate Stokes vector, S = [I Q U V].

• Example S=[1 1 0 0] – launched photon will be linearly polarized parallel

to the x-z plane.

Page 16: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Move

• The photon is moved as in a standard Monte Carlo program.

• The photon is moved a propagation distance Ds that is calculated based on pseudo random number generated in the interval (0,1].

Δs=−(ln ζ )μt

µt = µa +µs, µa is the absorption coefficient of the media. µs is the scattering coefficient of the media. €

ζ

Page 17: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Move cnt.

• The trajectory of the photon is specified by the unit vector I characterized by the direction cosines [ux, uy, uz].

• where x y and z are the unit vectors in the laboratory frame XYZ.

ux =I ⋅ x

uy = I ⋅ y

uz = I ⋅ z

Page 18: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Move cnt.

• The photon position is updated to a new position [x',y',z'] with the following equations:

′ x =x+uxΔs=I xΔs

′ y =y+uyΔs=I yΔs

′ z =z+uzΔs=I zΔs

Page 19: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Scatter

• Three matrix multiplications are necessary to handle the scattering of a photon and track its polarization

• 1. Stokes vector rotation in the scattering plane

• 2. Scattering -updating the Stokes vector• 3. Return to a new meridian plane

Page 20: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rotation to a new reference plane

• The E field is originally defined respect to a meridian plane COA.

• The field can be decomposed into its parallel and perpendicular components E|| and E.

• The choice of f and q is done with the rejection method

Page 21: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rotation to a new reference plane

• First the Stokes vector is rotated so that its reference plane is ABO

• This rotation is necessary because the scattering matrix, that defines the elastic interaction of a photon with a sphere, is specified with respect to the frame of reference of the scattering plane

Page 22: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

1. Stokes vector rotation in the scattering plane

• The Stokes vector S1 defined relative to the scattering plane (ABO) is found by multiplying by a rotational matrix R(i1)

• This action corresponds to a counterclockwise rotation of an angle i1 about the direction of propagation.

R i1( ) =

1 0 0 0

0 cos( 2i1 ) sin( 2i1 ) 0

0 − sin( 2i1 ) cos( 2i1 ) 0

0 0 0 1

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Page 23: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Scattering

• The Stokes vector is multiplied by the scattering matrix that accounts for scattering of the photon at an angle a

Page 24: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

2. Scattering -updating the Stokes vector

• The Stokes vector is multiplied by a scattering matrix, M(a).

• a is the scattering angle between the direction of the photon before and after scattering.

M α( ) =

s11( α ) s12( α ) 0 0

s12( α ) s11( α ) 0 0

0 0 s33( α ) s34( α )

0 0 −s34( α ) s33( α )

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Page 25: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Updating the Stokes vector

• The parameters s11 , s12 , s33 , s34 are calculated with Rayleigh or Mie theory.

• These terms are expressed as

• S1, S2* – Mie scattering

s11(α )=12[ S2(α )

2+ S1(α )

2]

s12(α )=12[ S2(α )

2−S1(α )

2]

s33(α )=12[ S2

* (α )S1(α )+S2(α )S1* (α )]

s34(α )= i2[ S2

* (α )S1(α )−S2(α )S1* (α )]

*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).

Page 26: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rejection method

• The phase function P(α,β) for incident light with a Stokes vector So= [Io, Qo, Uo, Vo] is

• α angle of scattering • b angle of rotation into the scattering plane

(P α ,β ) = 11 (s α ) Io+ 12 (s α ) [ (2Qo cosβ ) + (2Uo sin β )]

Page 27: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rejection method

• For unpolarized light [1 0 0 0]

• The rejection method is used to generate randomvariables with a particular distribution.

(P α ,β ) = 11 (s α ) Io

Page 28: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Parallel incidence- parallel detection

D=0.01µm D=1.0µm D=2.0µm

F

B

Page 29: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Parallel incidence- perpendicular detection

D=0.01µm D=1.0µm D=2.0µm

Page 30: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rejection method-step 1

• Generate Prand - uniform random number between 0 and 1.

• arand is generated uniformly between 0 and π.

• The angle arand is accepted as the new scattering angle if Prand ≤ P(arand).

• If not, a new Prand and arand are generated

Page 31: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Rejection method-step 2

• Generate Prand - uniform random number between 0 and 1.

• brand is generated uniformly between 0 and 2π.

• The angle brand is accepted as the new scattering angle if Prand ≤ P(arand, brand).

• If not, a new Prand and arand , brand are generated

(P α ,β ) = 11 (s α ) Io+ 12 (s α ) [ (2Qo cosβ ) + (2Uo sin β )]

Page 32: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Scattering from spherical particlesSingle scattering

Page 33: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Update of direction cosines

• q and f are obtained at in the scattering step of the Monte Carlo program

u^

x = (sin θ ) (cos φ)

u^

y = (sin θ ) (sin φ)

u^

z = (cosθ ) uz

uz

If |uz| ≈ 1

Page 34: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Update of direction cosines

u^

x =1

1−uz

2(sinθ )(uxuy (cosφ)−uy (sinφ))+ux (cosθ )

u^

y =1

1−uz

2(sinθ )(uxuz (cosφ)−ux (sinφ))+uy (cosθ )

u^

z = 1−uz

2 (sinθ ) (cosφ)(uyuz (cosφ)−ux (sinφ))+uz (cosθ )

If |uz| ≠ 1

Page 35: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

3. Return to a new meridian plane

• The Stokes vector is rotated so that it is referenced to the new meridian plane COB

Page 36: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

3. Return to a new meridian plane

• The Stokes vector is multiplied by the rotational matrix R(-i2) so that it is referenced to the meridian plane COB.

cosi2 =−uz + u

^

zcosα

± (1 −cos2α )(1 −u^

z2 )

u are the direction cosines before scattering and û are the direction cosines after scattering.

Page 37: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

3. Return to a new meridian plane

• The Stokes vector is multiplied by the rotational matrix R(-i2) so that it is referenced to the meridian plane COB.

R i2( ) =

1 0 0 0

0 cos(2i2 ) sin(2i2 ) 0

0 − sin(2i2 ) cos(2i2 ) 0

0 0 0 1

⎢ ⎢ ⎢ ⎢

⎥ ⎥ ⎥ ⎥

Page 38: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Summary

• In summary the Stokes vector Snew after a scattering event is obtained from the Stokes vector before the scattering event S

Snew = R( −i2 )M( α )R( i1 )S

Page 39: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Choice of f and a

• A fundamental problem in every Monte Carlo program with polarization information is the choice of the angles a (angle of scattering) and f (angle of rotation into the scattering plane).

• These angles are selected based on the phase function of the considered scatterers and a rejection method (**)

** W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, Numerical Recipes in C, the art of Scientific Computing, Cambridge University Press; (1992).

Page 40: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

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 £ Wth. – 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.

Page 41: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Boundaries

• One last rotation of the Stokes vector is necessary to put the photon polarization in the reference frame of the detector.

• For simplicity we are neglecting Fresnel reflectance

Page 42: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Boundaries

• For a photon backscattered from a slab, the last rotation to the meridian plane of the detector is of an angle y

• The Stokes vector of the reflected photon is multiplied one final time by R(y). For a transmitted photon the angle y

ψ =tan−1(uy

ux)

ψ =−tan−1(uy

ux)

Page 43: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Results

• Average Stokes vector values• HI, HQ, HU, HV, VI, VQ (…) IMAGES

– All you need to build an image of the Mueller matrix

Page 44: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Monte Carlo testing

Page 45: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Comparison with Evans’ adding-doubling*

Diameter

(nm)

I Evans I This code Q Evans Q this code

10 0.68833 0.68867 -0.10416 -0.10423

100 0.67698 0.67695 -0.10152 -0.10094

1000 0.44799 0.44848 0.04992 0.04990

2000 0.29301 0.29311 0.0089989 0.00887

*K. F. Evans and G. L. Stephens, “A new polarized atmospheric radiative transfer model,” J. Quant.Spectrosc. Radiat Transfer. 46, 413-423, (1991).

Page 46: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Mueller Matrix -microspheres solutions

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

50 100150200

50

100

150

200

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

20 40

10

20

30

40-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

-0.2 0 0.2

-0.2

0

0.2-1

-0.5

0

0.5

1x 10-7

Monte Carlo Experimental**Cameron et al.

Page 47: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Mueller Matrix-asymmetric illumination

Polarizer

Polarizer

Laser

Camera

Microsphere solution

θz

x

y

Page 48: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Mueller Matrix - microspheres solutions

Monte Carlo Experimental

m11

2 4

1

2

3

4

m12

2 4

1

2

3

4

m13

2 4

1

2

3

4

m21

2 4

1

2

3

4

m22

2 4

1

2

3

4

m23

2 4

1

2

3

4

m31

2 4

1

2

3

4

m32

2 4

1

2

3

4

m33

2 4

1

2

3

4

m11

1 2 3 4

1

2

3

4

m12

1 2 3 4

1

2

3

4

m13

1 2 3 4

1

2

3

4

m21

1 2 3 4

1

2

3

4

m22

1 2 3 4

1

2

3

4

m23

1 2 3 4

1

2

3

4

m31

1 2 3 4

1

2

3

4

m32

1 2 3 4

1

2

3

4

m33

1 2 3 4

1

2

3

4

Page 49: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Side View Experiments

He-NeLaser 633nm

200 ml glass container7x7x4 cm

G4 computer

7 cm

0.5 µm microspheressolution

0.25cm1cm

12 bit digital camera

AnalyzerPolarizer

Page 50: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Results -1

Parallelexperimental

ParallelMonte Carlo

Page 51: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Results -2

Parallel

Max Parallel

Page 52: II Escuela de Optica Biomedica, Puebla, 2011 Modeling of polarized light transfer in scattering media Monte Carlo

II Escuela de Optica Biomedica, Puebla, 2011

Tomorrow

• Euler and Quaternion based Monte Carlo

• How to run the codes

• Application