Interactive Viewing of Medical Images with the Amiga Computer

by

Michael Tobin, M.D., Ph.D.



A Dramatization

(phone rings)

"Hey, Mike. This is Leo. Sorry to call you at home but I wanted to speak with you about one of my patients. Remember Mr. So-and-so with the back pain? Well, I am at the hospital looking at the films from his CT scan of the spine and have some concerns."

"Hi, Leo. I just finished looking at some scans on my network computer here at home and I think that your patient might have an infection in his spine. Look at Image number 25."

"I'm not sure what you mean. I thought that Image number 36 was the one showing the abnormality."

"Leo, go into my office and turn on my Amiga 2000. Don't worry, the Amiga is easy to use. Stay on the line and I will walk you through it."

The Setting

Teleradiology has become important in medicine. The possibility of having one radiologist in a single location interpreting films from many hospitals is attractive not only because of cost-containment but also because it can provide radiologic expertise to facilities that cannot afford, or have no need for, a full-time radiologist.

Typically, a medical image from a digital study like CT (Computerized Tomography) or MR (Magnetic Resonance) is compressed and then sent via modem or ISDN line to a computer in a physician's home where it is decompressed and made available for viewing. The radiologist reviews the images on a high resolution monitor and then faxes a report back to the referring physician.

In the ideal case, the physician on site taking care of the patient will look at the hard-copy medical films, read the report from the radiologist, and understand the correlation.

My own experience is that physicians often return to the radiologist with the films and the report and ask, "What do you mean by that?" or "Where is the abnormality?" Problems are easily resolved when the clinician and the radiologist can interact in person. But what if the radiologist is 100 miles away? How can the radiologist and the referring physician show each other precisely what they mean?

This article describes how to solve this problem using the Amiga and is applicable in any setting in which two individuals need to review the same photograph, painting, logo, schematic, etc.

The Plan of Attack

Everything from this point on assumes that you can connect to the Internet with your Amiga. This statement would seem to be unnecessary in an article for Amiga users. Yet, I know many people who use their Amigas for graphic and video work but who use a non-Amiga computer for Internet access. None of the programs I will tell you about work on a PC, so the first order of business will be to set up your Amiga for the Internet. Naturally, your colleague also has to be on the Internet with an Amiga.

Next you are going to have to install a number of programs that will allow you to --

  1. See if your friend is on the 'Net and "chat" with him if he is.

  2. Create a canvas onto which you can load an image that both of you can see, annotate, alter, etc.

  3. Communicate by voice.

  4. Exchange files.

All of these programs are on Aminet. Many are shareware. Some require modification of ToolTypes. Others make changes to your TCP software.

I will try to give you enough detail to configure the software. I cannot describe all of the features of all of these programs in one short article. The most I can try do is help you to get started and hope that your curiosity will lead you to further exploration.

I have made a list of the programs I think you will need or might like to have Table 1). I suggest that you keep everything together in a single directory.

The Basics

Because you need to be able to connect to the Internet with your Amiga, your first and most fundamental program must be some kind of networking software. I have had good success with Miami, which is not only very easy to set up but is very stable and reliable. It also seems to be under constant development, which is a strong positive in its favor.

Other Amigans prefer AmiTCP and feel it to be a more complete networking solution. Indeed, some of the programs I will be describing assume that you are using AmiTCP and gear their instructions accordingly. I have tried to balance this by providing additional information for Miami users.

Even if you ultimately choose Miami, as I have, I think that it is still worthwhile to try to install AmiTCP. Contrary to popular belief, the installation is far from impossible and the process itself is educational. The documentation covers concepts that are widely applicable and even a partial install of AmiTCP may set up directories, environmental variables, and programs that you can use later on. I would also suggest that you read Dale Larson's Connect Your Amiga!, 2nd edition. Although some of the information is now dated, the fundamentals are still there.

When all is said and done, the choice of networking software is yours. Presumably, any AmiTCP compatible TCP/IP stack should work. However, if you stray from Miami or AmiTCP, you may have to do some of the program configurations manually.

