| The Java 
              Advanced Imaging API, or JAI, provides tools for "sophisticated, 
              high performance image processing." First developed in the 
              late 1990s some of the JAI features are now available in J2SE5.0 
              (e.g. I/O for a wide range of image formats) but it still provides 
              a large and robust set of imaging tools. For example, many high end imaging tasks involve dealing with extremely 
              large images. JAI allows for "tiling" in whch users can 
              grab a section of an image for display and thus save lots of bandwidth. Other features 
              include  
              Deferred execution of image processing task until they are needed. 
                This "just-in-time" approach provides for faster response 
                to the user since not time is wasted on unneeded computation.Built-in RMI (Remote Method Invocation is discussed in Part 
                2) allows for distributing image tasks and client interaction 
                over the network.Extensible framework allows for expansion of capabilities via 
                plug-in modules developed by users and third parties. Imaging capabilities include over 100 different image processing 
              operations, image I/O for several formats (many of these are now 
              available in J2SE5.0), and using Java 2D tools to overlay graphics 
              on images. See the links below for further description of JAI and to download 
              the packages.  Applications of JAI JSky 
              is used by astronomers to plan observations for the Gemini 
              Telescope. The JSky 
              home site describes how the program manages catalogs of imagery 
              obtained in many formats and provides imaging tools to analyze individual 
              images as well as to combine and compare multiple images. JAI is used as part of the  
              Scientist's Expert Assistant developed at NASA Goddard Space 
              Flight Center in conjunction with the Space Telescope Science Institute. 
              This is "a system that combines interactive visual and expert 
              system approaches to assist astronomers in planning observations." 
              See the papers 
              and presentations 
              describing the program. GeoVirgil 
              is a "planetary data analysis tool works as a map program (or 
              Graphical Information System) for NASA planetary imagery. Developed 
              by Steve McDonald, it "combines imagery, elevation and other 
              data sets into an integrated map view." Various image processing 
              functions are available. A 3D 
              version is under development. AstroVirgil 
              is another Java program from Steve McDonald that is used to analyze 
              data from the space-based Chandra 
              X-ray telescope. JadeDisplay 
              is a   
              "a high-performance image display component for serious 
                imaging applications using JAI (Java Advanced Imaging). It works 
                asynchronously, loading/computing image tiles in background threads. 
                This frees up the GUI thread so the user doesn't have to wait 
                for the entire image to load, and scrolling is fast regardless 
                of image size (as long as it is tiled)." See Java 
              Advanced Imaging In Action: The Java Advanced Imaging API Customer 
              Success Stories for a long list of other programs used in a 
              wide range of applications that take advantage of JAI. References & Web Resources  
             Latest update: Oct. 19, 2005 |