Abstract
Low-cost image processing systems which can provide convenient access to image processing and analysis techniques hold great potential as diagnostic and research tools in medical imaging. At the University of Washington, we have developed a PC-based medium performance image processing system for use as an experimental radiological workstation. The workstation uses a standard IBM PC/AT personal computer augmented with a custom designed image processor implemented on two IBM PC/AT prototyping boards. Features of the system include up to 52 512 × 512 × 8 bit frame buffers (4 on the image processor board and up to 48 in the host computer memory) and a 512 × 512 × 4 bit graphics overlay memory, hardware zoom, pan and scroll, pseudo coloring, and a 60 Hz noninterlaced display. Many image processing and analysis functions are provided in this workstation, and all user requests are supported in an interactive fashion. For example, arithmetic and logical point operations between two 512 × 512 frame buffers require approximately 170 ms, while computationally intensive functions such as an 11 × 11 convolution or a full screen geometric transformation (warping) can be completed in less than 10 seconds. A full screen 2-D Fast Fourier Transform (FFT) and Inverse FFT (IFFT) based on the row-column method can be completed in less than 20 seconds. The developed system can easily be configured into a DIN/PACS workstation or a biological imaging system. Hardware and software details of this workstation as well as user interface functions implemented will be discussed in the paper.
INTRODUCTION
AN IMAGING WORKSTATION designed for radiology differs from a standard engineering workstation in that a radiology workstation is primarily designed to display, analyze, and process gray scale images. Engineering workstations are normally more oriented towards computer graphics applications where images are generated from descriptions or mathematical models. Color or gray scale resolution is generally low (2 to 6 bits). Conversely, the radiology workstation must support a much better gray scale resolution (8 bits or more) and computer graphics techniques are not generally required. However, a radiology workstation must be enhanced with a significant variety of image analysis and processing capabilities such as the following:
- point operations
- thresholding
- window and level
- pseudo color
arithmetic and logical operations
- geometric operations
- translation
- rotation
- noninteger zoom
- warping
- filtering
- convolution
- FFT and IFFT
- median filtering
- quantitative analysis
- region of interest analysis
- densitometry
- morphology
- texture analysis
- interactive editing
- annotation
- image parameter extraction
The radiology workstation must support these operations in an interactive way, i.e., without excessive delays. Additional issues such as image database and computer network communications hardware and software must be considered since a case folder can contain a considerable number of images. The final requirement is a friendly user interface to make the workstation convenient and easy to use.
There are currently many image processing systems available for use in clinical and research environments. These systems range in complexity from simple, inexpensive microcomputer systems to large sophisticated systems with dedicated image processing hardware. Until recently, good performance was limited to larger systems. However, the inflexibility and prohibitive cost of these systems limited their availability in medical imaging applications.
Workstation cost and performance considerations are important issues in the emerging Digital Imaging Network and Picture Archiving and Communications Systems (DIN/PACS).1 In the DIN/PACS environment, radiological images will be acquired digitally from various source modalities such as digital radiography, magnetic resonance imaging (MRI), X-ray computed tomography (CT), nuclear medicine, and others. Images will be stored in electronic archives and made available for use at radiological workstations via a high speed local area network. One of the key issues in DIN/PACS is the availability of a low-cost, medium performance workstation that can be easily integrated into the system.
Personal Computer (PC) based imaging workstations are very attractive for several reasons. One major advantage is that PC-based workstations can be more easily accepted because these workstations will not significantly alter operating procedures in the radiology department during the initial introductory phase. Additional advantages are that PC systems are relatively inexpensive, require little space or environmental considerations, and are already rapidly becoming ubiquitous in most offices. Peripheral equipment such as network and memory boards as well as a substantial software base are readily available from many sources. However, prior to recent advances in image processing hardware, PC-based systems were, for the most part, limited to digitizing and displaying images. PC-based interactive systems capable of computationally intensive image processing operations such as geometric functions, filtering, or quantitative analysis were not possible.
At the University of Washington, we have developed a prototype system for a PC-based radiology workstation which combines acceptable performance with low cost. The IBM PC/AT personal computer was chosen as the host computer for the system because the machine is in widespread use and is supported by a substantial variety of software and hardware vendors. A powerful image processing board set (UWGSP) was designed and built to improve performance in image processing applications.2,3 The host computer provides a friendly user interface between the image processor and the user, while the UWGSP uses powerful graphics and digital signal processors to manage and support the various functions required in a radiology workstation. The remainder of this paper will discuss the integrated workstation.
HARDWARE
The block diagram of the prototype PC-based radiology workstation is shown in Figure 1. The major components of the system consist of the following:
Host computer (IBM PC/AT)
UWGSP image processing system
Color multisync monitor
System monitor
Input devices
- Keyboard
- Mouse
- 9-track magnetic tape (optional)
Figure 1.