The second program you will need is Magic User Interface, or MUI. So many programs use MUI that you probably have some version of it on your hard drive. However, AmiComSys, one of the programs I will be describing, insists that you use at least version 3.8. Because older versions will not work, you should try to get the latest version of MUI.

The third program you will need is a web browser to visit Aminet to download your programs, unless you can find the latest versions on the Aminet CD ROM collection. My current browser choice is AWeb-II because of its speed in downloading as well as its support of JavaScript. However, each of the Amiga browsers has its advocates, and you can use IBrowse, Voyager, or anything else available by the time you read this article.

Although not essential for interactive image viewing, there are many additional programs you can download from Aminet to enhance your Internet experience. Some of these are listed in Table 1.

Let's Get Down to Business

Many of the programs I will be describing require the AMarquee.library, written by Jeremy Friesner.

The theory of AMarquee.library is well covered in the Amigaguide documentation accompanying the program. For our purposes, it is sufficient to know that software which use this library permit Amiga users to communicate with each other, both directly and indirectly, via Amiga AMarquee servers.

AMarquee comes with install scripts for AmiTCP, Miami, and Inet225, which is yet another Amiga TCP software option. Although installation proceeds smoothly and without problems, you should read the documentation. Amarquee, AmiSlate, AmiPhone and QSendFile all write in Miami's Database area, so it is worth understanding the new entries that are made.

So if, for example, you run into problems installing AMarquee -- and you should not -- you can check in the Services sub-section of Miami's Database (Figure 1 to find AMarquee 2957 tcp and in the InetD sub-section, to find AMarquee stream tcp nowait root AMarqueed .

Again, you don't have to follow the details given above to complete any of the installations discussed in this article. But if you can, you will be able to unlock some of Miami's otherwise hidden potential.

The AMarquee distribution also includes some easy to use scripts for testing your installation.

First Things First

If you are going to work interactively with someone else on the Internet, you have to make sure that they are online. Although you can agree to meet someone at a precise time, this works about as well online as it does in person. In other words, sometimes not so well.

Jeremy Friesner's QAmiTrack (Figure 2) is a key program that allows you to see the names of other Amiga users who are online. Actually, what it does is allow you see who else is logged into the same AMarquee server that you are.

So if you and your co-worker are both connected to qamitrack.tibb.at at the same time, you will see both your names listed in the QAmiTrack window. Actually, you see either your username (e.g., mikety) or your hostname (e.g., octet.com), depending on your menu selection. You can easily toggle between the two names, and then combine them as username@hostname to know where to connect for all your other programs. Therefore, QAmiTrack provides crucial information.

Installing QAmiTrack is no more difficult than copying the program (executable) to your hard drive. If you have taken my advice, you will have one directory for all of your telecommunications programs, and then QAmiTrack can happily reside in its own sub-directory.

What does QAmitrack need to function? Well, as long as you have AMarquee.library in your LIBS: directory, you are set. Of course, to really function, you need to be running your TCP software (e.g., Miami or AmiTCP) and you also need to be connected to an AMarquee Amiga server. At present, the default 24 hour-a-day AMarquee server is qamitrack.tibb.at

In summary, when you log on to qamitrack.tibb.at with QAmiTrack, you are letting all your friends and co-workers know that you are online, and are available to chat, exchange files or work together interactively.

Let QAmiTrack Be Your Program Selector Console

While it is entirely possible to cut and paste the username@hostname information that QAmiTrack provides into Talk, Telnet, Finger, and other Internet programs, it is more convenient to configure QAmiTrack's "Actions" so that a click of the button will do all of this for you in one step. Best of all, it is not difficult to make QAmiTrack do your bidding.

The key is to modify the ToolTypes specified in QAmiTrack's icon to correspond to the location of the same programs on your hard drive. If you are using AmiTCP, you may find that you need to make very few changes because the ToolTypes are already configured for AmiTCP. If you are using Miami, you may want to use the programs that come with Miami and modify the ToolTypes accordingly.

AmiComSys -- An Alternative to QAmiTrack

So often, with the Amiga, we find there are alternative ways of accomplishing the same thing.

