Multiscale AM-FM decompositions with GPU acceleration for diabetic retinopathy screening

Cesar Carranza, Victor Murray, Marios S. Pattichis, E. Simon Barriga

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

13 Scopus citations


A Computer Aided Diagnosis system based on multiscale amplitude-modulation frequency-modulation (AM-FM) methods has been recently developed for discriminating between normal and pathological retinal images. The original Matlab implementation of this system required large amounts of computational time and memory resources that would not permit real-time patient consultation. In this manuscript, we present a new implementation of the multiscale AM-FM decomposition, converted from MATLAB code into C/CUDA (Compute Unified Device Architecture) code, in order to take advantage of the graphics processing units (GPU) to significantly reduce the running time and memory resources. To perform the AM-FM decomposition at high speed, the original image is read into the main memory (host side, in the personal computer) and transferred to the global memory in the CUDA card (device side, the GPU), where the AMFM decomposition is computed at thirteen different frequency scales. The results are transferred back to the host and saved in the local hard drive. The intensive mathematical operations are parallelized to achieve maximum utilization of the CUDA card. This new implementation runs 20 times faster than an optimized, parallel implementation in MATLAB running on an personal computer with an Intel Xeon Processor W3520, and the memory requirement is reduced from 4GB to below 0.9GB for images of 2252 × 1996 pixels or smaller. The required resources for the new implementation can be found in entry-level CUDA cards that are currently available. © 2012 IEEE.
Original languageSpanish
Title of host publicationProceedings of the IEEE Southwest Symposium on Image Analysis and Interpretation
Number of pages4
StatePublished - 2 Jul 2012
Externally publishedYes

Cite this