Linux as a PACS Server for Nuclear Medicine
Many Linux users are not likely to be familiar with nuclear medicine, but it plays a major part in the medical field today. I am a physician and will describe my experience with Linux in the Nuclear Medicine Department of Chang Gung Memorial Hospital, Kaohsiung, Taiwan. I hope the information will be useful for novice Linux users (I was a novice two and a half years ago).
Before describing my Linux experience in nuclear medicine, I have to mention the background of medical-image standards including PACS, Interfile and DICOM. No standard existed among the image formats of different CT (computerized tomography), MR (magnetic resonance) and gamma camera vendors before 1985. After recognizing the need for standards to facilitate multi-vendor connectivity and PACS (Picture Archiving and Communication System), the American College of Radiologists (ACR) and the National Electrical Manufacturers Association (NEMA) proposed the first standard ACR/NEMA 1.0 in 1985, ACR/NEMA 2.0 in 1988 and then ACR/NEMA 3.0 (well-known as DICOM 3.0).
DICOM 3.0 is the current standard, and almost all vendors implement DICOM 3.0 in their new product lines, although many other old image instruments are still not DICOM 3.0 compatible. Another standard format in the nuclear medicine field is Interfile. Like DICOM 3.0, Interfile is a specified file format, but, unlike DICOM 3.0, Interfile is not a communication protocol. The network protocol of DICOM 3.0 is built on top of TCP/IP, so DICOM clients can query/retrieve image data from a DICOM server and can also store image data on the server through the Internet if properly connected. Interfile is simply an interim file format of nuclear medicine. If nothing else, it proposed a standard for gamma camera vendors to follow, but what about the future? DICOM is the best way to go. If you have an interest in medical image formats, please refer to the Medical Image Format FAQ (http://idt.net/~dclunie/medical-image-faq/html/index.html), maintained by David Clunie, M.D., for further information.
In the Diagnostic Nuclear Medicine department, after intravenous injection or oral ingestion of radionuclides, patients are put under a gamma camera to have pictures taken. A gamma camera picks up gamma-rays emitted from the radionuclides to make up the images. There are many gamma camera vendors in the market. The following is a list of them and the operating systems they use:
Siemens: MacOS 7.x
GE, Picker, SMV, Toshiba and others: UNIX
Other: Proprietary OS (Some old gamma cameras such as GE Starcam, old Toshiba, et al.)
The network protocol for Macintosh is AppleTalk, for OS/2 it is NetBIOS and for UNIX it is TCP/IP. Due to the prevalence of the Internet, all operating systems used today also support TCP/IP. Network protocols for computers are used for communication in the same way language is used by people. Under the same network protocol, different computers can exchange data with one another.
Chung Gung Memorial Hospital, Kaohsiung, Taiwan, is a medical center with more than 1,000 beds. One IP address is assigned to the Nuclear Medicine Department. We have three gamma cameras. The oldest one is the GE STARCAM which uses a proprietary OS, one Siemens ICON triple-head gamma camera and one Elscint Varicam dual-head gamma camera. The Elscint Varicam is a brand new gamma camera, installed before I left the hospital.
After learning about Linux two and a half years ago, I realized it would be the perfect server for gamma cameras. Since Linux is a UNIX clone, it offers TCP/IP networking. In addition, Netatalk (AppleTalk protocol for UNIX) allows Linux directories to be mounted by Macintosh, and SAMBA (SMB is NetBIOS over TCP/IP) allows OS/2, Windows 95 and Windows NT to use the services at Linux and vice versa. TCP/IP, AppleTalk and SMB (server message block) are all available in Linux; thus, Linux can communicate with all gamma camera computers except some old and proprietary ones. I will describe later how to solve the problem of retrieving the image data from proprietary computer operating systems.
At the time I set up Linux as a PACS server for our Nuclear Medicine department, our Siemens ICON could export Interfile image files but didn't offer the DICOM function. The Elscint Varicam offered DICOM functions and the GE Starcam offered neither Interfile nor DICOM. Using the image translation software GAMMACON from MITA, the problems of the proprietary image file data were solved.
GAMMACON is a program that runs under the MS-DOS environment. It reads and writes different proprietary, Interfile and DICOM image files to and from 8-inch, 5.25-inch or 3.5-inch diskettes and the network or hard disk. GAMMACON uses a security hardware key attached to the PC printer port to prevent software piracy. After modifying the configuration file of the Linux DOS Emulator, GAMMACON runs smoothly under Linux. Combined with the network capacities of Linux, we could translate the GE Starcam image files archived on 3.5-inch floppy disks into Interfile, and then process them on the Siemens ICON or the Elscint Varicam. Due to the limitations of GAMMACON, only one program could be run at a time. The security hardware key is locked by GAMMACON. After the needed programs are installed, Siemens ICON could easily mount the Linux shared directories from the CHOOSER via Netatalk. Elscint Varicam OS/2 could also mount the Linux shared directories as a network disk (via SAMBA). For other gamma cameras that use UNIX, such as Picker or ADAC, mounting the directories via NFS is routine work.
To read the GE Starcam files off-line, I could bring the floppy disks from the GE Starcam to Linux, then use GAMMACON to translate the GE Starcam files into Interfile, DICOM or GIF format. It sounds perfect. Even for gamma cameras that are not DICOM compatible, we still offer a convenient way to solve the image file exchanges in nuclear medicine by using the specific functions of the software from different vendors to process the images. Before I left Chung Gung Memorial Hospital last year, I worked on the DICOM Query/Retrieve (DICOM client) function on Linux—a hard job for me, since I have no programming background. The Swansea University in Wales offers the DICOM server service on Linux; perhaps others do too.
Finished? No, I mentioned earlier that one IP address is assigned to our Nuclear Medicine department. I installed two NE2000 compatible cards in this Linux PC PACS server and recompiled the Linux kernel to enable the IP masquerade function. One network card is used with the IP address we were assigned and the other network card is assigned to an internal network address. All the gamma camera computers, the Macintoshes and the Windows 95 PCs in our office belong to the internal network and can access the Internet seamlessly through the Linux IP masquerade. The Linux IP masquerade forms a firewall to prevent invasion from the Internet. The limitation of one IP address is no longer present.
Combined with the Apache WWW server and mSQL, we use the GIF-format nuclear medicine images converted from GAMMACON to make all the diagnostic reports available as HTML documents available to the registered medical doctors.
Hylafax is a free fax server for Linux, and it also supports many other operating systems such as Macintosh and MS Windows. Several colleagues of mine are quite happy with Hylafax, since they can easily send a fax from their PCs. You may wonder why I didn't mention DNS or a mail server. Our hospital set a proxy server to allow only the WWW browser to access the external world and prevent hacker destruction, so we must exclusively use the mail server offered by our hospital. They set the proxy and mail server to the same SUN Ultra SPARC.
Is Linux difficult? No. Take me as an example. I was a total computer newbie two and a half years ago, and yet I used Linux in my daily work. I am sure others could do the same. I would like to thank all of the people who devote their efforts to Linux and free software.
The author, Cheng-Ta Wu was a nuclear physician and is now in general practice at Feng Shan, Kaohsiung County, Taiwan. He lives with his parents, two brothers and a dog. He is interested in traveling, music and swimming. If you come across him while he is traveling, please mention you are a Linux user. He can be reached via e-mail at email@example.com.
- Cross-Platform Software Development Using CMake
- Asynchronous Database Access with Qt 4.x
- Let's Automate Let's Encrypt
- Non-Linux FOSS: Scripts in Your Menu Bar!
- That First Gulp of Java
- Dynamic Kernels: Modularized Device Drivers
- Building a Distributed Spreadsheet in Modula-3
- Why Python?
- Meet OpenVPN
- Virtualization in Xen 3.0