Wenhao Xu, Chaowei Tan, Mengqing Huang, Xiaoying Li, Dong C. Liu
STORK is a PC-driven ultrasound system designed to convert an existing hardware-based ultrasound scanner into a low cost, portable and easy to use PC-based ultrasound system. To allow customers of older machines access to PC applications with minimum added costs, STORK preserves the core engine of the ultrasound scanner, called the ultrasound unit, and connects it with a PC based device capable of commanding it. Furthermore, this device is connected to a communication network and can receive real time images for further processing and display. Therefore, the innovation of the STORK system is not in rebuilding a new ultrasound scanner from scratch, but in offering an inexpensive way to upgrade a dedicated hardware based ultrasound scanner to a PC platform.
The STORK system includes an ultrasound unit 330 x 190 x 40 (mm) in size and 1.4 kg in weight, and a pair of eBoxIII and eBoxII computers connected to PC peripherals. eBoxIII supplies the computational power required by new features that the target ultrasound can not provide and also offers a fast data channel between the ultrasound unit and the PC platform for real time display. eBoxII handles remote access resource sharing through a P-to-P network.
This project were the top 30 finalist teams of the Windows Embedded Student Challenge 2006 in the world. And we had been invited to compete in the Microsoft’s corporate headquarters in Redmond, Washington from June23, 2006 to June 24, 2006.
System Components
The Stork system covers three parts in hardware: the ultrasound unit, the eBox computers and I/O devices, shown in Fig. 1.
Ultrasound Unit: The ultrasound unit consists of circuit boards for real time beamforming and a probe. For data and image transfer, a video capture card connects this unit with the eBoxIII computer.
eBoxIII: The eBoxIII receives real time images from the ultrasound unit and sends commands to drive the ultrasound unit. Software on the eBoxIII determines user interface, controls communication, regulates data transfer and provides additional advanced applications.
eBoxII (optional for p-to-p networking): The eBox II offers low cost remote access resource sharing. Its software is the WinCE version of the system software from the eBoxIII.
I/O Devices: The I/O devices required in our project are standard, including computer keyboard and mouse for the graphic user interface (GUI), LCD (or CRT) monitor for imaging display, and PC networking if needed.
System Requirements
Supports all functions of the target ultrasound scanner.
Delivers features that the target ultrasound scanner can not easily offer or can not offer at all, such as large storage of images, cine loop replays, image post-processing, and advanced patient measurements and reports.
Supports the DICOM standard.
Provides LAN access.
Maintains a display frame rate of at least 15 fps on the remote device (e.g., the eBoxII) during p-to-p networking.
Preserves synchronization between the remote device and the main PC during image acquisition through the p-to-p network.
Passes processed images from the main PC to the remove device through the p-to-p network such that users on the remote side may view results obtained from the high performance PC.
Innovation
The STORK system integrates the core engine of an existing ultrasound scanner into a low cost but powerful PC platform. The PC primarily generates the user interface for driving the ultrasound unit but also does some post-processing. The computational load of our PC approach is very low compared with some companies in the market who use a PC to directly process raw data on systems still dedicated to only their own hardware. STORK’s system architecture is simple and modular so that it can convert many existing ultrasound scanners to PC-based devices.
Advantages of STORK compared with conventional low to midrange black-and-white ultrasound scanners are:
Compact Size: The system includes a single board ultrasound unit plus a power supply cell, an ultrasound probe, the eBox computer with a keyboard and mouse, and a LCD monitor for display. The dimension of the ultrasound unit with a power supply could be reduced to 330 x 190 x 40 (mm) in size and 1.4 kg in weight compared with a bulky box of the conventional scanner.
Cost Reduction: The I/O devices in the system are industrial standards sharable and compatible with other products owned by the customers. Therefore, the customers only need to pay for the probe; the single board ultrasound unit, which is a fraction of the old system; and a stand-alone computer, like eBox.
More Functionality: A PC-based system like STORK offers many features. For instance, we can easily save huge amount of images to the local hard disk for replay, offer advanced post-processing to improve image quality, support networking for remote control and file sharing, and provide an intuitive graphical user interface for ease of use in navigation and patient measurement and report.
System Descriptions
Ultrasound Unit
We have worked with two Chinese ultrasound manufacturers, Mianyong Sonic Inc. and Shenzhen Well.D Electronics Co. and put their ultrasound core engine into a custom-made case, see Fig.2,
where the ultrasound beamforming board and the power supplier came from Mianyong Sonic.
The video capture card is from Taison Inc. for data transfer between the ultrasound hardware and the main PC, or the eBoxIII. Requirements of the ultrasound engine in the current setting are: commands sending are through a serial port, image output is in CVBS or S-video. For the video capture card, its data interface must support CVBS or S-video in input and RS232 for bi-directional data transfer.
The Main PC (eBoxIII)
In order to control the hardware cost, we have used eBoxIII with 800 MHz CPU, 256 MB RAM and integrated VIA UniChrome 2D/3D graphics. The processing power of the eBoxIII (both in CPU and graphics) is not good enough to support a 640x480 image frame coming from the ultrasound unit for real time display. Therefore, we have to compromise the transferring size of a 320x240 image and display it in a 400x300 window for real time display without showing mosaic-like artifact.
The eBoxIII has a hard disk with 40GB storage space, in which the Windows XP Embedded, STORK system and application software, image files, video files and patient database are all resided in.
The Remote PC (eBoxII)
For the optional P-to-P networking offered by the STORK system, we use eBoxII as the remote PC for cost sensitive choice. The eBoxII hardware was provided by Microsoft with the following system specs: 200 MHz CPU, 128 MB RAM, 32 MB flash memory loaded by Windows CE image and necessary STORK system and application software. The eBoxII’s graphics support is AGP Rev 2.0 compliant and we add DirectDraw feature for image painting.
The network connection between eBoxII and the eBox III is through a single RJ-45 line as the communication medium for sending both command and image between these two hosts. With the limited hardware resources, the eBoxII can still display 15 frames per second (fps) with the image size of 400x300 during the P-to-P computations.
The eBoxII can only support USB1.1 up to 12 Mbps transfer speed which means that it can only transfer 19 fps theoretically if we connect it to the ultrasound unit at a transferring size of 320x240 bytes per image frame. Considering the overhead on image display, using eBoxII directly with the ultrasound unit may not meet the real time requirement. Therefore, we identify eBoxII as a remote PC for monitoring and control purpose and use 100 Mbps LAN connecting to the eBoxIII.
Software Module Design
In the software design, we divide the system into independent modules and the relationship among them is the interface for calling and memory sharing, shown in Fig. 3,
All these modules are classified into two groups: the application modules and the system modules. Application modules are those for PC applications and consist of patient report, image storage, measurement, image replay and image storage module. These modules are related to PC post-processing and don’t need to send commands to the ultrasound unit. System modules include user interface layout & control, scanner, capture, display and network module that need to talk to the ultrasound unit.
Descriptions of these system modules are as follows:
User interface layout and control module (UI) receives input from the user and then calls other modules for a response. Modules called include patient report module, image storage module, measurement module, image replay module and network module.
Display module is used for painting on the screen and its data was saved in the image buffer. Any module related to painting will call display module for a display. These modules consist of measurement module, image replay module and network module.
Network module transmits both image and command during P-to-P computation. It provides remote access for users. Network module will call DirectDraw for display and call UI module to send commands.
Capture module acquires video data in PAL format from the ultrasound unit and the image capture is realized by DirectShow techniques. Capture module is called by UI module whenever the STORK system is activated.
Scanner module is called by UI module for sending commands to the ultrasound unit. Each command has been coded as a one byte number corresponding to an action defined by the control panel of the target ultrasound scanner. The baud rate is software controllable to meet the transmitting range required by the video capture card.
Image Display
We have used Direct3D 9.0 as our real time image display tool and DirectShow as our real time image capture tool in eBoxIII. We have used DirectDraw to real time display image in the eBoxII under Windows CE, see Fig. 4.
System Functionality
Graphics User Interface
The STORK system offers an intuitive graphics user interface (GUI) to drive the ultrasound unit and replace the hardware based control devices used in the target ultrasound scanner. Each action done by the hardware device is now emulated by a software key, in Fig. 5,
where it is the GUI layout supported by the eBoxII.
To save the transfer time between the eBoxIII and eBoxII, we have loaded two GUI packages to them, respectively. During the P-to-P communication, the eBoxIII only sends the grey scale image of 1-byte per pixel to the eBoxII instead of sending the whole window for display. For color imaging, the eBoxII receives commands from the eBoxIII and builds up the same color map for pixel remapping. In this way, we do not need to send the RGB color image and save huge amount of data on transferring.
PC Functions
STORK can offer the following features:
Zoom Local
Display Brightness
Display Contrast
Display Color Map
Cine History Images
Cine New Images
Save
Report: New Patient and Patient Database
Report: View Snapshot
Obstetrics–BPD, CRL, GS, FL, HC, AC-FW
As shown in Fig. 6,
We have made a live scan where the ultrasound unit is connected to the eBoxIII and the real time imaging is displayed on the right monitor. At the same time of acquiring images from eBoxIII, the image data is also sent to the eBoxII through a cable connecting each other and the eBoxII shows the real time imaging on the left monitor. During the live scan, we activate the Freeze function and take the picture.
To verify the P-to-P networking, Fig. 7 shows the communication interface where the computer can set itself either as a server or a client with the right IP address.
After setting a connection, the eBoxIII will send synchronized image data to eBoxII in real time; see Fig 8.1 and 8.2 where live images in the eBoxIII and the eBoxII are identical. In the current version, the GUI layout from the eBoxIII is different from that in eBoxII and the window size of eBoxIII is larger than eBoxII.