Department of Computational Biology, St.Petersburg State Polytechnical University, 195251 St.Petersburg, Russia

StepDeconvolutionAlgorithm for Correction of Data Extracted from Blurred Confocal Images

 

This work is supported by NIH grant RR07801, GAP award RUB1-1578, NWO-RFBR project 047.011.2004.013, and RFBR grants 08-01-00315a and 08-04-00712a.

Description

StepDeconvolution is an algorithm for the estimation and correction of errors in quantitative gene expression levels obtained from blurred confocal images.

Quantification of confocal images is implemented by means of image segmentation procedure that determines nuclear borders and constructs the binary mask of an image. The mask is applied to a gene expression image so that the information is only read from intranuclear areas and intensity values are averaged over all the pixels composing the nucleus. Even if  the mask is highly accurate, the blurring of an image due to diffraction scattering in confocal microscope distorts the intensity values at sharp nuclear borders. This results in underestimation of the mean levels of fluorescence intensity and hence gives rise to inaccuracy in the quantitative data. The direct deconvolution of images by the standard Richardson-Lucy method [1] does not eliminate the blurring at the nucleus borders and provides only a partial correction of mean intensities. StepDeconvolution is a modification of the RL method that provides more precise restoration of the data which is read from blurred images of objects with sharp edges.  The detailed description of the method is given in [2].

 

1.     van Kempen,G.M.P. and van Vliet,L.J., Background estimation in non linear image restoration, Journal of Optical Society of America, 2000,  v.A17,  425-433.

2.     E.Myasnikova, S.Surkova, L.Panok, M.Samsonova and J.Reinitz Estimation of errors in gene expression data introduced by confocal imaging, submitted to Bioinformatics

 

Description of input files and parameters

Input files are

  1. Image of an embryo stained for gene expression in tiff format (see sample file HETaa12.tif)
  2. Text file containing information about the binary mask image (see sample file HETaa12.blob)

Format of the file:

<blob>

# of nuclei(N) # of rows        # of columns

only_nuclei

N-1     < x-coordinate of (N-1)th nucleus(% of embryo length)>     <y-coordinate of (N-1)th nucleus (% of embryo width)>   <# of pixels belonging to (N-1)th nucleus>

list of pixels belonging to (N-1)th nucleus

N-2     < x-coordinate of (N-2)th nucleus(% of embryo length)>     <y-coordinate of (N-2)th nucleus (% of embryo width)>   <# of pixels belonging to (N-2)th nucleus>

list of pixels belonging to (N-2)th nucleus

…..

0     < x-coordinate of 0th nucleus(% of embryo length)>     <y-coordinate of 0th nucleus (% of embryo width)>   <# of pixels belonging to 0th nucleus>

list of pixels belonging to 0th nucleus

</blob>

  1. input parameter <pixel size (mkm)>  - size of pixel in the input image (μm)
  2. input parameter <initial value of blur parameter> (optional) – initial value of blur parameter, default value is 1.5μm-1

 

 

Description of output  files and parameter estimates

Output files are

1.     Result file <output_file> containing raw and corrected gene expression data (see sample file HETaa12_h).

Format of the file:

n         x          y          mean    corrected mean           variance           corrected variance          step     error    npixel

n                                 #of a nucleus

x                                 x-coord          

y                                 y-coord          

mean               raw mean intensity                                                                          

corrected mean           corrected mean intensity

variance                      raw within-nucleus variance

corrected variance       corrected w-n variance

step                            estimated step image

error                           difference between corrected and raw means

npixel                          # of pixels in the nucleus                                                              

2.     row0_< output_file>    work file illustrating the method. It presents a central row of pixels extracted from the input image along x-axis (see sample file row0_HETaa12_h).

Format of the file:

n         blurred_step    raw      step

          n                                #of a nucleus

          blurred_step               estimated blurred step image

          raw                             observed input image

          step                            estimated step image (pixels excluded from fitting are shown zero)

3.     row_ <output_file>    work file illustrating the method. It presents a central row of pixels extracted from the input image along x-axis  (see sample file row_HETaa12_h).

4.      

Format of the file:

n         step     restored           raw      blurred restored          residuals

          n                                #of a nucleus

          step                            estimated step image

restored                      restored image

          raw                             observed input image

blurred_restored          blurred restored image

residuals                     difference between the observed and blurred step images to be restored

5.     Estimate of the blur parameter is output to the screen

 

 

Download StepDeconvolution (tgz)

Download sample files (tgz)


Installation

 

Download  StepDeconvolution and unpack the archive in your home directory.

Running


Download sample files archive and unpack it.
Run the StepDeconvolution from the terminal with the command:

 

[user@machine ~]$ ./ step_deconvolution_fc9_x86 <input gene expression image in tiff format> <text file with information about the mask> <output file> <pixel size(mkm)> <initial value of blur parameter(optional)>

Example

 

[user@machine ~]$ ./ step_deconvolution_fc9_x86 HETaa12.tif HETaa12.blob HETaa_12_h 4.8

 

 

The tool should run on x86 computer with recent GNU/Linux distro - Fedora 9,  Ubuntu 8.04

 

Written in C-language, compiled on Fedora 9 x86 by gcc 4.3 compiler. May run on other systems.