Viewing the Visible Human using Java and the Web ================================================ The Northeast Parallel Architectures Center (NPAC) at Syracuse University is a research center focussing on applications of high-performance computing and communications, especially applications using the technologies of the future National Information Infrastructure (the NII, or information superhighway), and its current embodiment, the Internet and the World Wide Web. These applications allow interactive access to digital multimedia (text, images, and video) information and databases, digital libraries and search engines, computer simulations and programs, and collaboration tools, all stored on powerful computers (or servers) that can be accessed remotely over high-speed networks, for example, by using a Web browser on a PC. Many of these applications are educational (at both the K-12 and college level), and provide examples of how the NII could be used for students to access educational information, which is one of the main goals of the NII. The Internet shows great potential for educational use, since it allows easy access to a wealth of information, and allows students to learn at their own pace, as well as collaborate on projects and publish their work on the Web for others to see. The Visible Human ----------------- The National Library of Medicine has undertaken to provide a set of digitized images of the human body for use in education and research. The Visible Human Project (see http://www.nlm.nih.gov/research/visible/visible_human.html) has created a digital image data set of a complete human male and female cadaver. The first of these data sets was the Visible Man, a set of digital images of the body of a 39 year old man. Images of the body were first created using magnetic resonance imaging (MRI) and X-ray computer tomography (CT). The body was then embedded in gelatin, frozen, and sliced crosswise into 1878 transverse slices, each 1 millimeter thick. Each slice of the body's surface was photographed and digitized at a resolution of 1/3 mm per pixel, to produce a numbered set of color anatomical images. The entire data set is very large - about 14 Gbytes. Viewing the Visible Human ------------------------- In the summer of 1995, a group of researchers at NPAC began thinking about how to provide remote access to the Visible Human images. The simplest approach was to use the Web, allowing the user to select a transverse (or axial) slice, by either specifying the slice number, or by clicking on the desired area on an image map of the body. A lot of processing was required on the raw data, including cropping and compressing the images to reduce their size, for faster downloading over the Web. The researchers also generated image slices in two other cutting planes, known as sagittal and coronal views. By the time we had finished the image processing and set up a simple Web interface to access the images, other Web sites were providing the same functionality. We wanted to develop something more interesting, and more interactive. At that time, doing something more interactive required building what is known as a client/server program. This involves writing a program to be installed on the user's computer (the client) to handle the user interface, the display of the multimedia data, and the sending of requests across the network to another program which resides on a server. The server fields the requests from the client, accesses the appropriate data, processes it in the requested way, and sends the results to the client. We started developing the program for Unix workstations, but it was a complex task to develop the client and server programs, and the networking routines needed to connect the two. We also realised that in order for the program to be accessed from schools, we would need to port the client and networking programs so that they would run on Macs and PCs, which would take a lot of time and effort. We would also need to provide documentation on installing and running the programs on the different computers. Fortunately, at about the time we got a simple prototype client/server program running, Java was beginning to generate a lot of interest, and seemed to be a much better way of implementing our ideas. When we discovered that Netscape planned to integrate Java into the next version of their Web browser, to be available near the end of 1995, we decided to switch to developing the program in Java, with the aim of completing it by the time Java became available in version 2.0 of Netscape Navigator. Java ---- Java is perhaps the most exciting of the many recent developments in the rapidly-evolving technologies of the World Wide Web. Java is a powerful programming language that allows program developers to create programs that can be accessed and run from the Web browser, and can readily access multimedia information available on the Web. Java vastly enhances the interactivity of the Web, which previously was limited to fairly static pages. This makes it particularly suitable for interactive, multimedia educational applications. An excellent early example of the use of Java in this way is a program which presents an engaging proof of Pythagoras' Theorem, available at http://mars.superlink.net/abogom/pythagoras/morey.html). In the past, educational programs required installation of the software, often on many computers, which is at best tedious and in some cases quite complicated. Some programs may be available only for a certain type of computer or operating system. Other problems include keeping up with the latest versions of the software, and having to worry about backups and computer viruses. In the future, Java will enable programs to be accessed and run from a Web browser, with a single click of the mouse, on any type of computer. Currently the restrictions of slow networks (the current Internet is more like an information dirt road than an information highway), and a simplistic approach to the problems of computer security, limit the use of Java to small "applets", or "little applications". However, these limitations will not last for long, and many people in the computer industry are envisioning "network computers", for which all software and data are downloaded over the network when needed, rather than accessed from a PC's hard disk. The NPAC Visible Human Viewer ----------------------------- Our Java Visible Human Viewer program was written by Michael Chang, a graduate student in the computer science department at Syracuse University. Michael went from knowing virtually nothing about Java to having a quite complex working Java program in just a couple of months, despite having to grapple with a lot of problems with undocumented bugs and "features" of the still-immature Java environment. Java had then only been available for a few months and was still in beta test; the Java-enabled Web browsers were even newer and more problematic. Things have improved dramatically since then, and powerful visual programming tools are now available that allow the user to create simple Java programs with little or no programming. The implementation of Java within Web browsers has also improved greatly, although some bugs and limitations remain. The program begins by showing small thumbnail (or preview) images of slices through the human body in three different planes - axial, saggital and coronal. Each image has a "cutting line" running across it, which the user can move into the position where they wish to cut the body to view a slice. After the cutting line has been moved, a thumbnail image of the requested slice is downloaded from the server and displayed. When the user finds a thumbnail image they want to study in more detail, they can download a larger (higher resolution) version of this image. Many of the features of the user interface evolved based on emailed feedback from users, including helpful suggestions from people working on the Visible Human project at the National Library of Medicine. The interface is quite similar to those used in some CD-ROMs of Visible Human images, although it has some special features due to the capabilities and limitations specific to the Web. The time taken to download images can vary enormously depending on the speed of the network used to access the images, which could be anything from a fast local area network to a modem that may be 1000 times slower. We therefore provide a choice of 3 different image resolutions: the highest is the full resolution of the Visible Human dataset, the lowest is suitable for downloading over a fast modem, and the medium resolution lies somewere in between. At the higher resolutions, the images are larger than the size of the computer screen, so the window displaying the image allows the user to pan across the image, and to vary the image size. The user can also view the image using the program of their choice, and then save it to a file. Specialized image viewing software will often provide better image quality than the Web browser's, by using more sophisticated techniques to convert the 16 million color palette of the images to the 256 colors available on most computer screens. The NPAC Visible Human Viewer Web page came online in December 1995, very soon after Netscape Navigator 2.0 beta was released with Java capability. Not many Java applets were available at that time, and most of them were simple programs designed to jazz up a Web page by providing cute animations. The Visible Human Viewer was one of the first Java applets to provide a fairly sophisticated, interactive graphical user interface that enables the user to access multimedia information from a large database on a remote server. It illustrates the potential for Java to be used for interactive multimedia information access using the Web, particularly for education. Since its inception, there have been about 100,000 accesses to the Web page. It was a winner in the educational category of the Java Cup International contest (http://sunsite.utk.edu/winners_circle/), and has been featured in a number of books, magazines and television programs documenting the explosive growth of the Web. A number of mirror sites (other Web servers with a copy of the site, to prvide faster access over the Internet) now exist or are being set up in the U.S., Europe, and Australia. Most of these are at medical schools, and there has been a lot of interest in using the applet for teaching students about the human body. Future Applications ------------------- There is plenty of scope for enhancing the current program to make it much more effective as a learning tool. The Visible Woman dataset has recently become available from NLM, and could be added so that female anatomy could be studied. MRI and CT data could be incorporated, allowing users to compare MRI, CT, and anatomical images of the same section of the body. A more difficult, but more useful, task would be to link the Visible Human images to information about the human body. For example, a database of names of bones, muscles, organs, etc could be accessed via the program, enabling the user to click on an area of the image and find out what it is they were looking at. This in turn could be hyperlinked to more detailed information available on the Web - for example, an introduction to how the heart works, or a description of the functionality of a particular muscle or gland. The amount of information that could be accessed via the Web in this way greatly exceeds the amount that could be stored on a CD-ROM. The National Center for Supercomputer Applications (NCSA), one of the instigators of the Web revolution (they developed Mosaic, the first graphical Web browser), has developed a Java program called Habanero that allows many users to look at the same information via the Web, and have integrated the Visible Human Viewer applet into this framework. This would allow a teacher to run the program to illustrate an anatomical feature, and have the same images displayed on the computers of all the students in the class. Many other educational applications, in the life sciences and other areas, could benefit from the capabilities of Java. For example, the interactive frog dissections available on the Web (http://teach.virginia.edu/go/frog and http://george.lbl.gov/ITG.hm.pg.docs/dissect/info.html) are very interesting applications, but are limited by the slow and restrictive user interface. A Java version would be faster, more engaging, and allow more functionality. One of our original goals in working with the Visible Human data was to provide the capability of doing 3D reconstructions of parts of the body, and allowing the user to interactively move and rotate the image, remove layers, cut sectional slices, isolate bones and organs, view the skull or skeleton in 3D, and so on. Unfortunately, this turned out to be much more difficult than we imagined. However in the future, using developing Web technologies such as 3D graphics libraries for Java, and Virtual Reality Modeling Language (VRML) for constructing 3D images, this may become feasible over the Web. The information highway will be an important part of the future of education, and Java programs such as the NPAC Visible Human Viewer will become a prominent feature of cyberspace, since the use of Java greatly simplifies both the development and the use of such programs. In their current state, the Web and Java still have a number of shortcomings. But they are usable today, and Web technologies are advancing incredibly rapidly. In the near future, the Web and Java will become important educational tools.