This toolbox implements numerous algorithms for performing the forward and inverse calculations associated with Photon Migration Imaging. The toolbox is implemented in Matlab and so should have cross-platform compatibility.

Copyright (C) 2002 David Boas, Dana Brooks, Rick Gaudette, Tom Gaudette, Eric Miller, Quan Zhang.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details:


Documentation is currently under development. Please provide feedback to accelerate the documentation process. We are not software engineers and need your help in completing this task.

PMI User's Guide

Structure definition (coming soon)


To register your use of the software please subscribe to the PMI email list server. Send an email to with "subscribe pmi" in the body of the email. This email list is used for discussions on the use of PMI and for informing users of new releases of the PMI toolbox.

To send questions to the listserver, address the email to


Download the latest version of the PMI Toolbox from the link below:

PMI_Toolbox version released 2002-02

Copy the pmipath.m file into a directory that is in your matlab path. Typically the /matlab directory is in your matlab path.

When you run matlab to use the PMI toolbox, the first command to execute is pmipath('/home/userid/PMI'); The directory in the single quotes should be the directory containing the PMI toolbox.

You are now set to use the PMI toolbox.


The updates leading to the version released 2002-02 are described here.


These sample scripts can be used to help you get started using the PMI Toolbox.

Image Reconstruction

This script will perform the forward calculation for two spherical objects embedded in a slab medium. One object has an absorbing perturbation while the other has a scattering perturbation. The forward data is then used to reconstruct a three dimensional image of the absorbing perturbation and scattering perturbation. Linear methods are used for the forward and inverse problem. The calculation can be run at several wavelengths simultaneously, and data can be generated with multiple modulation frequencies. As well as demonstrating 3D imaging from transmission data, this script also enables exploration of cross-talk between absorption and scattering in the image reconstruction.

ImgRecon.m (html); ImgRecon.m

Example Result (link)

Comparison of Forward Methods

This script compares the solution of various forward methods for a transmission measurement in an infinite medium.

CompMethods.m (html); CompMethods.m

Example Result (link)


The foundation for this toolbox was developed by Rick Gaudette, Tom Gaudette (unrelated) and David Boas.

This was modified from the original PMI developed by David Boas, Maureen O’Leary and Martin Ostermeyer.

Contributors to this toolbox include:

David Boas (MGH)
Dana Brooks (Northeastern)
Rick Gaudette (Northeastern)
Tom Gaudette (MGH)
Eric Miller (Northeastern)

Testers to whom we are indebted:

Ang Li
Quan Zhang