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 described in the papers are available here for download along with basic instructions for their use.
Unpolarized Light Monte Carlo programs have been around for some time; some 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
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)
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
>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 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