AmiComSys (Figure 3), a shareware program written by Hakan Parting, stands for Amiga Communication System. I like to think of it as a program that sets up a meeting area for Amiga users to chat and send files to each other.

To get AmiComSys to work, you will need to have previously installed AMarquee and be using MUI version 3.8 or above with BetterString.mmc and NList.mcc, version 19+ in MUI:Libs/MUI directory. BetterString.mmc is installed as part of MUI while NList.mcc can be found in Aminet as MCC_NList0.75.lha

AmiComSys comes with an install script, so there is really no problem. To get the full functionality of the program, however, you will need to pay the modest shareware fee to obtain your individual key.

To use AmiComSys, you need to be running Miami, AmiTCP or similar and connect to an AMarquee server. Again, we must be grateful to Thomas Steinbichler for keeping his Amiga up and running 24 hours a day. The default server is amicomsys.tibb.at [Note: The default server, as of 12/22/1999, is ACS.hostile.cx, maintained by Hakan Parting.]

Like QAmiTrack, AmiComSys lets you see who else is online by listing user names in its main window. By selecting an individual's name, you can obtain username@hostname which, as I have already mentioned, is crucial information you need to connect to other users.

However, unlike QAmiTrack, AmiComSys allows you to send private messages back and forth to a specific individual and also to exchange files with him/her without needing to launch another program.

So in a sense, AmiComSys, is easier and more convenient to use, once you have set it up. Configuring AmiComSys is really straightforward. In the "Personal info" section, you can give your name, e-mail address, and any comment about yourself that you would like others to see. In the "System info" section, you can describe your Amiga and brag about all the RAM and boards you have installed.

AmiComSys has many nice features, and it seems that Hakan is adding more all the time. You can, for example, with the just the click of a button, launch your web browser and visit a fellow Amigan's website, provided he or she has listed it as part of the personal data.

So you can now see that while both AmiComSys and QAmitrack provide similar username@hostname information, they are really very different programs. And don't underestimate AmiComSys just because it is so friendly to use. AmiComSys supports ARexx and can be made as powerful as you choose.

Although neither QAmiTrack nor AmiComSys provide a way of displaying an image for interactive viewing, either should be able to connect, via an ARexx script, to a program that can.

AmTalk -- or Ringing Up Your Friend

Because QAmiTrack, unlike AmiComSys, does not provide its own talk module, you will need a program like AmTalk, by Oliver Wagner. This shareware, MUI-based program allows you to chat with another Amigan -- provided you know his or her username@hostname. But this is precisely the information that QAmiTrack provides.

Installation of AmTalk is easy and problem-free. I have found no need to change any ToolTypes or program preferences. Using AmTalk is similarly straightforward. AmTalk splits the screen in two and allows you to see what the other person is writing as he or she is writing it. No more waiting for many seconds (? minutes) until an answer to your question appears. What a nice feature. :)

To use AmTalk, TCP software, such as Miami or AmiTCP, must be running. When you send an AmTalk request to a fellow Amigan, a "request to accept" appears. If you have configured AmTalk correctly in Inetd of Miami (or AmiTCP), AmTalk will be launched for you and a connection established. The appropriate entry in the Inetd subsection of Miami's Database area would be --

ntalk dgram udp Wait root YourPathTo:AmTalk1.5 YourPathTo:AmTalk1.5 identd=1

The above entry contains YourPathTo:AmTalk1.5 entered twice, once for Server and once for Name.

If you wish to be able to launch AmTalk from QAmiTrack, you can, assuming that rx is in the Rexx: directory and Talk is in the s: directory, modify Action3 to read --

ACTION3=AmTalk,Rexx:rx s:Talk %u@%h

"Talk" is an Arexx script that comes with AmTalk. You need to edit lines 16 and 17 of Talk to reflect the paths to AmTalk1.5 and WaitForPort, respectively, on your own hard drive. Because the ARexx command, WaitForPort, is usually found in the Rexxc directory of workbench, i.e, your sys: partition, which is where Talk expects it to be, you will probably only need to modify line 16 to tell Talk where you are hiding AmTalk1.5.

Ready, Set, Go!