Radiology workstation block diagram.
The host computer operates with a variety of memory and disk configurations. The most common configuration consists of a standard PC/AT, augmented with 6 to 9 Mbytes of RAM, one 80 Mbyte hard disk, one 42 Mbyte hard disk, and a mouse. The current configuration also supports 9-track 1600/3200 bpi magnetic tape to transfer data from the source imaging modalities (e.g., X-ray CT and MRI) to the workstation.
The host system is configured so that 4 Mbytes of RAM is available to the Xenix operating system. In addition, 3 to 6 Mbytes of memory are allocated for image frame buffers in the host memory space. The host frame buffer memory is separated from the system memory and the Xenix operating system is unaware of its existence. The host frame buffers currently contain enough memory for 12 to 24 full 512 × 512 × 8 images. This can be increased up to a maximum of 12 Mbytes (48 images).
The UWGSP is implemented on two IBM prototype boards installed within the PC/AT. It is designed around two sophisticated special purpose VLSI microprocessors, the TMS34010 Graphics System Processor (GSP) and the TMS32020 Digital Signal Processor (DSP). Figure 2, the block diagram of the UWGSP, illustrates the major components of the UWGSP. These components are listed below:
TMS34010 Graphics System Processor (GSP)
TMS32020 Digital Signal Processor (DSP)
Local Memory (1.4 Mbytes)
Zoom logic
Display System
Figure 2.

