Polarized Light Monte Carlo
Code Meridian Plane > Euler > Quaternions >
3D propagation


This web page was created in support of the papers "Three Monte Carlo programs of polarized light transport into scattering media: part I & 2". The three Monte Carlo programs portrayed in the papers are availabe here for download with some instruction.

A polarized light Monte Carlo program must keep track of the polarization reference plane

Unpolarized light Monte Carlo programs have been around for some time. Some of them are available here.

The Polarized light Monte Carlo programs described here keep track of the status of polarization of light traveling through a scattering media. In the Monte Carlo programs presented here the scatterers are microspheres. These codes use a Mie scattering program to calculate the scattering coefficients of the scattering matrix.

An important issue in Polarized light Monte Carlo is the tracking of the polarization reference frame. We show three different methods to do so

Installing and running the programs

These programs were developed in C programming language, they were compiled and tested in Red Hat Linux 7 and MacOsX-Unix (we were also able to run them in a Knoppix environment)

All program were tested in Linux Red Hat, Knoppix, and MacOSX under the Unix terminal

Here are step by step instructions on how to run these programs

  • Download the Monte Carlo code you want to try

  • Unzip it or untar it

    >unzip -iquv.08.03.zip

    >untar -cf -iquv.08.03.tar

  • Read the README file that has a lot of information I will not repeat here

  • Open a terminal window

    For mac users it looks like this

    You can also find the terminal in Applications/Utilities/Terminal.app

  • Find the directory where you put the Monte Carlo program

  • Make the program by typing ->make<- at the prompt

  • Ignore the warnings

  • You are now ready to run your Monte Carlo program, just type ->./iquv<- at the propt

  • You are done! This program produces 16 images. Launch H corresponds to a field whose status of polarization is parallel to the reference frame (Stokes Vector [1 1 0 0]), Launch V is for perpendicular (Stokes Vector [1 -1 0 0]), Launch P is for 45 degrees (Stokes Vector [1 0 1 0]), and Launch R is for right circular polarized (Stokes Vector [1 0 0 1]).

  • For every launched Stokes vector 4 images are created corresponding to the reflected 4 elements of the Stokes vector IQUV, so for Launch H you will have HI.dat HQ.dat HU.dat HV.dat, Launch V you will have VI.dat VQ.dat VU.dat VV.dat, and so forth

Other codes
Standard Monte Carlo
Mie Calculator
APL, Johns Hopkins
Other Info