Well, whether you have chosen to start your interactive journey with AmiComSys or with QAmiTrack and AmTalk, you are now at the same place, figuratively speaking.

Either way, you and your friend know that both of you are online. You also know each others address precisely as username@hostname. Using either AmTalk or AmiComSys, you can start "chatting" with each other.

You can use AmiComSys to send each other graphics files and independently view the same image although you can't show each other exactly what you are looking at, unless you begin the unpleasant task of sending each other image co-ordinates.

If you are using QAmiTrack, each of you can use another of Jeremy Friesner's programs, QSendFile, to exchange image files. Again, there will be entries in Services (2958/tcp) and in InetD

(QSendfile stream tcp nowait root YourPathTo:QSendFile) of Miami's Database area. The install script takes care of this messy business for you, so you needn't worry.

If you want to launch QSendfile from QAmiTrack, you will need to modify Action7 in QAmiTrack's ToolTypes so that it looks something like

ACTION7=SendFile,YourPathTo:QSendFile %h

In summary, whether you use QSendFile or AmiComSys to exchange data, you have no precise idea of what your colleague is seeing, and therefore thinking.

Enter AmiSlate, a way of seeing the same image at the same time.

AmiSlate -- Interactive Viewing At Its Best

AmiSlate is an Internet paint program by Jeremy Friesner that provides a canvas on which you, and the person you are connected to, can create a picture. Whatever you draw is seen by your friend as you draw it. And the reverse is also true. It is as if you and your friend are drawing on the same canvas at the same time.

If you are using Miami, you will want to download from Aminet the special install script for AmiSlate contained in AmiSlateMiami.lha and use it instead of the script that comes with AmiSlate1.4.lha. The installation is straightforward and by now, you know to expect entries in Miami's Services (2955/tcp) and InetD (AmiSlate stream tcp nowait root YourPathTo:AmiSlate ). You will not need to get your hands dirty with any of this because, once again, the install script makes all the entries.

You can launch AmiSlate from QAmitrack by assigning, in ToolTypes, an ACTION number and a name ( ACTION10=AmiSlate), your complete path to AmiSlate (YourPathTo:AmiSlate), and then adding, at the end, an argument to indicate username@hostname (%u@%h). I leave it to you to make the actual entries. You can contact me at mikety@mindspring.com if you need help.

AmiSlate provides up to 256 colors and supports basic draw tools like lines and simple open and closed geometric shapes. One of the supplied ARexx scripts, TextDisplay.rexx, allows you to add text to the canvas. The default font is simple.slatefont, which is adequate. Although the letters can be made any size, I found no convenient way to create bold or italicized text.

You can communicate with your partner by typing messages at the bottom of the screen, below the canvas, in the area called the "chat bar." This feature means that you do not have to shuttle back and forth between AmiSlate and AmTalk or AmiComSys.

If interactive drawing and painting were all that AmiSlate could do, the program would be of little interest to me. My own drawing ability is non-existent and I am not particularly interested in watching someone else scribble on my screen, unless that someone else is the equivalent of Vincent van Gogh. So, while I was aware of AmiSlate two years ago, I did not download it until recently. I had completely underestimated its potential.

With AmiSlate, either of you can load an IFF file and both of you can see it. In my case, it would be a medical image (Figure 4); in yours, it might be a graphic you are producing for a client or a picture of your Amiga's workbench (Figure 5). Both of you can mark up the image as you wish, to indicate important (or unimportant!) areas, without changing the original which remains safely on your hard drive. The annotated, or otherwise changed image, can be saved at the end of the session via screen capture. The "Save IFF" button should be avoided as a (known) bug can lead to a system crash.

Let's Put it All Together

(Figure 6)

To sum up, if I want to show you where the abnormality is on a medical image, I will start Miami and then launch QAmitrack to see if you are on the 'Net. If you are and if you have also launched QAmitrack, I will see your username (and hostname) listed and I will try to "talk" with you by double-clicking on your name while AmTalk is displayed on QAmiTrack's cycle button. You will then be sent a request to accept my invitation to talk.

