Frame Grabbers
Rick Nelson, Contributing Editor
As personal-computer technology strengthens its hold on 32-bit applications, imaging systems are benefiting. PC technologies` in roads to improved 32-bit performance are diverse, ranging from increases in microprocessor power to gains in operating-system sophistication and user-interface simplicity.
For example, Intel Pentium-class processors are giving PCs super- pipelined capabilities at rates to 100 Mips and up--levels that were once restricted to expensive RISC workstations.
And the Microsoft Windows NT and Windows 95 operating systems are bringing true 32-bit file-system support and pre-emptive multithreading and multitasking to PC pro-grams, eliminating the 16-bit constraints of the underlying MS-DOS operating system on previous versions of Windows.
But for I/O intensive imaging applications, perhaps the most significant innovation is the Peripheral Component Interconnect (PCI), a 32/64-bit, 33-MHz local bus developed by Intel (Santa Clara, CA) for use on personal-computer printed-circuit boards. The PCI bus can transfer digitized image data at burst rates of more than 130 Mbyte/s.
What`s more, vendors of machine-vision equipment gain these performance improvements at low costs by leveraging the volume production discounts of off-the-shelf PC equipment. But exploiting the favorable price/performance levels of such equipment can prove challenging, because the hottest products on the shelf today may be obsolete within months or weeks.
One firm rising to the challenge is Perception Inc. (Miami, Florida), which develops and manufactures PC-based ultrasound imaging systems. The company has been shipping EISA (Extended Industry Standard Architecture) systems but is now upgrading to the PCI bus to take advantage of PCI`s eight-fold speed improvement.
A key to Perception`s upgrade strategy is the Pulsar frame grabber (see Fig. 1) and MIL-32 Matrox Imaging Library from Matrox Imaging Products Group (Dorval, Quebec, Canada). The Pulsar handles image capture, transfer, and display chores, providing real-time system access to the image data. The library provides optimized code for image-processing functions.
According to Martin E. Doyle, Perception`s chairman and CEO, his engineers would constantly monitor frame-grabber products, plugging in the one with the best price/performance as each system goes out the door.
In reality, he notes, that`s not possible. Perception`s proprietary software can not be sufficiently encapsulated to work without modification with any vendor`s board, and innovation occurs much too quickly to track each minor improvement. The key, he says, is to identify major functional improvements and make the jump then--either to a present vendor`s next-generation boards or to another vendor`s implementation.
Doyle says the move from EISA to PCI was such a jump, and the firm decided to begin the move from Matrox`s Magic EISA frame grabber to the PCI-based Pulsar.
Perception shipped the first clinical evaluation units of its PCI-based HRS Scanner System, shown in Fig. 2, last November. At that time, Albert Vara, Perception`s chief software engineer, said, "We selected the Matrox video card because it offers superior resolution and because of the ease of integrating the MIL software with our own Virtual Console," the firm`s trademarked user interface. Vara maintains his favorable view of the Matrox products today as evaluation and development efforts proceed.
The Virtual Console, built using Microsoft Visual Basic 4.0 running under Windows NT 3.51, provides touch-screen or mouse point-and- click control of image capture, contrast and brightness adjustments, image measurements, and insertion of annotations.
Because it replaces hardware-based knobs, levers, and switches with software-generated virtual knobs, the Virtual Console improves system reliability. In addition, the software approach makes custom configuration easy, so Perception can tailor the system to user requirements, including type of diagnostic procedure, remote or on-site image interpretation, and various languages.
Supporting a key feature
The Virtual Console is a key technology for Perception--it`s a major selling point, it is attractive to the company`s customers, and it is widely recognized as a top-notch user-interface implementation. In fact, last fall, the Virtual Console was highlighted by Microsoft as part of its "Developer Days" satellite broadcasts, and Jon Roskill, director of Microsoft`s Visual Basic Marketing, called it an "innovative and exciting use of Visual Basic 4.0."
Consequently, whatever approach Perception took toward migration to the PCI bus had to mesh smoothly with the Virtual Console while providing a video window for the acquired ultrasound image. Vara says that an approach involving successive video calls, requiring perhaps 20 calls per second, would be processor-intensive and too slow.
He chose a display-overlay approach, in which the necessary calculations take place in background without bogging down the processor or adversely affecting the displayed ultrasound image. In support of this approach, the Pulsar includes an overlay frame buffer to enable non-destructive overlay of text, video, and graphics windows.
Ensuring smooth migration
Now, says Vara, Perception is "about three quarters of the way" toward PCI-based production units. And as the project proceeds, he is laying a smooth path toward continually better price/performance as new generations of PCs and frame grabbers come the market.
The PCI bus is, of course, a key part of that strategy, leaving room to switch to other boards for the popular bus, from either Matrox or others, with minimal disruption in software design or hardware configuration. Another factor is the use of Visual Basic, which assures compatibility with future versions of Windows, which in turn will support processor upgrades (see "Development environments for imaging applications," p. 44).
Not all aspects of the design, however, are amenable to ubiquitous standard products like the Windows operating system and Pentium processor. Complex image-processing software procedures remain embedded in each image-board maker`s proprietary software libraries.
For the Pulsar board, that library is the MIL-32 Matrox Imaging Library, which includes 32-bit optimized commands written in C for image-processing, pattern-matching, blob-analysis, gauge-and- measurement, graphics, and, optionally, optical-character- recognition tasks (see Fig. 3). In addition, it handles allocation of data-buffer, digitizing, display, and application resources.
Perception now has beta-site PCI-based units undergoing evaluation and the company is nearing production for international units. Versions for the US market will await US Food and Drug Administration approval. As the project proceeds, the company is planning better price/performance as new generations of PCs and frame grabbers come to market.
By Rick Nelson, Contributing Editor
FIGURE 1. Frame grabbers such as Matrox`s Pulsar speed image data over the PCI bus.
FIGURE 2. The PCI bus is key to the capture and display of ultrasound images. A secondary PCI bus offloads video to graphics-controller data transfer from the host bus.
FIGURE 3. The Matrox Imaging Library includes high-level optimized C functions for techniques like blob analysis. Here, a module locates centers of gravity.
Hints for successful frame-grabber integration
Integrating a frame grabber presents many decisions, and Al Vara, chief software engineer at Perception Inc. (Miami, Florida), has faced most of them as he has applied EISA and PCI-Bus frame grabbers to ultrasound-imaging applications. He has these suggestions for OEMs:
M Make sure the vendor`s image-processing function library is complete. You can`t and don`t want to write the hardware-dependent code yourself.
M Make sure the vendor provides consistent function calls across its entire line of frame grabbers. That will help ensure smooth upgrades.
M Determine which frame-grabber approach to take. An integrated acquisition and display-controller architecture frees up card slots and off-loads the host bus from acquisition/ display transfers, but it marries you to the video controller of the frame-grabber vendor.
In contrast, a bus-master frame grabber frees you to select your, or your customer`s, choice of display controller, at the cost of an additional slot and increased host bus traffic. (A third approach is the 8-bit feature connector, which severely restricts color depth and which Vara doesn`t recommend for new designs.)
M Encapsulate as much code as you can. That will simplify porting to other platforms should the need arise.
M Make sure the vendor offers good technical support. Ask for references. "You`ll run into problems the vendor never thought of," says Vara, so prompt, accurate support is invaluable.
Development environments for imaging applications
As sophisticated image-processing applications move to desktop computers, development tools such as Microsoft`s Visual Basic will become increasingly important. Such tools can speed products to market while providing easy-to-use and fully customizable GUIs. They can serve in applications ranging from go/no-go testing to real-time, interactive control of image acquisition.
Medical ultrasound imaging is an example of the later. A technician bearing an ultrasound wand must make continual decisions based on observed real-time images. Technicians traditionally controlled ultrasound functions via expensive, trouble-prone arrays of knobs and dials.
Perception has streamlined the user interface with its Virtual Console based on Visual Basic 4.0. The console`s virtual knobs appear on a computer screen surrounding a video window showing the ultrasound image. The console can be customized for a specific language, diagnostic procedure, or even a technician`s preference for knobs or sliders. During an examination, the technician can use the console to control image capture and annotation and adjust contrast and brightness.
Visual Basic lets you generate icons for knobs and dials, monitor operator`s commands, and process and store the resulting data. But Visual Basic cannot provide real-time control of hardware-specific features of a particular frame grabber. Consequently, Matrox provides its Matrox Imaging Library, or MIL, a C library of optimized image-processing functions tailored to its frame grabbers.
MIL functions can be called from within a Visual Basic window. The code below displays MIL image-buffer contents when an operator clicks on a "Show Image" Visual Basic icon:
/*VBASIC function definition.*/Private Sub ShowImage_Click()
/*Open a window showing the empty ImageDisplayForm.*/ImageDisplayForm.Show
/*Display the MIL image in the window.*/Call MvgaDispSelectClientArea(MilDisplay, MilImage, ImageDisplayForm.hWnd)
Here, the single MIL command MvgaDispSelectClientArea handles the operations required for image display. Other MIL commands handle functions ranging from buffer allocation to optical character recognition.
Programming environments are only part of the story for imaging applications on PCs. OSs must also be considered. Windows NT and Windows 95 both purport to bring 32-bit performance to the desktop, and Windows 95 might appear to be the cost-effective choice. Windows NT ensures that multiple tasks have access to OS resources during their share of CPU time, while Windows 95 may deny access to some tasks or threads. Furthermore, Windows NT provides platform independence, smoothing the way for migration to processors such as Digital`s 64-bit Alpha.
A user interface developed using Visual Basic provides the tools for capturing and analyzing ultrasound images.