3B Microscopy Analysis

1.0

Introduction

This project contains the reference implementation of the 3B microscopy analysis method. Please refer to the project website for more information on the method.

The program (multispot5_headless) performs the analysis. This program needs to be run from the commandline.

Compiling

In order to compile the project, you will need to download and install the following libraries:

The program is portable and is well tested under Linux and OSX. It will also compile under Windows using cygwin or MinGW.

Example of usage

We have provided a set of test data on the website. Download and unpack the zip file. It will create a new directory called test data with the collowing contents:

test_data/AVG_test_data.bmp
test_data/markup1.bmp
img_000000000.fits
img_000000001.fits
img_000000002.fits
...
img_000000299.fits

Then run the following command:

./multispot5_headless --save_spots test_data/results.txt --log_ratios test_data/markup1.bmp test_data/img_000000*

The program will save the results in the file test_data/results.txt . The program will run indefinitely in the default setup, but you may view the results at any stage. There is no well defined stopping point for this type of algorithm, so it is advisable continuously monitor the resultant image, and stop the algorithm when the output image is no longer changing with time. After 30 minutes on a fast PC (e.g. Core i7 975), the ring structure which is not resolved in the widefield image should be clearly visible. After about 75 mins, the finer details of the structure begin to approach those seen in Fig 2e in the associated paper.

You will have to process the results file further in order to view the results. Run the following command:

awk '/PASS/{for(i=2; i <=NF; i+=4)print $(i+2), $(i+3)}' test_data/results.txt > test_data/coordinates.txt

The file test_data/coordinates.txt contains a long list of $(x, y)$ coordinates, representing possible spots positions. In order to view the results, load the data into a graph plotting program and create a scatter plot. NOTE: the axes are in pixel coordinates, so you will have to multiple any distances by the number of nm/pixel in order to get distances in nm.

Example usage explained

Test Data

The 300 TIFF files in the test directory correspond to the data used for Fig. 2 in the paper. Please refer to the paper for details on how the data was obtained.

The file AVG_test_data.bmp is a Z projection made using ImageJ.

The file markup1.bmp is a mask indicating which area of the image to analyse. All perfectly black pixels are ignored, ecerything else is analysed. If you overlay markup1.bmp and AVG_test_data.bmp you can see which area the markup corresponds to. The markup file was created using the GIMP.

Running the program

The general form for running the program is:

./multispot5_headless [ --variable1 value1 [ --variable2 value 2 [ ... ] ] ] image1 image2 ... 

so the example sets ths variable save_spots to test_data/results.txt and the variable log_ratios to test_data/markup1.bmp. The remaining arguments is the list of files to be analysed.

The program gets the markup in the filename given in the log_ratios variable (yes, the choice of name is very strange, and corresponds to a very old phase of development). The more sanely named variable save_spots is the filename in which the output is to be saved.

The program actually has a large number of variables which must be set. Most of them you probably don't want to change, but some of them you will want to change. The default values for these variables are stored in multispot5.cfg The format of this file should be mostly self explanatory. Everything after a is a comment and is ignored.

Yu will probably want to change:

Note that variables specified on the commandline override all variables in the configuration file.

The program can read FITS, BMP, PPM and PGM images. Depending on how it has been compiled, it can also read TIFF, PNG and JPEG images. The program cannot work on multi-image TIFF files. ImageJ can be used to split a multi-image TIFF into a collection of single image files. All the images loaded must be the same size.

Extracting the data

The output file (in this case test_data/results.txt ) containing the results is in a format unsuitable for plotting directly, and must be extracted. The reason for this is that the output file contains enough information to seamlessly continue long runs which have been interrupted. The provided AWK program extracts the coordinates of the spots over all iterations and puts them in coordinated.txt.

Generated on Wed Nov 2 17:59:59 2011 for BCUBED by  doxygen 1.6.3