UWGSP block diagram.
The TMS34010 GSP is an advanced microprocessor with internal features and an instruction set that has been optimized for graphics applications.4 Addressing is bit oriented and all data structures such as pixel size and frame size as well as display characteristics are defined in internal GSP control registers. This allows the GSP to be configured to support a wide variety of display devices and formats. The UWGSP is implemented to display an image of 512 × 512 pixels with 256 levels of gray. The display is refreshed at 60 Hz and is not interlaced.
The GSP operates with two independent buses.5 One bus, the host interface bus, allows the host computer to pass executable programs, operands, images, and commands to the UWGSP local memory. The second bus is a local bus that links the internal sections of the UWGSP together. The host initializes the UWGSP by transferring a GSP executable command decoder into the GSP program memory. The host then sends a reset to the GSP to start execution of the command decoder. Once a command has been issued to the GSP over the host bus, the host is free to pursue other functions as may be required, while the GSP decodes the command and executes the appropriate program on the UWGSP local bus.
Some functions such as convolution, geometric transforms, Fast Fourier Transforms (FFT), and Inverse FFT (IFFT) require a considerable amount of numerical computations. In applications where interactive performance is required, these calculations cannot be successfully implemented on either the GSP or the host computer (IBM PC/AT). To alleviate this problem, the TMS32020 DSP was chosen as a programmable high speed numeric coprocessor. As illustrated in Figure 2, The DSP has its own local bus complete with 16 kbytes of high speed RAM and 512 bytes of ROM containing a loader routine. The DSP is interfaced to the GSP through FIFO buffers to uncouple the DSP bus from the GSP local bus. In normal operation, the host will send the proper applications software to the DSP and then issue the desired command to the GSP. The GSP orchestrates the flow of data to and from the DSP when numeric coprocessor operations are required.
The UWGSP internal memory is linear and can be partitioned in an arbitrary fashion. The current assignment is as follows:
Workspace Buffers (3 × 512 × 512 × 8)
Video Buffer (512 × 512 × 8)
Graphics Overlay Buffer (512 × 512 × 4)
GSP Program Memory (128K × 16)
The three workspace buffers are used as cache memory for images. They contribute significantly to the performance of the UWGSP by maintaining intermediate results locally without destroying the original image. This greatly reduces the necessity of going to the host computer for image storage and retrieval. In addition, the GSP has 22 arithmetic and logic functions, such as add, subtract, and exclusive-or, that can be performed very efficiently on arbitrary blocks of pixels as long as both blocks are retained in local memory.
The video buffer and the graphics overlay buffer are implemented in dual port video RAM and contain the image to be displayed (gray scale and graphics). The video buffer has 8 bits/pixel for 256 levels of gray. The graphics buffer has 4 bits/pixel which are concatenated with the video to produce 12-bit pixels. The use of video RAM substantially increases the availability of the local bus because screen refresh data moves over a separate path to the digital to analog converter (DAC).
The pixel path between the video RAM and the DAC passes through the zoom hardware and the lookup tables. The zoom hardware allows the displayed video and graphics to be independently magnified in x and y by an integer value between 1 and 16. Hardware zoom replicates pixels to obtain the desired magnification and, unlike interpolated zoom, it can be supported in real time.
The lookup tables are implemented in high speed RAM and allow the stored pixel values in the video buffer to be mapped into a transformed output value. To support pseudo color and color graphics, three lookup tables are used, one each for red, green, and blue. The concatenated 12-bit pixels of video and graphics are applied as a common address to each of the three lookup tables. The 8-bit transformed outputs from the lookup tables are combined to form a 24-bit pixel that is converted in the DAC into red, green, and blue analog signals. These signals are displayed on a color monitor in 512 × 512 resolution. The monitor is refreshed at 60 Hz, noninterlaced to provide a solid display free from annoying flicker.
SOFTWARE
Software development represents a substantial investment in creating any useful image processing system. One goal in the prototype radiology workstation was to maximize the portability of the applications software between systems with different hardware configurations.5 To accomplish this, a hierarchical code structure was designed so that the hardware dependent code can be isolated into a small function library. The software structure is divided into logical layers as follows:
- Host Software
- Operating System
- Applications Software
- GSP Command Encoder
- Device Drivers
- UWGSP
- GSP Command Decoder
- GSP Functions
- DSP Functions
A block diagram of the software structures is shown in Figure 3. The Xenix operating system is used on the IBM PC/AT. Xenix was chosen over MS-DOS because Xenix is a much more powerful development platform supporting both multiprocess and multiuser applications. Also, Xenix is capable of using the full 16 Mbytes of main memory and it eliminates the 32 Mbyte limit on hard disk systems. Both of these advantages are very important in the radiology workstation because an X-ray CT or MRI study typically contains a series of 50 or more images. Another advantage is that password protection is available in Xenix. This feature can become useful in the DIN/PACS environment.
Figure 3.