If you accept my invitation to talk and, if you have configured your TCP software (e.g., Miami) correctly, AmTalk will be launched on your machine and a chat window will be created for us. We will then type information to each other.

Next I will launch AmiSlate and connect to you using your username@hostname, which I already know from QAmiTrack. Indeed, I probably will use QAmiTrack to launch AmiSlate and connect to you in one step.

You will then receive a "request to connect." If you accept my request and if you have also configured your TCP software correctly, AmiSlate will be launched on your machine, if it is not already running, and we will be connected. I will then load my medical image, which is in IFF format, and we will both view it together. I can place an arrow on the abnormality, which, of course, you will see. I might write the diagnosis directly on the image using the DisplayText.rexx program (Right_Amiga 6 is the keyboard shortcut) or I can use the chat area beneath the canvas to convey the same information.

Now, we both know precisely what we are talking about.

Icing On The Cake

If you really insist on hearing my voice, or want to know for sure that it is none other than I who is communicating with you, I can run AmiPhone, use my audio sampler (GVP DSS8), and talk to you over the Internet. Of course, you also need to have AmiPhone installed on your system. You don't need a microphone if you only intend to listen.

AmiPhone (Figure 7) is yet another program by Jeremy Friesner. If you are using Miami for your TCP software, you will want to use the special Miami install script (AmiPhoneMiami.lha) instead of the script that comes with AmiPhone1.92.lha. The install script will take care of the entries in InetD and services. You can alter QAmiTrack's ToolTypes if you want to use this program to launch AmiPhone and connect in one step.

When I initially used AmiPhone, I was disappointed because the sample rate necessary to have acceptable clarity slowed my Amiga (A1200 with 68030 50MHz accelerator) to a crawl. With help from Jeremy Friesner himself, I found that reducing the number of colors in my workbench screen from 256 to 64, allowed me to use AmiPhone and other Internet programs simultaneously.

I do not use AmiPhone routinely. Unlike an ordinary telephone, I get no audio feedback with AmiPhone so that I do not know how I am sounding on the other end. For example, I don't know that when I say "too close to us" you hear, instead, "tuberculosis!" Also, I can keep a record of our conversation when we type using AmTalk but not when we speak using AmiPhone.

Nonetheless, it is great to have AmiPhone as an option. Details regarding AmiPhone's operation have been reviewed in the March, 1998 issue of Amazing Amiga.

You Want A Copy of The CT Scan?

I have already mentioned that if you want a copy of a medical image, or any other file for that matter, you can use the file exchange module that is part of AmiComSys or else use QSendFile.

Files can also be sent as "Attachments" to e-mail messages. I have used YAM countless times for this purpose. Sending images via e-mail is particularly convenient if I am online and you are not.

There are even more ways of sending files. I can ftp them to a site where you can have access, such as my own web site or I can use AmIRC to do a DCC send. I can even set up my Amiga as an FTP server. A discussion of these methods is beyond the scope of this article.

Suffice it to say that it is important to be able to send medical images to referring physicians and that sending them as attachments to e-mail is easy and convenient , especially if both parties are not online at the same time. On the other hand, if both are online, QSendFile and AmiComSys are reasonable alternatives.

An Important Point

In our discussions, we have assumed that the medical images were already on the Amiga without discussing how they got there.

In the best of all worlds, medical images would reside on an ftp server in a format readable by the Amiga. Unfortunately, this is often not the case. In many instances, image files are stored in proprietary, incompatible formats.

Recently, manufacturers of medical imaging equipment have agreed to a networking standard called DICOM and the images are stored in DICOM format. You can visit the University Hospital of Geneva and learn more about DICOM and test the (non-Amiga) software there.

Until DICOM directory and image viewing software becomes available for the Amiga, we will continue to need to digitize medical images after they are printed on film, either by video capture or by scanning with a transparency adaptor equipped flatbed scanner. For Ultrasound, CT, MR and Nuclear Medicine images, the quality is quite acceptable.

For video capture, I continue to use the WV-1410 Panasonic black and white CCTV video camera with a GVP IV24 video card. For flatbed scanning, I use an Epson Expression 636 scanner with a transparency adapter. Such an adaptor is necessary because x-ray film, like slide film, requires the light source to be behind the image.

