Further on, image processing techniques are used
to quantify gene expression levels present in the
captured microarray image, in order to identify a
gene in a biological sequence and to predict the
function of the identified gene. The flow of
processing a microarray image (Yang, 2001) is
generally separated in the following tasks:
addressing, segmentation, intensity extraction and
pre-processing to improve image quality and
enhance weakly expressed spots. The first step
associates an address to each spot of the image. In
the second one, pixels are classified either as
foreground, representing the cDNA spots, or as
background. The last step calculates spot intensities
and estimates background intensity values.
The major tasks of microarray image processing,
which contributes in fulfilling the last mentioned
steps, are to identify the array format including the
array layout, spot size and shape, spot intensities and
distances between spots. The main parameters taken
into consideration in microarray image processing
are accuracy and time. The accuracy is given by the
quality of image processing techniques. The second
parameter, time, is critical due to the large amount of
data contained in a microarray image. A regular
microarray image has up to hundreds of MB, and it
can be divided in independent sub-images, which
consists in a compact group of spots as it can be seen
in figure 1. Sophisticated computational tools are
available for microarray image processing but, their
main disadvantages are the increased computational
time and the user intervention needed in processing.
To overcome the previous disadvantages,
microarray images are analyzed and processed using
FPGA technology. The hardware implementations
of microarray image processing techniques make use
of the features of FPGA, which allow accessing at
the same time hundreds of memory addresses. In this
way, calculations specific to microarray image
processing are made in parallel, increasing the
processing speed. For this kind of processing, image
acquisition is mandatory and its description is
presented in the following papers (Belean, 2008).
This paper proposes hardware strategies for
microarray image processing (paragraph 2), and also
an implementation of spot border detection
algorithm using the Canny filter.
2 FPGA & MICROARRAYS
FPGA technology uses pre-built logic blocks and
programmable routing resources to configure these
chips and to implement custom hardware
functionality. Their main benefits are the low cost,
the short time to market and also the increased
performance due to their structure which is able to
exploit spatial and temporal parallelism. These
advantages will be used to develop a system on a
chip in order to process the microarray images in a
manner that does not need user intervention. Also,
time being critical in microarray image processing,
using FPGA technology will decrease the
computational time due to its parallel computation
capabilities. The main goal of this approach for
microarray image processing is to obtain a device
which will be able to extract and quantify gene
expression a lot more faster than existing
computational tools, so that microarray analyses to
be easily performed on a large number of subjects
(thousands of patients and different diseases). This
task can hardly be achieved with the existing tools
which are time consuming and which also need user
intervention.
2.1 Hardware Implementation for
Microarray Image Processing
The hardware implementation strategies for
microarray image processing techniques presented in
this paper takes advantage of the structure size and
shape of a microarray image. As in figure 1, a piece
of the microarray image is delimited, and represents
an independent microarray sub-image. Taking into
account that the microarray image composed by
independent sub-images is written in a RAM
memory after the acquisition, a first step in
processing is to crop the image by determining the
address and dimension of each sub-image. Once
these parameters are known, the independent sub-
images are copied one by one in the Block RAM
memory inside the FPGA for further processing
which consists in addressing each spot of the image.
This type of memory offers multi-port and high
speed access needed for the next step of processing
which aims to determine the spot contour and extract
the spot intensity for quantifying gene expression.
The image being cropped and copied into the
Block RAM memory, hardware design techniques
such as parallelism and pipelining can be developed
using FPGA technology. These techniques will be
presented in the next subchapters.
2.1.1 Hardware Algorithms
Image processing operations like median filters and
gradient calculation are based on the convolution,
which is included in a class of algorithms called
BIODEVICES 2009 - International Conference on Biomedical Electronics and Devices
360