Radiology workstation software structure.
The applications level software provides the interface between the user and the host system. This software, written in C, is designed to implement specific specialized user functions in a fashion convenient to the user. The applications software receives user generated commands and input parameters. It then formulates the necessary operands and passes them to the GSP command encoder.
GSP commands have been organized as eight classes, each class containing one or more commands. The current UW image processing function library includes the following:
Cursor functions
Utility functions
Graphics
Histogram functions
Point Operations
Region of Interest
Filtering
Morphology
The software structure is constructed in such a way so that additional functions can be easily added without altering the existing host software. The GSP command decoder on the UWGSP must be modified; however, this is easily accomplished.
The GSP command encoder passes the function code, command code, and operands (if any) to the appropriate Xenix device driver. Device drivers are written to connect applications software to specific hardware in the host system. This is done partially for security and protection and partially to isolate the user/programmer from low level hardware dependent device details. The radiology workstation prototype has three special device drivers. One device driver interacts with the UWGSP. Another device driver manages special image buffers in the host memory space called host frame buffers. The last driver interfaces a mouse input device to the host.
The UWGSP driver provides the mechanism to transfer commands and operands into the UWGSP local memory. The four GSP host command buffers connected to the host bus are mapped into 16 kbyte segments in the host memory space so that block transfers can be implemented with very low overhead. After all operands have been transferred to GSP local memory, the GSP command interpreter decodes the function to determine what action should be taken. An unknown function or command defaults to null operation in order to prevent the UWGSP from entering an unknown state.
The host frame buffer driver is necessary because the extraction of image sized files (256 kbytes) from disk requires between 2 and 6 seconds depending on how fragmented the image is on the disk. Under these conditions, applications requiring very high image transfer rates cannot be implemented. The host frame buffer driver establishes contiguous memory segments in a portion of memory that has been isolated from the operating system. Once the memory allocation has been made, the host frame buffer driver allows the applications programs to preload and manipulate images or portions of images as desired. By optimizing the host frame buffer driver, a very high data transfer rate can be achieved between the host frame buffers and the UWGSP frame buffers. Typically, an entire image of 512 × 512 pixels can be moved from a host frame buffer to the UWGSP in approximately 140 ms on a 6 MHz PC/AT.
Many applications require manipulation of a cursor or pointing device on the screen. To meet this need, a special driver was written so that a two-button mouse could be used with the UWGSP. The mouse driver reads an interrupt from the mouse device and returns status information to the applications program. The current version is also capable of transferring the x and y coordinates directly to the UWGSP. Each time the GSP executes the host communications loop, it updates the cursor location.
PERFORMANCE
The key question for any system is how well it performs. All functions in the radiology workstation are interactive. Arithmetic and logical functions can be performed between two full buffers of 512 × 512 pixels in approximately 170 ms provided both images are resident in the UWGSP local memory. The overhead increases by approximately 140 ms if one image is resident in the host frame buffers and by about 4 seconds if one image must be recalled from disk. By taking advantage of the host frame buffers, a considerable number of image processing requirements can be completed in almost real time.
Computationally intensive algorithms implemented on the DSP require more time. One example is the two-dimensional convolution (N × N where N is odd and specifies the number of rows and columns of the kernel). N × N convolution is used to implement a variety of operations such as lowpass, highpass, and edge detection filters. The measured time required to perform a convolution on a 512 × 512 block of pixels using a 3 × 3 convolution kernel is 2.9 seconds. A 7 × 7 convolution requires 5.4 seconds and a 9 × 9 convolution requires 7.5 seconds. Execution time increases are roughly linear with N since as the kernel size increases, certain speed advantages can be realized because of pipeline operations in the DSP.
In some types of image analysis, filtering based on FFT techniques is more convenient than convolution. To serve this requirement, calculation of the two-dimensional Fast Fourier Transform (FFT) and Inverse FFT (IFFT) by the row and column method has been implemented in the UWGSP. The measured time required to calculate the FFT and the IFFT is approximately 19 seconds.
Geometric transformation is another extremely important function in radiological applications. Simple applications of geometric transforms include rotation and non-integer (interpolated) zoom. In more complicated applications, image distortion can be corrected by geometric warping if the distortion can be characterized or modeled. The speed at which a geometric warp can be calculated is determined as a function of both order of the transform polynomial and number of control points. A first-order transform, such as a shear, rotation, or size change (or any combination), can be performed on a full screen image in approximately 7.5 seconds. If the size of the final image is reduced, a proportional reduction in time can be realized because the number of output pixels that must be calculated is reduced. Second-order transformations, i.e., the transforming polynomial is quadratic, requires marginally more time. A full screen second-order geometric transform requires approximately 10 seconds. As in the case of the first-order warp, reduction of the size of the target image correspondingly reduces the computational time.
Miscellaneous functions such as computing a full screen histogram requires approximately 2 seconds for 256 kbytes. Point operations on a full screen, e.g., histogram equalization where the frame buffer values are scaled, requires approximately 1.3 seconds. Window and leveling and other operations implemented by modification of the output lookup tables can be done in real time because rewriting the red, green, and blue lookup table in one of the graphics planes requires less than 2 ms.
INTERFACE
While performance and cost considerations contribute heavily to the ultimate success or failure of the workstation, the design of the interface between the user and the system is just as important. An otherwise adequate hardware system design can easily be nullified by a poorly designed interface.
The UWGSP radiology workstation currently supports two types of user interfaces, specific and generic. The specific interfaces are called from the command line and allow implementation of powerful functions that have been tailored to specific tasks. The generic interface is driven by keyboard commands and allows the user to use all currently available image processing and display functions such as the following:
Load images to the UWGSP frame buffers
Save images from the UWGSP frame buffers
- Implement various filtering options
- 3 × 3 lowpass convolution
- 3 × 3 highpass convolution
- N × N convolution - user supplied kernel
- FFT—row and column implementation
- IFFT
- Implement geometric transforms with user coefficients
- First order warp
- Second order warp
Utilities
- Graphics functions
- Various filled and unfilled shapes
- Annotation
- Arithmetic and Logical functions
- All 22 supported pixel processing operations
- Point operations
- Histogram operations
- Thresholding
- Linear contrast enhancement
- Morphology
- Dilation
- Erosion
Although the generic user interface allows the image processing capabilities of the UWGSP to be applied and tested in general image processing applications, a keyboard controlled menu approach is not optimal for most applications. Mouse controlled pull-down windows are currently under development to improve the convenience of the generic interface. In general, however, a special interface is generated from the basic software tools for each specific user application.
Specific interfaces each support one application. They can be as simple as moving an image between host frame buffers, UWGSP frame buffers, and magnetic disk, or more complex such as an enhancement program that permits the user to employ the mouse to alter the slope and intercept of the transform in the output lookup tables. In another function, the mouse can be used to roam about in an image. The screen coordinates of the cursor and the value of the pixel under the cursor are continuously displayed as the cursor is moved.
An example of a more complex specific interface is the magnetic resonance imaging (MRI) multiplanar display system for use in orthopedics and stereotaxic neurosurgery applications. In this application, an MRI study containing a series of images in two or three orthogonal planes, i.e., axial, coronal, and sagittal, is obtained. The multiplanar display software opens each image and stores it into a host frame buffer while constructing a database containing the MRI physical localization coordinates. Since MRI images are originally 256 × 256, four MRI images can be stored in each host frame buffer. This allows up to 96 image slices to be stored in the current host frame buffer configuration.
After the database has been constructed, the multiplanar software opens a window on the screen for each axis in the study. A planar slice from each active axis is placed in one of the windows as shown in Figure 4. A cursor is made active in a default window in the position that identifies the intersection of the other one or two displayed orthogonal slices. As the cursor is moved in one plane, the image slice displayed in the other windows will be updated to correspond to the current intersection of the cursor position. If the cursor is made active in another window, the initial cursor position in the new window will correspond to the intersection of the image slices displayed in the other windows. This allows the user to move about inside the imaged volume.
Figure 4.

