SPOTLIGHT ON ADVANCED TECHNOLOGY: Software vendors endorse java language for platform-independent imaging
Many vendors are endorsing platform-independent Advanced Imaging API for development of software imaging.
Many vendors are endorsing platform-independent Advanced Imaging API for development of software imaging.
By Andrew Wilson,Editor at Large
Fueled by the demand for platform-independent, network-centric image-processing systems, Sun Microsystems (Palo Alto, CA), Autometric (La Palma, CA), Eastman Kodak (Rochester, NY), and Siemens Corporate Research (Princeton, NJ) have developed the Java Advanced Imaging Application Programmer's Interface (JAI-API). Allowing image-processing applications and applets to be created in Java, early versions of the JAI-API were used to create applications to manage images more efficiently. An extension of Java 2, the JAI-API now allows developers to bring platform-independent astronomy, medical, and geospatial information systems to market faster.
Sun's JAI-API provides a platform-independent image-processing development framework that includes such features as image tiling, deferred execution, resolution-independent image processing, and multithreading. While tiling allows one section of an image to be downloaded at a time, deferred execution processes pixel information only when needed.
RIGHT. FIGURE 1. Apteryx Pixies software helps physicians and researchers extract diagnostic information from sequences of biomedical images. In operation, Pixies analyzes a series of images or of volumes from any imaging device and extracts a small number of images or volumes that represent a physical or a physiological meaning.
To allow images to be described independently, the JAI-API also uses rendering-independent image processing that describes two-dimensional images in a native aspect format and provides associated operators for describing how to change the character of the image. For network-based imaging, the JAI-API supports Java's Remote Method Invocation and Internet Imaging Protocol that allows developers to scale applications on processors from laptops to servers.
Medical image processing
Recent advances in medical imaging technologies now make it possible to acquire large amounts of multidimensional data more rapidly. These multidimensional data are most often two-dimensional (2-D) images or volumetric data from magnetic resonance imaging (MRI), CAT, PET, or x-ray data. While such images may be of different file formats, digital images must often be shared among physicians. And, they must be able to be enhanced using common image-processing operators such as filters.
To power the image-viewing portion of the operator's console for the company's Virgo MRI scanner, Millennium Technology Inc. (MTI; Vancouver, Canada) has used the Java platform to permit the system to share images for remote diagnostic consultation. MTI is using Sun's JAI-API in the design of software for the Virgo's operator console. This allows the operator to perform such functions as adjustment of brightness/contrast, image overlays, image filtering, image rotation, and zooming.
RIGHT. FIGURE 2. In the development of the JSky image-display and catalog-browsing tool for astronomers, ESO chose Java and JAI to allow images and catalog data from files to be loaded from the Internet. By providing a framework for adding imaging operations and formats, the Java-based software supports image overlays and can plot catalog data in various coordinate spaces, such as world or image coordinates.
"Having such functions built into the JAI library gives developers more time to focus on added value," says Illich Cheng, president of MTI. "We envision the JAI-API to be a component of follow-on products including Web-server technology for the sharing of images, both remote and within a clinic, and further development of multimodality workstation-based viewing software, he says.
While MTI is looking to embed applications software in its systems operator console, other companies are concerning themselves with developing tools to create multipurpose visual and quantitative analysis software tools adaptable to many types of dynamic medical images. "Visual analysis of such data is difficult, time-consuming, and often subjective," says Herve Guillemet of Apteryx (Issy-Les-Moulineaux, France). For this reason, the company has developed its Pixies (Physiological Information eXtraction from ImagE Sequences) software to help physicians and researchers extract diagnostic information from sequences of biomedical images. In operation, Pixies analyzes a series of images or a series of volumes from any imaging device and extracts a small number of images or volumes that represent a physical or a physiological meaning (see Fig. 1).
"Pixies can read standard medical-image formats such as DICOM, Interfile, and raw (flat) files, and nonmedical formats such as JPEG, GIF, and PNG files," says Guillemet. Developed at the French National Institute of Health (Paris, France), Pixies allows image-processing operations, such as convolution, subtraction of images, rotation of images, and filtering, to be performed.
RIGHT. FIGURE 3. To help government agencies organize, visualize, and analyze geographic information, the Environmental Systems Research Institute is developing Java-based software. Both the company's ArcIMS (shown) and ArcExplorer GIS software were developed using Java to allow images and related data to be deployed in a platform-independent manner across the Internet.
"Using Java 2, Project Swing (Java Foundation Classes that implement GUI components), (JINI and JAI, Pixies is built upon a three-tier architecture including a client, an application server, and calculation components. The GUI runs on any desktop machine using Windows, MacOS, or UNIX, while the calculations are performed on a remote server using an IP network. Pixies can also be run as a stand-alone application on a single machine," says Guillemet.
Perhaps the most important reason developers are choosing Java for their next-generation applications is its ability to display images on multiple platforms and across the Internet. This allows images to be disseminated rapidly and to be studied on a variety of host-based machines. In astronomy and space-based applications, this benefit presents a boon to researchers. Recognizing this, both the European Southern Observatory (ESO; Munich, Germany) and the Jet Propulsion Laboratory (JPL; Pasadena, CA) are developing software-based systems to manipulate, analyze, and compare images.
In the development of its next-generation JSky image-display and catalog-browsing tool for astronomers, ESO faced the task of building a system that allows images and catalog data from files to be loaded from the Internet. ESO chose Java and JAI to develop JSky to minimize porting and machine/OS related issues. By providing a framework for adding imaging operations and formats, the Java-based software supports image overlays and can plot catalog data in various coordinate spaces, such as world or image coordinates (see Fig. 2). By including tiling and remote viewing, a single section of an image can be downloaded at a time, reducing bandwidth and allowing operators to move quickly from image to image.
"Many of the JAI-API features fit into what we are doing," says Miguel Albrecht, head of the ESO/DMD science archive group. "JSky relies on image-processing functions such as look-up table, histogram, and transpose, which are built into the JAI-API," he says. JSky also relies on the tiling and remote viewing features of the JAI-API for dealing with large and/or remote image files. "We expect that other research institutions will contribute to this project and anticipate that Java will become a standard in the astronomical community," says Albrecht.
Indeed, other research organizations, including the JPL Multimission Image Processing Laboratory (MIPL), are standardizing on the JAI-API. Gathering images and data from NASA and JPL sources, including planetary spacecraft, satellites, and antennae, MIPL formats and standardizes images and data for display and analysis. When images and telemetry are delivered to the MIPL, imaging software refines the data, helping the science team to manipulate, analyze, and compare images.
"Currently, the MIPL is using a program called XVD, which is based on the C++ programming language, for image display," says Bob Deen, a senior member of the technical staff at the information systems of the MIPL. "But while XVD is effective, it is limited in its ability to display images on multiple platforms and the Web," he continues.
To overcome these limitations, the MIPL is developing JADE—Java technology-based software—to meet the JPL's need for a platform-independent and Web-enabled application. The laboratory's application allows complex images and background data as large as 2 Gbyte to be displayed. JADE, which is in the prototype stage, incorporates the JAI-API to let smaller pieces of the entire image to be viewed. The MIPL anticipates increasing its use of the JAI-API as JADE develops beyond the prototype stage. "This is the first step toward converting to a Java-based imaging platform," says Deen.
While medical-, astronomy-, and space-based imaging systems are using Java for platform-independent image processing, others are using the technology to view and manipulate geographic reference images. At the Environmental Systems Research Institute (ESRI; Redlands, CA), for example, researchers are developing Java-based software applications that help government agencies organize, visualize, and analyze geographic information. Both the ESRI ArcIMS and ArcExplorer GIS software were developed using Java to allow images and related data to be deployed in a platform-independent manner across the Internet (see Fig. 3).
"ArcIMS and ArcExplorer are both tools for combining data and geographical images. Using Java technology allows us to work across platforms, which is critical for Internet deployment. And the JAI API allowed us to build additional functionality into our software without having to develop the code ourselves," says Mike Tait, ERSI Internet technologies manager.
ESRI uses the imaging technologies within the Java 2D and JAI-API to view and manipulate geographic reference image sources within a Java technology-based GIS data viewer. At present, the state of Illinois is using ESRI's software to combine and analyze geographically related law-enforcement statistics with mapping technology to create a CD-ROM-based crime-analysis tool.
As extensible, scalable, network-aware software, Sun's JAI-API is already allowing image-processing applications to be run on a variety of host computers. And, because the standard is open, further development work by Sun and others should provide developers with easy-to-implement building blocks to bring platform-independent imaging packages to market faster. As Scott McNealy, Sun's chairman, CEO, and president says, the company's idea is to connect anyone, anywhere, anytime, on any device.
01 58 04 00 88
La Palma, CA 90623
Fax: (714) 562-8084
Eastman Kodak Company
Rochester, NY 14650-0205
DMD/Science Archive Facility
(49) 89 32006 346
Fax: (49) 89 32006 480
Redlands, CA 92373
European Southern Observatory
Fax: (49) 89-32006-490
Jet Propulsion Laboratory
Pasadena, CA 91109
Vancouver, BC, V5Z 1M9 Canada
Siemens Corporate Research
Princeton, NJ 08540-6632
Fax: (609) 734-6565
Palo Alto, CA 94303
French Institute of Health and Medical Research
Paris Cedex 13, France
(01) 44 23 60 84
Fax: (01) 45 70 76 81