Background
µManager is a free, open source, image acquisition suite, written as a plugin for the open source image analysis program ImageJ. ImageJ, developed by the National Institutes of Health (NIH) and released in 1997, provides a number of image processing and analysis techniques as well as an extensive Java based plugin framework (ImageJ itself is written in Java and exposes the majority of the APIs used internally to the plugin framework). µManager provides comprehensive image acquisition capabilities to ImageJ and exposes its own Java based plugin framework for controlling acquisitions and a core C/C++ API for writing drivers (referred to as “device adapters”) to allow µManager to control new hardware. Cairn provides µManager adapters for the majority of its devices and is keen to provide plugins for the manipulation of data acquired with them. Unfortunately just as Cairn started to develop its plugins the team behind µManager announced they were going to rebuild the Java parts of µManager from the ground up for the version 2.0 release and that plugins written for the 1.x releases would not be supported in version 2.0. In response to this Cairn shelved development of its µManager plugins.
Project
I have developed two plugins for µManager while at Cairn, the first for post processing of image sequences acquired by the DaVinci 2k camera (for more information see: <link to stuff on NDR camera>).
The second plugin, Cairn MultiSplit, was to aid in acquisition of data from rigs using Cairn image splitters and multi-camera adapters (such as the OptoSplit or TwinCam). The Cairn OptoSplits take light from the sample being imaged and separate out different wavelengths of light before it reaches the camera, resulting in duplicate images consisting of the different colour channels entering the camera. The Cairn TwinCam and MultiCam allow for multiple cameras to image the same sample at once. In both cases, the images need to be recombined into single, multi-channel, images. The Cairn MultiSplit plugin provides an intuitive interface to specify the regions of the image corresponding to each channel and automatically separate out and recombine the images coming in from the camera(s).
Currently, I am working on a stand alone program for the Nanos PiezoLEGS device (written in C#). The Nanos is a highly accurate linear actuator that utilises piezoelectric materials arranged like legs that “walk” when specific voltages are applied across them. Cairn uses them to accurately control and change the distance below the microscope of a sample, which is useful for confocal techniques.
In the future, I will be implementing a µManager device adapter for the Nanos as well as device adapters for the OptoSpin and OptoTIRF. In addition, the OptoSpin and OptoTIRF will also need stand-alone programs. If time permits, I will also be investigating the creation of drivers for Metamorph, a closed source alternative to µManager.
Skills:
C/C++
Java
C#