MRI multiplanar display.
The fourth window in the multiplanar display is currently not used. It can be easily extended for multimodality imaging. Imaging done for stereotaxic applications contains external landmarks that can be used to align transverse (axial) CT scans with the MRI scans. This will allow the neurosurgeon to conveniently use multimodality images for preoperative surgical planning.
DISCUSSION
The PC-based radiology workstation is still under exploratory development. Much of the current development effort is in conjunction with joint projects involving the departments of Electrical Engineering, Bioengineering, and the School of Medicine at the University of Washington. Users, both in radiology and neurosurgery, have been intimately involved in the design of the medical workstation software. The result is that clinicians who have seen the conceptual demonstrations of the system have made a very positive response.
While the UWGSP radiology workstation has proven to be a viable performer in image analysis and processing applications, experience with the workstation has illustrated problem areas that require attention. One area of concern is that the DSP is a 16-bit integer processor. This is not a problem in convolution or other simple image processing operations; however, some images with very high contrast range have visible defects due to lack of precision when the FFT and IFFT are applied. Nonrecoverable image compression and decompression algorithms based on transform techniques will exhibit a similar accuracy problem due to overflow and truncation errors.
Applications involving CT and MRI have been successfully demonstrated using the prototype system. These modalities lend themselves naturally to the prototype since the image resolution is either 512 × 512 or 256 × 256. On the other hand, standard radiograms generally range in resolution from 1024 × 1024 at a minimum to as much as 2048 × 2048 in some systems. It is also clear that the general trend in medical imaging is towards higher spatial resolution in the images. This creates some difficulty in displaying and analyzing standard radiograms.
Experience has also indicated that 12 bits/pixel of gray scale and the ability to window the 12-bit pixels into 8-bit pixels is a highly desirable feature in a workstation designed for use in radiological applications. The gray scale pixels should be concatenated with the graphics pixels for a minimum of 16 bits/pixel to support image display, color annotation, cursor functions, and region of interest.
The UWGSP is currently being redesigned to address these considerations. The DSP will be replaced by a very powerful floating point processor. This processor has very attractive features including high speed, 32-bit floating point arithmetic, and internal hardware conversion between integer and floating point formats. Another future design upgrade will support multiple displays with 1024 × 1024 × 16 bit spatial and contrast resolutions without sacrificing performance in image analysis and processing functions.
The current workstation prototype does not support a network (DIN/PACS) interface. Although tape has several disadvantages, the sheer volume of data contained in the typical CT or MRI study mandates the use of tape to transport images from the source modalities to the workstation in the absence of a network. This is tolerable for the research phase of the workstation development, but for long term viability, the workstation must be integrated into the DIN/PACS through one of the communications boards commercially available for popular local area networks. This symbiosis has clear advantages for both systems. A DIN/PACS interface will substantially improve the usability of the workstation. At the same time, the availability of a low-cost DIN/PACS workstation will make the DIN/PACS concept considerably more viable since workstations can be distributed across the radiology department and throughout the hospital in quantity.
It is clear that the PC-based system cannot compete with the radiology alternator model in displaying multiple images concurrently. It has neither the speed or capacity. It does, however, have features that are beyond the capabilities of the alternator. It will allow the clinician and researcher to apply image processing, analysis, and pattern recognition algorithms that are currently not generally available in reading medical images. Additional advantages include the display of images in nontraditional formats such as three-dimensional reconstructions and projections. The preliminary steps are already being taken to apply multimodality image analysis and display techniques.
CONCLUSIONS
A prototype PC-based radiology workstation has been described. The current state of technology has made it possible to design and construct a low-cost dedicated image processing system that can render a standard personal computer into a medium performance radiology workstation. This system is viable both as a standalone system or as an inexpensive DIN/PACS network workstation for applications that cannot justify a more expensive dedicated image processing system.
Acknowledgements
This work was supported in part by a grant from Texas Instruments and the U.S. Army, Contract No. DAND17-86-C-6145.
References
- 1.The MITRE Corporation. “Technical Specifications for a Hospital Based Digital Imaging Network,” MTR-85W242, 1986
- 2.Steiner AR, Chauvin JW, Blattenbauer JA, Kim Y. A Versatile Biomedical Imaging System for Personal Computer. Anaheim, CA: Electronic Imaging ‘87; 1987. pp. 244–249. [Google Scholar]
- 3.Chauvin JW, Steiner AR, Kim Y. Graphics and DSP IC’s Speed PC Imaging. ESD: The Electronic System Design Magazine. Jan. 1987;17:49–51. [Google Scholar]
- 4.Guttag K, Van Aken J, Asal M. Requirements for a VLSI Graphics Processor. IEEE Computer Graphics and Applications. Jan. 1986;6:32–47. [Google Scholar]
- 5.TMS34010 User’s Guide. Houston, TX: Texas Instruments; 1986. [Google Scholar]
- 6.Fahy JB, Kim Y. A UNIX-based Prototype Biomedical Image Processor. SPIE Medical Imaging. 1987;767:479–485. [Google Scholar]
