MEDICAL IMAGING - FPGA-based processing transforms high-speed OCT
In medical image-processing systems such as those used for retinal imaging, 3-D images need to be generated at high speeds. One of the most common techniques is optical coherence tomography (OCT), an optical signal-processing method that uses relatively long-wavelength light (on the order of 800 nm) to penetrate the object to be examined. In OCT systems, this light is first optically split into two paths: a sample path used to illuminate the object and reference path.
Light reflected from the object is combined with the reference beam, resulting in an interference pattern. This interference pattern contains information that can be used to generate sub-surface images of translucent or opaque materials. In simple 1-D versions of this technique, a point light source is used to illuminate an object. Combining the data with the reference path then produces an interference pattern over a specific narrow wavelength.
“In systems designed to image the eye and skin,” says Brent Runnels, senior systems engineer at National Instruments (Austin, TX, USA), “the narrow wavelength used is between 780–880 nm.” To generate an image showing the structures below the surface, the reference is first subtracted from the wavelengths reflected from the sample path, resulting in a fringe data pattern in wavelength space.
To compute the amplitude of the signal at each point, the data are first converted to frequency space and an inverse fast Fourier transform (IFFT) performed on the signal. This process results in a signal that represents the amplitude at different depths within the sample. The point light source is scanned in x and y directions across the sample and, at each point, the same signal processing must be performed in order to build a 3-D image of the structure. In such systems, the interference pattern generated must be digitized and processed at high speed.
Runnels and his colleagues have recently shown a LabVIEW-based implementation of software to perform this task. In a demonstration of the technique’s capability, National Instruments recently showed how the system could be used with a 140-kHz, 4k × 1-pixel Sprint linescan camera from Basler (Ahrensburg, Germany) to perform OCT. Implemented in LabVIEW FPGA, spectral interference images are first captured by the camera at data rates as fast as 560 Msamples/s.
Spectral data captured by the camera are transferred to an NI 1483 Camera Link adapter module that is attached to an NI FlexRIO FPGA module. After the reference signal is subtracted from the acquired signal, the wavelength-based data are transformed into frequency space by a nonuniform interpolation and resampling. Since an IFFT must be performed on the 4k × 1-pixel data at 560 Msamples/s, multiple temporary buffers are assigned to store the data in the FPGA in a round-robin fashion as the data are captured, enabling the parallel processing strengths of the FPGA to be utilized.
“By performing an IFFT using five parallel processing paths, each operating at 120 MHz in the FPGA,” says Runnels, “the throughput of the system can easily be maintained.” After each IFFT is performed, the data are transferred via direct memory access (DMA) to the host computer where they are reconstructed into a 2-D cross-sectional scan (see figure), and where they can be further reconstructed into a 3-D volume scan. The data can then be displayed and manipulated in real time using 3-D modeling software.
To date, the software has already found use in a major university in Texas that is developing OCT-based systems. According to Runnels, implementing the code in an FPGA has led to a 50× speed improvement over conventional coding of the algorithm. NI is offering a free version coded in LabVIEW FPGA on its company web site to promote the software more widely.