Overall Assessment

How well does it all work? Like Peck's bad boy, when everything is good it is very good, but what happens if things get very bad?

We are obviously very much dependent on tibb and his computer to be up and running 24 hours a day, 365 days a year. Here we have one person with one Amiga computer servicing, at his own expense, the entire Amiga community throughout the world. Although I have experienced amazingly few interruptions with qamitrack.tibb.at, I think we must concede that we are dealing with a vulnerable situation. Amiga Technologies could play an important role by providing and maintaining a full-time Amiga AMarquee server.

As with most things Amiga, there are work-arounds. Friends or co- workers could agree to meet on an IRC channel and then discuss whatever needs discussing before proceeding to AmiSlate. One can easily find username@hostname information by using the /whois command as in /whois mikety. AmIRC makes it even more convenient by allowing you to highlight a username from the list of people on the same channel and then selecting the "Query" button.

The Future

Although very effective in its current form, AmiSlate could use additional draw tools and more effective control over them. Unfortunately, Jeremy reports having lost a significant part of the program code during a hard drive crash. Perhaps exceptional interest in Amislate might convince Mr. Friesner to build an even more powerful program. One desirable feature of the AmiSlate of the future might be the ability to accommodate multiple users simultaneously.

And what about those benighted users of lesser computer systems? Perhaps UAE (Universal Amiga Emulator) could run AMarquee programs, including AmiSlate, on non-Amiga platforms. In my initial attempts using the pre-release version of Cloanto's Amiga Forever software, I was not successful in having Miami recognize the modem connected to a PC laptop serial port. But nothing is ever easy with PC's with their IRQ and port conflicts and I have no doubt that, in time, these telecommunications issues will be resolved.

Conclusions

I hope that I have been able to convince you that you can use the Amiga to work interactively on the Internet.

The programs I have described are important because they permit any two Amiga users to work together on the same project even if they are separated by many thousands of miles.

The graphics do not have to involve medicine. As I have already indicated, the images can be paintings, sketches, logos, floor-plans, electronic schematics, blueprints, or anything else. And the two Amiga users can, do anything to the images they wish. They can create them, change them, paint them, annotate them, or, in short, anything at all.

And, if two Amiga users can work together, they can play together. Chess, tetris, reversi, and much else are more fun when shared. The same programs that allow interactive work are the same ones that allow interactive play.

Being a long time Tetris fan, I decided to try out Netris by (who else?) Jeremy Friesner. To use the program you need to be on the Internet, have installed AMarquee, and know the server hostname of the person you wish to play with. QAmiTrack provides you with the hostname and, you can, of course, modify QAmiTrack's ToolTypes to connect in one step.

Netris gives you four "wells," with each player having his own well. The play is typical Tetris with the added feature of blocks sporadically accumulating underneath your pile and raising you dangerously closer to the top! If you wish, you can type each other unkind messages at the bottom of the screen. But I recommend, instead, that you pay attention to the falling tiles, for if your pile reaches the top of the well, you lose the game.

What can I say? Netris is great fun. And, if you tire of Netris, there are several games listed in AmiSlate's menu, including chess, which you can also try. As I write this article, Amiga Doom seems to be very popular for interactive play. Although I cannot say what the rage will be when you read this article, I am sure that you will not be lacking for games to play on a rainy day.

Final Thoughts

Although the Amiga community is relatively small and is scattered throughout the world, this doesn't mean that we cannot be in close contact with each other. The interactive programs I have discussed can help keep us together.

I used these very programs to communicate and work interactively with Jeremy Friesner in California, Hakan Parting and Frederik Thiesen in Sweden, Thomas Steinbichler in Austria, and Paul Gooch in England. It was fun, it was exciting, and without all of us working together I could not have pulled everything together for you.

What I am suggesting is that new friendships and work relationships are as close as your Amiga. I am also suggesting that you remember that most of the wonderful Amiga programs I have mentioned are shareware and that shareware authors depend on us for support.

June, 1998


List of Publications -->

Return To Home -->