OVERVIEW of ImageTrak Fluorescence microscopy is a very powerful tool in the biological sciences. With the advent of new generation confocal and 2-photon laser scanning microscopes that are increasingly user-friendly, more and more labs are taking advantage of this technology to generate high-resolution 2D, 3D and 4D data sets. Such images hold a wealth of information about experimental samples, but analyzing these large data sets is often difficult, time consuming and requires expensive and specialized commercial software. The goal of the ImageTrak project was to develop an intuitive, user-friendly yet powerful
application that allows quantitative analysis, visualization, calculation and deconvolution of fluorescence images. ImageTrak runs on the Apple Macintosh OS X platform and is available free of charge for non-commercial academic use.
TECHNICAL DETAILS Programs as complex as ImageTrak require considerable effort and time commitment to write from scratch, with much of the work expended creating a suitable user interface. Typically, high-level software development tools that allow rapid application development are unable to generate high performance code for computation-intensive algorithms such as those required for manipulating large image data sets. A good compromise includes a high-level development tool which can interface with high-performance compiled libraries written in a lower level language such as C or C++. The solution chosen for this project was to use REALbasic to create the user interface, handle file I/O and many less demanding functions, and to rely on optimized libraries written in C/C++, compiled using Metrowerks CodeWarrior. The REALbasic compiler links the elements into a single compiled application that runs on OS X (Tiger/Leopard). A high end G4 with at least 1GB RAM is recommended but ImageTrak will run on a G3 or better. Future plans include optimization of the deconvolution algorithms using an Altivec-enabled version of FFTW, distributed multi-processing capabilities, and incorporation of the Visualization Toolkit for true interactive 3D rendering and image visualization.
IMPORTING IMAGE DATA
The first requirement is the ability to easily import image data from a variety of sources. Currently ImageTrak supports the import of BioRad PIC, TIFF, Nikon ids and raw binary data files. The figure shows input options available for importing Nikon ids or raw binary data files. Batch importing of multiple files is also supported: (1) selects the bit depth of the .ids or generic binary file; if the source file is single precision floating point, select this radio button, and choose whether or not to normalize the data (largest float value scaled to max integer value). (2) if the file was generated on a PC, select Little endian (this is the order of the high and low bytes in a disk file), if it’s a Mac file, choose Big endian. You can optionally skip N bytes of a custom header. (3) choose the type of data set the file contains, from a single XY image to 4-D XYZT data sets. (4) checking Group Output Images will organize XYT and XYZT data sets into groups: XYT will consist of 1 image in each of T groups, XYZT will contain Z images in each of T groups. Uncheck this box if you want a “linear” ungrouped data set; XYT will then appear as a single image “volume”, useful if you want to perform calculations on all the images in the time series for example. XYZT will also be collapsed into a single 3D image volume whichmay be confusing. For this reason, it is recommended that XYZT data sets be imported as grouped data. (5) the import currently supports up to 5 channels of binary data, and you must specify how many data channels are written in the file (even if some of them are blank). Also the correct X, Y and (if applicable) Z dimensions must be entered. (6) you must select 3 (of up to 5) data channels to be mapped into the 3 available color channels (R, G or B). (7) Checking Clear blu channel will write all zeroes to the blue channel: use this option if you have only 2 data channels to import or if you intend to use the blue channel as a selection mask rather than a data channel.