A Windows-Based Interface for Teaching Image Processing MELVIN AYALA, MALEK ADJOUADI, MERCEDES CABRERIZO, ARMANDO BARRETO Department of Electrical and Computer Engineering, Center for Advanced Technology and Education, Florida International University, 10555 W. Flagler Street, Miami, Florida 33174
Received 26 September 2006; accepted 16 May 2007
ABSTRACT: The use of image processing in research represents a challenge to the scientific community interested in its various applications but is not familiar with this area of expertise. In academia as well as in industry, fundamental concepts such as image transformations, filtering, noise removal, morphology, convolution/deconvolution among others require extra efforts to be understood. Additionally, algorithms for image reading and visualization in computers are not always easy to develop by inexperienced researchers. This type of environment has lead to an adverse situation where most students and researchers develop their own image processing code for operations which are already standards in image processing, a redundant process which only exacerbates the situation. The research proposed in this article, with the aim to resolve this dilemma, is to propose a user-friendly computer interface that has a dual objective which is to free students and researchers from the learning time needed for understanding/applying diverse imaging techniques but to also provide them with the option to enhance or reprogram such algorithms with direct access to the software code. The interface was thus developed with the intention to assist in understanding and performing common image processing operations through simple commands that can be performed mostly by mouse clicks. The visualization of pseudo code after each command execution makes the interface attractive, while saving time and facilitating to users the learning of such practical concepts. ß 2009 Wiley Periodicals, Inc. Comput Appl Eng Educ 18: 213224, 2010; Published online in Wiley InterScience (www.interscience.wiley.com); DOI 10.1002/cae.20171
Keywords:
software design; image processing; graphics; computer interfaces
INTRODUCTION Image processing (IP) technology plays nowadays a fundamental role in society with its many applications Correspondence to M. Ayala (
[email protected]). ß 2009 Wiley Periodicals Inc.
in media industry, engineering, and medicine, to name a few [1]. Advances in imaging technologies have, for example, revolutionized medical care in recent years, forming an indispensable tool in research with decisive practical implications. A host of diverse technologies have evolved and ‘‘imaging’’ is now viewed broadly to encompass a spectrum of structural, 213
214
AYALA ET AL.
functional, and molecular/biochemical information defining biological characteristics at the systems, organ, or cellular levels. Imaging plays an increasingly important role in evaluation and treatment of illness and disease. Eventually, imaging will become more ubiquitous, which will, in turn, produce new scientific specialties relying on combinations of specific technologies, medicine, and computation. Furthermore, due to its relevance, IP has been consistently viewed as an important area of research in the engineering curriculum, and as a result, graduate courses in this field are offered by most academic institutions, with other institutions offering introductory course in IP even at the undergraduate level. Unrelenting progress in this area has therefore created new opportunities and challenges in software and hardware-oriented applications. There is a large variety of Windows-based tools on the market devoted to digital IP issues. A few of them are cited below: Adobe Photoshop (from Adobe Systems, Inc.) is the most popular application for painting and IP [2]. This professional tool is easy to use, and its functionality gives students and faculty almost unlimited power within the realm of computer-based image manipulations. CorelDraw Graphics Suite (from Corel Corporation), an ideal tool for both professional designers and business people, is a vector-based imaging software package that offers a comprehensive graphics solution [3]. Other industry-leading applications in IP featured by the same company are Corel Painter and Corel Paint Shop Pro that provide a wide range of graphics functionality. IQStudio (from Media Cybernetics, Inc.) is an imaging toolkit for developing sophisticated IP and analysis applications using advanced algorithms for processing, measurement, display, and reporting [4]. LeadTools (from LEAD Technologies, Inc.) has over many IP functions such as transforms, filters, and color conversion [5]. It also includes DICOM file format and communication support, which makes it very suitable for medical analysis. Smart Converter (from Acoll Software) is a multipurpose program for viewing, converting, and editing images, with a rich toolset, various effects, and filters [6]. It allows batch processing of large number of image files.
Despite their high demand, IP courses in academia [7] lack nonetheless enough free educational software, with the exception of a few [810]. In addition, although most of the tools currently available on the market are very practical and produce impressive results, many of them are not very instructive as they do not provide the ‘‘know how’’ or pseudo code for IP commands. Learners develop a mental image of the visual effect associated with each command; however, the algorithms behind the commands remain hidden to them. The premise here is that in a proper learning environment, effects as well as ‘‘know how’’ have to be made transparent to the students. The ideal educational tool for teaching IP should be: Convenient and user-friendly, that is, interaction with the computer should occur primarily through mouse clicks, making keyboard inputs rarely required. Open source should at least provide pseudo code for key application processes, such that learners can reproduce the commands in a different programming environment when desired. Freeware should be made accessible to students at educational institutions. Stand-alone application, that is, not being a tool box of another application. Simple to use such that users without programming skills can still use it. Creating a tool with the features described above was precisely the motivation for developing ImageLab, a stand-alone and user-friendly graphical user interface (GUI) developed for the Windows platform. This educationally oriented tool creates most of the common IP effects, many of them covered in wellestablished textbooks [11,12]. Written in Borland Delphi [13], ImageLab’s code is robust, fast, and computationally efficient. The Delphi programming environment was deemed appropriate because it provides a large library of efficient modules for creating charts and other graphical outputs.
IMAGELAB FEATURES The fundamentals of IP include transformations such as gray scale and negative conversion, filtering, enhancement, histogram equalization, histogram
TEACHING IMAGE PROCESSING
matching, and thresholding. These and additional operations can be performed in ImageLab, having in most cases a rich set of parameters for customization. The following IP commands are provided:
215
execution, the pseudo code that would be needed to generate the output image is visualized. Installation files are available for free download [14].
USER INTERFACE AND INTERACTION Basic operations (resize, magnify, rotate, translate). Color handling (negative, gray scale, color enhancement, color reassignment, color model). Histogram techniques (image histogram, histogram equalization, histogram matching). Thresholding. Space filtering (kernels filters, operator filters, general IIR filter). Frequency filtering (ideal filter, Butterworth filter, Gaussian filter, Laplacian-of-Gaussian filter). Fourier transforms (1D, 2D). Signatures. Fractals. ImageLab is so convenient that it only requires mouse clicks to process an image. After command
ImageLab’s main window is divided into three panels as shown in Figure 1. Input and output images are shown in the left panel. This panel also shows a matrix containing the color values of each pixel of the input image as well as the Fourier spectrum image of the input image. The IP commands are located in the middle panel in an expanded tree view. Options to customize all commands are in the right panel. A small main menu bar, a toolbar, and a status bar complete the appearance of the main window. User interaction is performed mainly via mouse clicks, and the flow of actions is organized in two major blocks: one for image visualization and the other for command options. Image visualization is on the left panel and shows original image and output image separately. The result of a command execution
Figure 1 ImageLab’s main window showing an MRI image and the result of executing
the edge detection command for ventricle segmentation.
216
AYALA ET AL.
is by default visualized as an output image but it also can be shown in the original image for contrast purposes. Some of the results can only be visualized on the original image as it is the case with region translation. Main menu and tool bar provide shortcuts for loading and saving images as well as to most of the commands. A command tree separates image visualization from command options and allows users to navigate through it. When a specific command is selected from the tree, the right panel visualizes only the options related to the command specified for the user to interact with them. Interaction with this panel will perform the operation and create an output image, which will be placed in the left panel.
OPERATIONS COMMANDS Basic Commands Basic IP operations considered in ImageLab are resizing, magnifying, scaling, rotating, and translating. Available options are compiled and depicted in Figure 2. The resizing command allows changing the image size without stretching or shrinking it. Despite the fact that this simple operation can be realized by any common IP tool (e.g., MS Paint) it is provided here such that images can be brought to a proper size prior to running some operators. For example, operators for edge detection and blurring work on frequency spectra. As explained in Frequency Spectrum Section, the image spectrum is the result of the Fourier transform (FT) of an image. However, image
size is an issue for this transform due to imposing processing time. For instance, for an image of size 1,024 768 a Pentium microprocessor running at 3 GHz would require several minutes to run the FT. To overcome this limitation, a fast algorithm based on the decimation technique known as the Fast Fourier Transform (FFT) was developed years ago. The only requirement for the use of the FFT is that image dimensions have to be a power of 2. Therefore, providing a resizing command would be very convenient. Magnifying images performs in and out zooming while keeping the image size constant. The center of the zooming operation is called the reference point and can be manually selected by clicking on a desired point of the image. Scaling is provided as a special case of magnifying. This operation is equivalent to magnifying the image while keeping the reference point at the upper left corner. It is similar to stretching or shrinking the image without changing its original size. Rotating allows rotation of the image by a specified angle. Vertical and horizontal flipping can also be performed. The translating command performs a translation of rectangular parts of the image, similar to the copy and paste command. Before performing this command, a rectangular region in the image has to be defined by dragging the mouse from the upper left to the lower right corner of the region.
Color Handling Color commands provided in ImageLab are negative, gray scaling, color enhancement, color reassignment,
Figure 2 A compilation of the basic commands showing options for customization.
TEACHING IMAGE PROCESSING
217
amount D: Pnew ðx; yÞ ¼ Pold ðx; yÞ þ D
ð6Þ
The color reassignment command allows replacing a given color by another one for each pixel. The color model change converts the image from the RGB color model to the CMYK model and vice versa.
Histogram Techniques
Figure 3 Interaction panels for color handling rou-
tines.
and color model change. Figure 3 provides a snapshot of the corresponding interaction panels. ImageLab’s most commands are performed on each color level separately. Colors are read from the bitmap as a specific 3-byte hexadecimal number representing RGB color intensities for blue, green, and red, respectively. The value $FF0000 represents full-intensity, pure blue; $00FF00 is pure green; and $0000FF is pure red. $000000 is black and $FFFFFF is white. Each pixel’s plane color level is extracted from the color number RGB (x, y) of the bitmap following the following equation: Rðx; yÞ ¼ RGBðx; yÞ
and $000000FF
ð1Þ
Gðx; yÞ ¼ ðRGBðx; yÞ and $00FF00Þshr 8
ð2Þ
Bðx; yÞ ¼ ðRGBðx; yÞ and $FF0000Þshr 16
ð3Þ
The negative command produces the negative of the image. This command is performed simultaneously for the three-color planes (RGB) as follows: Pnew ðx; yÞ ¼ 255 Pold ðx; yÞ
ð4Þ
where Pnew and Pold represent planes in the R, G, or B domain after and before the correction, respectively. The gray scaling operation creates an average pixel color value based on the color information obtained for each color plane and replaces all color plane values (P) by the same average value: 1 Pnew ðx; yÞ ¼ ½Rold ðx; yÞ þ Gold ðx; yÞ þ Bold ðx; yÞ 3 ð5Þ The color enhancement command works on individual color planes (P), increasing or decreasing the plane color value on the color model by a specified
The histogram of an image tells how the pixel values are distributed. It is mostly used to recognize background or noise such that they can be removed from an image. ImageLab extracts the histogram from an image with the image histogram command. The histogram is plotted for each color plane. The histogram equalization (Fig. 4) command generates an output image whose histogram is the closest possible to a flat line. This is done based on the original histogram. The image can be changed to comply with a specified histogram using histogram matching (Fig. 5) command. This operation provides an area for the user to draw a histogram. Based on the drawn histogram, the pixel color intensities are re-distributed in the output image such that the histogram of that image will be similar to the one previously drawn by the user.
Thresholding Thresholding can be seen as a band pass filter operation that evaluates and changes each image pixel’s color based on its membership to a range of color values. The most commonly used thresholding procedure is to set all pixel values to 0 whose colors are beyond (or above) a specified level. Thresholding is a powerful operation widely implemented in the medical field with significant implications [1517]. For example, in magnetic resonance imaging (MRI), using appropriate values can help removing unwanted noise from the images that hides lesions or malformations. ImageLab customizes thresholding by allowing program users to define: Three color intervals (below range, in range, and above range). Replacement color. Color planes of interest. Introducing three thresholds enhances thresholding as it allows color replacement to be performed
218
AYALA ET AL.
Figure 4 Histogram equalization command in execution applied to an MRI transaxial
slice of a healthy subject. Note that the resulting histogram is not fully flat due to color gaps in the original image (Medical image courtesy of Miami Children’s Hospital).
Figure 5 Resulting image after histogram matching applied to an MRI transaxial slice of
a healthy subject. Desired and actual histograms are on the options panel to the right.
TEACHING IMAGE PROCESSING
not only in a specified interval but also above and below this interval. This interesting feature permits performing several thresholding operations at the same time. As depicted in Figure 6, side effects such as edge detection can be appreciated by using this option, when appropriate intervals are chosen. By changing to predefined values colors that do not meet specified criteria, ImageLab performs a hard thresholding.
Filtering One of the most common image operations is filtering. Filtering is applied for a variety of reasons, among of them smoothing, edge detection, blurring, segmentation, etc. The filtering algorithms provided by ImageLab are mainly preformed in two different ways: scrolling a window over the image or manipulating its frequency spectrum. When the window is moved, its matrix elements are convolved with the image to compute an output pixel at the center of the window. This convolution in space can be considered the closest to real-time filters
219
since it operates on the image data without extracting its feature spectrum. It is possible to obtain effects such as blurring, edge detection, and the like by choosing the proper elements of the convolution matrix. ImageLab offers five different options to convolve the image: 3 3 kernels: This command convolves the input image with a 3 3 matrix. A set of predefined values can be chosen from a list of operations such as blurring and edge detection. N N kernels: This operation provides a higher order square matrix. Users can freely enter the elements of this matrix. 3 3 operators: This command performs the Prewit, Sobel, and Kirsh operator convolutions. As opposed to the options above, where the matrix consists of elements, these are predefined functions whose parameters are the pixel values in the original image. These are mainly edge detection operators. Walsh: It convolves the image with a Walsh kernel matrix.
Figure 6 Thresholding window showing available options. Note how multi-thresholding
the image according to the three-color ranges defined creates an edge detection effect on the resulting image (Medical image courtesy of Miami’s Baptist Hospital).
220
AYALA ET AL.
Haar: It convolves the image with a Haar kernel matrix. General IIR filter: This option applies a general infinite impulse response filter to the image in the horizontal and vertical direction, providing tables to enter the filter forward and feedback coefficients. Additional to convolving the image with matrixes, ImageLab offers an alternative way of filtering by manipulating the image’s frequency spectrum and performing hard and soft thresholding. Filtering in frequency is based upon extracting the frequency spectrum from the image, transforming (soft thresholding) or cutting (hard thresholding) the desired frequencies in the frequency domain, and then reconstructing the image from the edited frequency spectrum. The options provided by ImageLab to perform frequency filtering are: Ideal filter: It performs an ideal filtering by cutting the undesired frequencies in the frequency domain. Butterworth filter: It applies a Butterworth filter to the image. Gaussian filter: It performs edge detection on the image by applying a Gaussian filter. Laplacian-of-Gaussian filter: It performs blurring on the image by applying a Laplacian-ofGaussian filter. From the above list, ideal filtering performs a hard frequency thresholding, in contrast to the soft frequency thresholding performed by the last three filters. Frequency filtering is generally a time-consuming operation because it involves computing the FT. The computational time required increases exponentially with the image size. For example, on a Pentium 4 CPU running at 3 GHz, the FT of a 16 16 pixel image consumes 109 ms, but it requires in turn up to 24 min for a 256 256 pixel image. The fast algorithm of the FT (FFT) used in this tool is an implementation of the radix-2 algorithm. It runs 7 times faster for a 16 16 image. For sizes of 32 32, 64 64, 128 128, and 256 256, the FFT runs 9, 45, 65, and 698 times faster, respectively. A practical limitation of the radix-2 algorithm is that the image dimensions have to be a power of 2. To be able to run the FFT on images that do not meet this requirement, ImageLab internally enlarges the image sizes to the next power of 2 in each dimension and then disregard the back-transformation image portions that are beyond the original image sizes. This
introduces small changes in the real Fourier spectrum of the original image due to frequency alterations. These changes are not corrected in ImageLab; however, the price paid is overcompensated by the remarkable increase in speed during the filtering operations.
Frequency Spectrum The Fourier Spectrum of an image can be generated in ImageLab with a slow FT algorithm or a FFT algorithm. The FFT algorithm in ImageLab is an implementation of the radix-2 algorithm and for that reason it can be only applied on images whose dimensions are a power of 2. As opposed to the FFT algorithm, the FT algorithm on images whose dimensions are not a power of 2 can take a considerable time; however, enlarging the image dimensions to meet this requirement and applying the FFT alter the original frequency spectrum. The program user should decide whether to enlarge the image size or not. If the input image is a spectrum itself, the original image can be reconstructed by selecting the desired direction (Fig. 7). The spectrum of the image is always computed as a preprocessing step in all frequency filtering commands and placed in the spectrum tab window.
Signatures This command computes and visualizes the signature of the image. It also provides other visualization options as can be viewed in the interface. An example of a signature of a brain image is shown in Figure 8, where patterns similar to the source image can be distinguished. The signature process is a very important one since the log-polar plot associated with the signature can make changes in object size and orientation appear as shifts in the x and y directions, depending on the set up of the interface.
Fractals Fractals are fragmented geometric shapes that can be subdivided in parts, each of which is a reduced copy of the whole [18]. Fractals contain a large degree of self-similarity. ImageLab provides a fractal interaction panel where users can try different fractals using commonly available Mandelbrot and Julia sets [19,20], but also experiment their own formulas. Images loaded can be set as orbit traps and color gradients can be specified by drawing a line over a 2D color gradient surface. To avoid gaps in the color
TEACHING IMAGE PROCESSING
221
Figure 7 Fourier spectrum generation. Note that the processing is performed on the three
RGB color levels. [Color figure can be viewed in the online issue, which is available at www.interscience.wiley.com.] assignments, once an extreme of the gradient line is reached, further colors will be read in the opposite direction, that is, a back-and-forth process along the line as many times as needed. This will create the impression of a smooth color transition (Fig. 9).
CODE INSIGHT For learning support, ImageLab provides scripts every time a command is executed. Since the programming platform is based on object PASCAL [21], a high-level language developed to overcome the complexity of C, the pseudo code given in ImageLab follows the PASCAL notation. The script is placed in a panel located on the lower right of the window and updated at command execution. The code lists the main sequence of
operations, starting with reading the image and ending with result visualization. Figure 10 shows the script for the signature of an image. This ability is perhaps one of the most important features of ImageLab that makes it highly attractive. With such a feature, users could see the potential of other more complex IP applications such as deconvolution [22] and be able to visualize in direct relation to the results obtained the meaning and usefulness of the different frequencies under different transformations [23].
CONCLUSIONS Software applications in IP technology overwhelm the market nowadays. With impressive visualization effects and high performance, their number is
222
AYALA ET AL.
Figure 8 Signature of an image, as generated by ImageLab. The resulting image is 360
pixels high.
continuously growing in both scope and function, and interested users struggle to come to terms with the continued success and advances in information technology. The ImageLab’s GUI proposed in this research endeavor provides a list of basic commands and options necessary to free users from the time constraints required for learning the fundamentals of IP. The design of the interface is kept simple but yet its purpose remains powerful and highly practical for inexperienced users. This interface has been used
successfully for experimental evaluations and for project assignments in both biomedical and computer engineering classes here at Florida International University. ImageLab is viewed as an original solution that fully meets the standards of an educational tool in the area of IP. Its merit does not rely solely on the algorithms provided, but extends to the ease of use by inexperienced users in order to enhance their research potential. The following major features make ImageLab highly competitive and easily accessible:
TEACHING IMAGE PROCESSING
223
Figure 9 Mandelbrot set generated by ImageLab. Input images play the role of orbit
traps. Note the gradient panel to specify the coloring algorithm. It is a stand-alone application. It complies with common course outlines so it can be used with most of the academic textbooks. It provides the pseudo code behind the various IP commands. It is also free of charge which makes it both more attractive and convenient. These features make this interface a unique and appealing tool for educational purposes. Future enhancements will have to come in support of image analysis tasks to extend the functional scope of this interface beyond the processing steps that it offers. Practical commands are now being implemented for medical applications and include pattern recognition/
Figure 10 History panel showing pseudo code used in performing the signature command.
classification algorithms augmented with artificial neural networks.
ACKNOWLEDGMENTS The authors appreciate the support provided by the National Science Foundation under grants HRD0317692, CNS-0426125, CNS-0520811, CNS-0540592, and IIS-0308155. The authors are also thankful for the clinical support provided through the Ware Foundation and the joint Neuro-Engineering Program with Miami Children’s Hospital.
REFERENCES [1] K. R. Castleman, Digital image processing, Prentice Hall, Upper Saddle River, NJ, 1996. [2] L. U. Fuller and D. McClelland, Photoshop CS2 bible, Wiley Publishing, Inc., Indianapolis, IN, 2005. [3] D. Huss and G. W. Priester, CorelDRAW studio techniques, McGraw-Hill Companies, USA, 1998. [4] Media Cybernetics, Inc., Develop image analysis solutions with IQstudio, Scientific Computing and Instrumentation, Reed Business, 2004. Available at: http://www.scientificcomputing.com/default.aspx. [5] LeadTechnologies, LeadTools software Charlotte, NC. Available at: http://www.leadtools.co.uk/.
224
AYALA ET AL.
[6] Acoll Software, SmartConverter software 20022005, Seattle, WA. Available at: http://www.smartconverter. com/. [7] FIU, Florida International University’s image processing course outline. Available at: http://www.cate.fiu. edu/Courses/EEL-5820/index.htm. [8] A. Simon and M. Adjouadi, A programming tool for enhancing the teaching of image processing, Comput Educ J 17 (2007), 8594. [9] M. Adjouadi and M. Ayala, Introducing neural studio: An artificial neural networks simulator for educational purposes, Comput Educ J 14 (2004), 3340. [10] M. Rossman, M. Adjouadi, M. Ayala, and I. Yaylali, An interactive interface for seizure focus localization using SPECT image analysis, Comput Biol Med 36 (2006), 7088. [11] R. C. Gonzalez and R. E. Woods, Digital image processing, 2nd edition, Prentice Hall USA, 2002. [12] W. K. Pratt, Digital image processing, 3rd edition, John Wiley & Sons, Inc., Hoboken, NJ, 2001. [13] X. Pacheco and S. D. Teixeira, Intersimone, Delphi 6 developer’s guide (SAMS, 2001). [14] ATE Lab’s software development, Available at: http:// www.cate.fiu.edu/soft.html. [15] D. Sanchez, M. Adjouadi, B. Bernal, and N. Altman, Three-dimensional technique for automatic brain segmentation of the ventricles based on optimal histogram thresholds of MRI, WSEAS Trans Comput 4 (2005), 744749.
[16] M. Adjouadi, M. Cabrerizo, M. Ayala, D. Sanchez, P. Jayakar, I. Yaylali, and A. Barreto, Detection of interictal spikes and artifactual data through orthogonal transformations, J Clin Neurophysiol 22 (2005), 5364. [17] M. Adjouadi, D. Sanchez, M. Cabrerizo, M. Ayala, P. Jayakar, I. Yaylali, and A. Barreto, Interictal spike detection using the Walsh transform, IEEE Trans Biomed Eng 51 (2004), 868873. [18] R. Stevens, Creating fractals (Graphics Series), Charles River Media, Inc., 2005. [19] B. B. Mandelbrot, The fractal geometry of nature. W. H. Freeman, New York, 1982. [20] A. Douady, Julia sets and the Mandelbrot set, In: H.-O. Peitgen , and D. H. Richter, editors. The beauty of fractals: Images of complex dynamical systems, Springer-Verlag, Berlin, 1986, p 161. [21] W. Rachele, Learn object Pascal with Delphi, Wordware Publishing, USA, 2000. [22] M. Alonso, A. Barreto, J. G. Cremades, J. Jacko, and M. Adjouadi, Image pre-compensation to facilitate computer access for users with refractive errors, Behav Inform Technol 24 (2005), 161173. [23] M. Cabrerizo, M. Adjouadi, M. Ayala, K. Nunez, P. Jayakar, and I. Yaylali, Integrated study of topographical functional based on an auditory-comprehension paradigm using an eigensystem study and spectrum analysis, Brain Topography 17 (2005), 151163.
BIOGRAPHIES Melvin Ayala received his Bachelor’s degree in Industrial Engineering from the University of Applied Sciences in Zittau (Germany) in 1984. After that he obtained his PhD degree from the same institution in 1987. He has been a visiting professor and has done research and consulting abroad. He has authored publications related to software engineering, artificial intelligence, and biomedical signal processing. Presently, he is a research associate at the Center for Advanced Technology and Education from Florida International University.
Malek Adjouadi is a Professor in the Electrical and Computer Engineering Department with a joint appointment with the Biomedical Engineering at Florida International University. He is the director of the Center for Advanced Technology and Education funded by the National Science Foundation since 1993. He received his BS degree from Oklahoma State University and his MS and PhD degrees all in EE from the University of Florida. Malek is also co-leading the joint neuro-engineering program between FIU and Miami Children’s Hospital. His research interests are in machine vision applications, biomedical imaging, and interfaces to help persons with visual and motor disabilities.
Mercedes Cabrerizo received her BS (Magna Cum Laude) and MS degrees in Computer Engineering, and her PhD degree in Electrical Engineering all from FIU. Her PhD work was entitled ‘‘Subdural electroencephalogram analysis for extracting discriminating measures in epileptogenic data.’’ In 2002, Mercedes obtained the prestigious National Science Foundation Graduate Fellowship in pursuit of her PhD degree. She is now a postdoctoral scientist with the Brain Institute at Miami Children’s Hospital. She is a member of Eta Kappa Nu Electrical Engineering Honor Society and the Tau Beta Pi Association. Armando Barreto is an Associate Professor in both the departments of Electrical & Computer Engineering and Biomedical Engineering at Florida International University (FIU), in Miami, Florida. He is the director of the Digital Signal Processing (DSP) Laboratory at FIU. Dr. Barreto’s academic background is originally in Electrical Engineering: BS Degree from UNAM, Mexico (1987), MS Degree from FIU (1989), and PhD Degree from The University of Florida, Gainesville (1993). Dr. Barreto has sought the application of digital signal and image processing techniques for the development of devices and systems that may facilitate humancomputer interaction.