Past Projects – GBH

More details and screenshots of some of my past projects.

PSj / LC-PolScope

My primary project from 2002-2007, PSj is a complete birefringence imaging system based on the LC-Polscope technology that allows us to visualize molecular order directly in living cells with unprecedented sensitivity, resolution and speed. Based on polarization measurements, this mode of microscopy allows us to gain insight into submicroscopic structural parameters and non-invasively create contrast where structures are otherwise invisible.  This software is used in a number of laboratories around the globe.

PSj is not an ImageJ Plugin, but has integration/interoperability with ImageJ.

Birefringence images of a artificial aster produced by PSj.

The PSj Desktop


Additional screenshots of PSj features and functionality.


jif – Java Instrumentation Framework

I utilize the Instrument Control and Image Acquisition Components Library that I designed and developed over the last decade.  This is a library of open source components for image display and analysis, image data and metadata management, and hardware interfacing for instrument control and image acquisition using asynchronous serial I/O and low-level interfacing with C++/JNI.  It provides integration with the open-source imaging system from the NIH, ImageJ, and incorporates a number of third-party libraries.

Jif is an evolution and refactoring of the software components originally designed and built for PSj.


Scanning Aperture LCPolscope

Software for controlling and calibrating a segmented light modulator for 3D birefringence imaging.  (In collaboration with CRI, Inc.)

Real-time LC-PolScope

System for operation of high speed multi-camera LC-PolScope system using C# programming language.  (In collaboration with CRI, Inc.)

Lightfield Microscope Viewer

Lightfield viewer, in collaboration with Marc Levoy, Stanford Univ. See: Stanford Light Field Microscope Project



CamAcqJ is an instrument control and image acquisition application built on jif, the above described components library.  This application is currently used in our lab for running experiments.  It provides both user interface and script driven control of variable (LC) retarders, focus, shutters, XY-stage movement, and laser ablation while acquiring images.

It includes a module for the coordination of x-y stage movement with a laser ablation for micro-surgery on mitotic spindle dynamics.

Above: CamAcqJ interface showing
-         Camera Control
-         Variable LC Compensator Control
-         X-Y Stage Controller
-         Image Acquistion Controller

CamAcqJ’s Focus / Z-Stage Controller

CamAcqJ’s Acquisition Progress Monitor


Other ImageJ Plugins


This plugin takes a stack of sample images and a stack of background images and creates a retardance magnitude image and a retardance orientation image using the parameters input with the GUI.

Options include selecting a background stack and performing background correction and flicker correction (or ratioing);


A generalization of PolCalc which applies a calculation algorithm to one or more slices in one or more stacks of images…

input values for variables.

The algoritm is defined using a short-hand notation to index specific pixels on slices in each stack of images.

It uses an embedded java compiler to enhance performance.