SlideShare a Scribd company logo
1 of 15
Download to read offline
Evaluation of Java™ Advanced Imaging
   as a Basis for Image Processing
  Applications in the Earth Sciences


            Sun Microsystems, Inc.
              Utah State University
           Affiliated Research Center

                    submitted to
  NASA Commercial Remote Sensing Program Office
      John C. Stennis Space Center, MS 39529



                          i
Commercial Remote Sensing Program
           Affiliated Research Center
             Utah State University


                             Final Report:
                         ™
Evaluation of Java Advanced Imaging as a Basis for
Image Processing Applications in the Earth Sciences


                             Project conducted by:
                        Sun Microsystems, Inc.
                        901 San Antonio Road
                      Palo Alto, California 94303

                             Report prepared by:
                              Brian Burkhalter
                           Sun Microsystems, Inc.
                                      and
     Clifford Holle, Richard Spencer, Laurie Littledike, Praveen Rikkala
          Utah State University, Affiliated Research Center Program


                             Report prepared for:
       Doran J. Baker and R. Douglas Ramsey, Principal Investigators
                    Affiliated Research Center Program
                            Utah State University
                             Logan, Utah 84322
                                    and
                Commercial Remote Sensing Program Office
              National Aeronautics and Space Administration
             John C. Stennis Space Center, Mississippi 39529



                               March 1, 2000
Table of Contents

Preface...................................................................................................................................... iv
Executive Summary .................................................................................................................. v
1.0 Introduction ......................................................................................................................... 1
   1.1 Company Profile ............................................................................................................. 1
   1.2 Purpose of ARC Partnership ........................................................................................... 1
2.0 Project Description.............................................................................................................. 2
   2.1 Project Technical Approach ............................................................................................ 2
   2.2 Resources Provided......................................................................................................... 3
3.0 Results ................................................................................................................................. 3
4.0 Metrics................................................................................................................................. 9
5.0 Conclusions ......................................................................................................................... 9


                                                                 Tables

Table 1. JAI functionality matrix. ............................................................................................. 5




                                                                      iii
Preface

This project was the twelfth completed under the auspices of the NASA John C. Stennis
Space Center Affiliated Research Center (ARC) as established on the campus of the Utah
State University of Agriculture and Applied Science by the Commercial Remote Sensing
Program (CRSP) under Cooperative Agreement No. NCC13-18. The ARC is administered
through the Office of the College of Natural Resources and the Space Dynamics Laboratory
of Utah State University Research Foundation. Their support is acknowledged and
appreciated. The contributions of many persons have made possible the successful
accomplishments listed in the report that follows, including those in private industry,
government, and education. Of particular mention are Brian Burkhalter (JAI Product
Engineer and ARC project PI) of Sun Microsystems, Inc.; Dr. Nathan Sovik, Dr. Bruce
Davis, Dr. Molly Macauley, Dr. Paul Maughan, Stan Woolley, and Doc Smoot at SSC; and
Laurie Littledike, Dr. David Norton, Dr. Allan Steed, and Richard Spencer of Utah State
University. The guidance and support of the National Aeronautics and Space Administration
is appreciated.


Doran J. Baker
R. Douglas Ramsey
Co-Principal Investigators

Clifford Holle
ARC Program Coordinator




                                           iv
Executive Summary

Sun Microsystems, Inc., developed the Java™ Advanced Imaging (JAI) Application
Programmer's Interface (API) as a general purpose package to serve as the basis for Java™
image processing applications in a variety of domains. These domains included but were not
limited to geospatial data processing, medical imaging, document imaging, defense and
intelligence, and electronic commerce. Although a variety of expertise was available during
the course of the design and development of the product, this does not guarantee the usability
or completeness of the product in a given application domain. To assess the value of JAI in
the application domain of the Earth Sciences, which is a subset of the geospatial data
processing market segment, Sun decided to participate in the ARC project with Utah State
University (USU).

The primary objective of the study was to determine whether JAI provided an adequate basis
upon which image-processing applications for Earth Sciences usage could be developed. To
this end, the USU/Sun Microsystems team formulated a matrix of requirements (Table 1),
and JAI was inspected and utilized to evaluate whether these various requirements were
satisfied either directly or by virtue of enabling technology. Some demonstration software
using JAI was also developed to illustrate its image format handling and display capabilities
as well as its usage in a typical Earth Sciences algorithm. A secondary objective was to
establish contacts with potential users of JAI in areas related to the Earth Sciences.

The results of the evaluation were that JAI satisfied the majority of requirements directly; i.e.,
by furnishing the desired behavior without additional programming effort. In the majority of
cases where required functionality was not provided directly, functionality was found to be
implementable by means of the extensibility interface. The cases in which use of the
extensibility interface was called for were all outside what the JAI designers considered to be
the scope of general purpose imaging functionality. The remaining requirements that were not
satisfied by JAI were instead considered to be outside the scope of the project and were in all
cases available via other Java™ packages. The demonstration software showed JAI's ability to
load data file formats typical in the Earth Sciences, to generate a classification map from
those data, and to display and store the imagery and the class map.

Participation in the ARC project enabled Sun to enhance its knowledge of how well JAI
satisfied the requirements of applications in the Earth Sciences and in remote sensing. This
information will be utilized eventually to ascertain whether new functionality needs to be
added to JAI to improve usability in this application domain and, if so, what functionality is
lacking. In the course of this study, USU introduced Sun Microsystems to various elements of
the U.S. Bureau of Land Management’s mapping division. It is expected that a sustained
partnership by Sun Microsystems and USU may continue to provide additional contacts in
the future.




                                                v
1.0 Introduction

1.1 Company Profile
Sun Microsystems, Inc., was incorporated in 1982; its CEO and Chairman is Scott McNealy.
The firm employs approximately 27,000 people, and 20 employees are working on the Java™
Advanced Imaging (JAI) project. Brian Burkhalter is the lead software engineer working on
the project. Sun Microsystems markets a wide variety of computer products, including
computer systems and peripherals, software, and networking. The JAI group is committed to
having global acceptance for JAI in its key target markets: astronomy, medical imaging,
geospatial data processing, defense and intelligence, document imaging, photography,
e-commerce, and retail. The group wants JAI to have the functions and features that users
will need. The long-term goal for JAI is to make it easy to use so that imaging companies can
reduce the time required to produce a marketable product. The objective is to make JAI the
imaging application programmer's interface (API) with the best available price-to-
performance ratio. The goal is to meet or exceed the requirements and expectations of all
users of JAI.

1.2 Purpose of ARC Partnership
Sun Microsystems, Inc., and Utah State University (USU) investigated the utility to Earth
Sciences application developers of a Java™-based image processing application programmer's
interface called Java™ Advanced Imaging. JAI is a standard extension to the Java™ platform
intended for developing image processing applications and applets in Java™. The API
streamlines the process of creating powerful imaging software solutions and facilitates image
processing to be accomplished on any class of computer for which a Java™ 2 compatible
virtual machine is available.

The JAI API has been developed by Sun Microsystems, Inc., in collaboration with academic,
governmental, and corporate partners per the Java™ Community Process. The JAI 1.0 product
specifications were jointly developed with Autometric, Inc.; Eastman Kodak, Inc.; and
Siemens Corporate Research, Inc. The current version of JAI is JAI 1.0.2, which was released
in December 1999.

This software is designed to run on operating systems that support the Java™ 2 Platform. An
important capability of the package is its support for distributed image processing. This
makes possible the processing of images using disparate computational resources that may be
in entirely different physical locations.

Sun Microsystems is interested in making the JAI software more attractive to developers of
image processing software used in the Earth Sciences domain by incorporating more of the
functionality required by this market segment. The primary focus of this project is to add
value to JAI and to enable it to better function in real-world, Earth Science-based remote
sensing activities. The NASA USU Affiliated Research Center (ARC) team assisted through
software evaluation and prototyping of proof of concept products that Sun can use to further
the development of the JAI product. Sun Microsystems can use this research to evaluate JAI


                                             1
applications in the Earth Sciences (including remote sensing and geographic information
systems (GIS)) and potentially to add new functionality to future versions of the JAI
software.

Potential customers of applications in this functional domain include the following:
   •   Government agencies that utilize remote sensing and GIS technologies
   •   Private companies with remote sensing laboratories
   •   Land users and managers
   •   Natural resource managers
   •   Universities with remote sensing laboratories


                                2.0 Project Description

2.1 Project Technical Approach
Sun Microsystems has developed a Java™ image processing application programmer’s
interface. It was desirable that a remote sensing laboratory assist Sun Microsystems in
identifying applications for this software and test its functionality in real-world conditions.
The steps undertaken to achieve these objectives were as follows:
   1. Sun Microsystems Computer Systems representatives made a site visit to USU during
      the project to train USU staff on JAI software. In the course of this visit, USU staff
      demonstrated current image processing software being utilized in the Earth Sciences
      and remote sensing. The emphasis was on the demonstration of current state-of-the-
      practice functionality available in commercial-off-the-shelf packages used in earth-
      science-based remote sensing laboratories.
   2. The project team used Sun Microsystems Java™ Advanced Imaging software to
      evaluate its capabilities in a specific application area (natural resource management
      and mapping). An evaluation of hardware and software requirements needed to
      perform a typical image-processing job using both currently available software and
      the enhanced JAI product was performed.
   3. The project team evaluated the output and functionality of the software on remotely
      sensed imagery contained in USU’s RS/GIS Lab data archives.
   4. Throughout the project, the team explored new functionality for JAI aimed at natural
      resource management and mapping applications.
   5. The team tested the viability of JAI using imagery of various sizes and types.
   6. The final meeting was held between Sun Microsystems and the USU ARC project
      staff in Logan, Utah, on January 21, 2000. The USU staff presented the results of its
      investigative and prototypical investigations in terms of a functionality evaluation
      matrix and demonstration software, respectively. The results were discussed and
      consensus was achieved on all items that had been unclear.


                                              2
7. The requirements with respect to JAI that were investigated included the following:
       •   Preprocessing: radiometric correction, topographic slope and aspect effects,
           geometric correction.
       •   Display and enhancement: includes file I/O, sub-banding, zoom/subsampling,
           spatial filtering, Fourier analysis, vegetation indexes.
       •   Information extraction: classification, ancillary data handling.
       •   Cartographic composition: printing, raster/vector data handling and merging.

2.2 Resources Provided
Sun Microsystems Computer Systems provided the following resources:
   •   Five hours per week until the proof of concept was achieved.
   •   Travel for Sun employees to Logan, Utah, for project meetings and training.
   •   Java™ Advanced Imaging software.
   •   Image processing and JAI software coding expertise.

Utah State University provided the following resources:
   •   40 - 50 hours per week by staff and students through the proof-of-concept phase.
   •   Expertise with available remote sensing applications and software.
   •   Experience with mapping and interpreting environmental areas.
   •   Knowledge of application techniques of remote sensing.
   •   30-meter resolution Thematic Mapper (TM) imagery and other image products as
       needed (owned by USU RS/GIS Lab).


                                        3.0 Results

From the point of view of Sun Microsystems, the USU ARC investigation was valuable for
two primary reasons. First, the study validated the initial content of the first version of the
JAI specification and reference implementation. Second, the project provided an indication of
some areas in which improvement could be made to enhance the value of JAI for use in the
Earth Sciences, natural resource management, mapping, and remote sensing.

The content of JAI may be considered to be composed of two principal components: 1) the
core, which provides generic image data handling features, such as tiling, deferred execution,
multithreading, memory management, and network-awareness; and 2) the specific operations,
which are based upon the core and made available directly to the user, such as image file
input/output and image operators (filtering, geometric operations, etc.).




                                               3
The study validated that the set of image processing operators and file format support
provided a reasonable if not comprehensive basis for image processing applications in the
Earth Sciences and related areas. The project also verified that the core architecture was
sufficiently robust, especially in terms of its extensibility to support user implementation of
operators that were not provided directly by JAI. Essentially all investigated capabilities were
available directly from JAI, from straightforward user implementation using JAI’s
extensibility mechanism, or from other Java™ packages provided by the Java™ 2 virtual
machine itself.

The study also provided guidance as to what new capabilities would be of most interest in the
Earth Sciences and related areas. Principal among these were the various forms of supervised,
unsupervised, and hybrid (spatial-spectral and contextual) classification. This was valuable
information that is closely related if not integral to an area of capability that can be added to
JAI in the future; i.e., image analysis.




                                               4
Table 1. JAI functionality matrix.


                                            Sun Microsystems, Inc./Utah State University
                                                Affiliated Research Center Project

                                        Evaluation of Java Advanced Imaging API for Utility
                                         in Natural Resource Management Image Processing

                                        Class                Responsibility Available
                                                 Considered                              Not
   Image Processing Requirements      Available              of Application   via                                 Additional Comments
                                                 for JAI 1.1                           Available
                                     in JAI 1.02               Developer Extensibility
Preprocessing
Radiometric correction
System corrections                                                                                 e.g., LandSat fails on a scan line, how to "repair" it
                                                                               X
                                                                                                   MedianFilter ( )
Atmospheric corrections                                                                            Removal of atmospheric attenuation, including
                                                                                                   scattering and absorption. This is a Must if you want to
(Deconvolution)                                                                X                   work with the hyperspectral imagery community or to
                                                                                                   normalize multi-date imagery for change detection
                                                                                                   apps
Topographic slope & aspect effects                                                                 Removal of all topographically induced illumination
                                                                                                   variation so that 2 objects having the same reflectance
                                                                                                   properties show the same brightness value in the image
                                                                                                   despite their different orientation to the sun's position
Simple cosine correction method                                                X                   LH = cos θ0/cos i
Semiemperical methods                                                                              Minnaert Method and C Correction (includes
                                                                               X
                                                                                                   Lambertian surface coefficient)
Statistical-Empirical Correction                                                                   Correlates predicted illumination from a digital
                                                                                                   elevation model with actual remote sensor data thereby
                                                                                                   allowing the rotation of the regression line such that a
                                                                               X                   specific object (e.g., a particular type of deciduous
                                                                                                   forest) independent of cos i and produces the same
                                                                                                   Brightness Value (BV) throughout the image for this
                                                                                                   object.
Geometric correction                                                                               Takes into account errors due to platform altitude and
                                                                                                   attitude changes



                                                                    5
Class                Responsibility Available
                                                  Considered                              Not
   Image Processing Requirements       Available              of Application   via                                Additional Comments
                                                  for JAI 1.1                           Available
                                      in JAI 1.02               Developer Extensibility
Image-to-image registration                                                                         Translation and rotation alignment (coregistration of
                                                                                                    imagery). Should allow user to choose how or if data is
                                                                                                    manipulated spectrally during the geometric translation
                                          X
                                                                                                    (zero-order or “nearest neighbor”, first-order or
                                                                                                    “bilinear interp.”, and cubic convolution) “Warp” or
                                                                                                    “Affine”
Image-to-map rectification                                                                          Process to make image geometry planimetric. Involves
                                          X                                                         spatial interpolation as well as intensity interpolation
                                                                                                    (BV’s). May not remove all topo effects.
Orthorectification of aerial photos                                             X
Display and Enhancement
File I/O                                                                                            New I/O module in development to complement JAI
                                                                                                    1.1
                                          X                                     X                   GEOTIFF and other industry standards are covered via
                                                                                                    the extensibility of the JAI package. JAI.create ( )
                                                                                                    “Fileload”
Black & white, color-composite                                                                      BandSelect – Allows for 3-color representation of >3
                                          X                                                         channel data. ScrollingImagePanel ( ) swing
display                                                                                             component
Density slice (color table                                                                          IndexColorModel
                                          X
manipulation)
Zoom (+, -)                               X                                                         Scale works for Zoom
Pan and Roam                                                       X                                No function in place for pan and roam
Image resampling
Decimation                                X                                                         JAI.create(“scale”)
Pyramid layering                          X                                                         ImagePyramid ( ), ImageMIPMap ( )
Interpolation                                                                                       JAI.create(“scale”) Nearest, Bicubic, BicubicZ,
                                          X
                                                                                                    Bilinear
Transects                                                                       X                   Important for evaluation of profiles within imagery
Contrast manipulation                                                                               Rescale, Piecewise, Matchcdf (Histogram)
                                          X
                                                                                                    JAI.create (“convolve”)




                                                                       6
Class                Responsibility Available
                                               Considered                              Not
   Image Processing Requirements    Available              of Application   via                                Additional Comments
                                               for JAI 1.1                           Available
                                   in JAI 1.02               Developer Extensibility
Image algebra                                                                                    BandSelect, no layer stacking operator though (See
                                                                                                 Chapter 6 of Programming in Java Advanced Imaging,
                                       X                                                         http://java.sun.com/products/java-
                                                                                                 media/jai/forDevelopers/jai1_0_1guide-unc/
                                                                                                 JAITOC.fm.html
Band ratioing                                                                                    Can be applied to reduce the effects of environmental
                                       X
                                                                                                 conditions
Image differencing                     X
Layer stacking                                     X
Spatial filtering
Convolution filtering                                                                            Convolution (JAI.create(“convolve”, ???, null))
Low/high pass filters                  X
Edge enhancement                                                                                 GradientMagnitude function; Pixel by pixel w/
                                       X
                                                                                                 Threshold.value; sharp
Fourier Analysis
Fast Fourier Transform                 X                                                         DFT (JAI.create(“DFT”)) Discrete Fourier Transform
Inverse Fast Fourier Transform         X                                                         IDFT Inverse Discrete Fourier Transform
Special Transformations
Principal Component Analysis                                    X
Vegetation Indexes
Normalized Difference Vegetation                                                                 JAI Image Algebra allows implementation
                                       X
Index
Tasseled Cap                                                                 X                   JAI Image Algebra allows implementation
Frequency transformations                                                                        DFT, DCT (JAI.create(“DFT”)) Discrete Fourier
                                       X                                                         Transform, Discrete Cosine Transform
(Fourier, cosine, etc.)
Digital Elevation Models                                                                         Implemented with Java 3D?
For processing uses                                X
For 3-D visualization uses                                                              X
Animation                              X                                                         May require interoperability with Java Media File

Information Extraction


                                                                    7
Class                Responsibility Available
                                                 Considered                              Not
   Image Processing Requirements      Available              of Application   via                                 Additional Comments
                                                 for JAI 1.1                           Available
                                     in JAI 1.02               Developer Extensibility
Supervised classification
Parallelepiped algorithm                                                                           Decision rule based on simple Boolean logic. Standard
                                                                                                   deviation thresholds create n-dimensional space
                                                                                                   parallelepiped based on training data. If a pixel falls
                                                                                                   into one of the created parallelepipeds, it is assigned to
                                                                                                   that class; otherwise it is assigned to an “unclassified”
                                                                               X
                                                                                                   category. Math libraries compute StdDev for each
                                                                                                   band using training points selected by user. Compare
                                                                                                   pixels for < or = stdDev specified. If within stdDev for
                                                                                                   All Bands, Add to class, otherwise place into
                                                                                                   “unclassified” class.
Minimum distance                                                                                   User defines mean vectors for each class with training
                                                                                                   data. Euclidean distance to vector determines
                                                                               X
                                                                                                   minimum distance and therefore defines class
                                                                                                   assignment for each pixel.
Maximum likelihood                                                             X
Unsupervised classification
Multi-pass ISODATA (clustering)                                                X
Hybrid classification using
                                                                                          X
ancillary information
Incorporation of ancillary data
                                                                  X
during classification
Cartographic Composition and
Other
Scaled postscript output of images                                                                 Can print (postscript implementable)
                                                                  X
and maps
Vector/Raster based GIS                                                                            Vector only but there are no attribute handlers




                                                                      8
4.0 Metrics

Performance metrics are an integral component of the ARC project to realize increased sales
and profit. Sun Microsystems expects this product eventually to be used by various
government, private, and educational organizations. This product can provide the basis for
further applications, making it possible for more people to use the technology over the
Internet. Advances in the remote sensing science will be realized as new and faster
techniques are designed.

During the course of this project, upper management within Sun Microsystems determined
that they were stretched too thin with their many ongoing product development activities. The
result is an extended development period for JAI 1.1. It is, therefore, not possible to directly
address many of the originally proposed metrics for this project at this time. Dollar values are
currently unknown; however, USU is dedicated to tracking this product over the next several
years to provide metrics feedback as the product is marketed.

Sun Microsystems believes that the use of JAI could save developers a lot of money versus
developing a product from “zero” but cannot, at this time, provide numbers on increased
sales resulting from this project. While it is likely that the information learned from this
project will support adding certain functionality in some future release of JAI, it is unlikely
that this product will be the next release (again, partially due to the extension of the
development schedule).


                                     5.0 Conclusions

As outlined in greater detail in the “Results” section above, this ARC project was of benefit
to Sun Microsystems primarily in two ways:

   1. Verification of Existing Design and Implementation of JAI
       •   Most operators required for Earth Science applications in terms of input/output,
           processing, and display of imagery are available directly from JAI or from other
           packages in the Java™ virtual machine.
       •   More specialized operators not provided by JAI could be implemented by
           application developers in the Earth Sciences.
   2. Indication of Potential Improvements to JAI
       •   Principal areas of improvement that would make JAI more attractive to Earth
           Sciences developers were identified (see matrix above).
       •   The areas of potential enhancement consist mostly of new operators that
           developers could presently add themselves using JAI’s inherent extensibility.




                                               9
The expertise of the investigators at USU was found to be particularly valuable in terms of
providing verification of Sun Microsystems’ efforts to date and in furnishing greater insight
into the use of image processing for Earth Science applications.




                                             10

More Related Content

Similar to * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Processing Applications in the Earth Sciences

10 06-03 uva boone-technical report
10 06-03 uva boone-technical report10 06-03 uva boone-technical report
10 06-03 uva boone-technical reportSean Casey, USRA
 
Interactive Geovisualization of Seismic Activity
Interactive Geovisualization of Seismic Activity Interactive Geovisualization of Seismic Activity
Interactive Geovisualization of Seismic Activity Stuti Deshpande
 
Remote Sensing Applications in Agriculture at the USDA National Agricultural...
Remote Sensing Applications in Agriculture at the USDA  National Agricultural...Remote Sensing Applications in Agriculture at the USDA  National Agricultural...
Remote Sensing Applications in Agriculture at the USDA National Agricultural...Phongsakorn Uar-amrungkoon
 
An investigation into the physical build and psychological aspects of an inte...
An investigation into the physical build and psychological aspects of an inte...An investigation into the physical build and psychological aspects of an inte...
An investigation into the physical build and psychological aspects of an inte...Jessica Navarro
 
Mobiles for reading a landscape research review
Mobiles for reading   a landscape research reviewMobiles for reading   a landscape research review
Mobiles for reading a landscape research reviewDr Lendy Spires
 
PDS Imaging Node's Hosted Machine Learning Platform
PDS Imaging Node's Hosted Machine Learning PlatformPDS Imaging Node's Hosted Machine Learning Platform
PDS Imaging Node's Hosted Machine Learning PlatformKevin Grimes
 
NASA-TM-2019-220417-comp.pdf
NASA-TM-2019-220417-comp.pdfNASA-TM-2019-220417-comp.pdf
NASA-TM-2019-220417-comp.pdfToto Subagyo
 
Self Automated Rovers
Self Automated RoversSelf Automated Rovers
Self Automated RoversRutikBhoyar
 
Special Publication 500-293 (Draft) US Government Cloud Computin.docx
Special Publication 500-293 (Draft) US Government Cloud Computin.docxSpecial Publication 500-293 (Draft) US Government Cloud Computin.docx
Special Publication 500-293 (Draft) US Government Cloud Computin.docxrafbolet0
 
Augmented Reality App for Location based Exploration at JNTUK Kakinada
Augmented Reality App for Location based Exploration at JNTUK KakinadaAugmented Reality App for Location based Exploration at JNTUK Kakinada
Augmented Reality App for Location based Exploration at JNTUK KakinadaIRJET Journal
 
Past, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software DataPast, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software DataJeongwhan Choi
 
Satellite Image Classification and Analysis using Machine Learning with ISRO ...
Satellite Image Classification and Analysis using Machine Learning with ISRO ...Satellite Image Classification and Analysis using Machine Learning with ISRO ...
Satellite Image Classification and Analysis using Machine Learning with ISRO ...IRJET Journal
 
IMED 2018: An intro to Remote Sensing and Machine Learning
IMED 2018: An intro to Remote Sensing and Machine LearningIMED 2018: An intro to Remote Sensing and Machine Learning
IMED 2018: An intro to Remote Sensing and Machine LearningLouisa Diggs
 

Similar to * Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Processing Applications in the Earth Sciences (20)

SDIAPv5n11
SDIAPv5n11SDIAPv5n11
SDIAPv5n11
 
SDIAPv5n11
SDIAPv5n11SDIAPv5n11
SDIAPv5n11
 
10 06-03 uva boone-technical report
10 06-03 uva boone-technical report10 06-03 uva boone-technical report
10 06-03 uva boone-technical report
 
ROSES-CADET
ROSES-CADETROSES-CADET
ROSES-CADET
 
Interactive Geovisualization of Seismic Activity
Interactive Geovisualization of Seismic Activity Interactive Geovisualization of Seismic Activity
Interactive Geovisualization of Seismic Activity
 
Remote Sensing Applications in Agriculture at the USDA National Agricultural...
Remote Sensing Applications in Agriculture at the USDA  National Agricultural...Remote Sensing Applications in Agriculture at the USDA  National Agricultural...
Remote Sensing Applications in Agriculture at the USDA National Agricultural...
 
An investigation into the physical build and psychological aspects of an inte...
An investigation into the physical build and psychological aspects of an inte...An investigation into the physical build and psychological aspects of an inte...
An investigation into the physical build and psychological aspects of an inte...
 
Mobiles for reading a landscape research review
Mobiles for reading   a landscape research reviewMobiles for reading   a landscape research review
Mobiles for reading a landscape research review
 
NISAR Utilization Plan
NISAR Utilization PlanNISAR Utilization Plan
NISAR Utilization Plan
 
PDS Imaging Node's Hosted Machine Learning Platform
PDS Imaging Node's Hosted Machine Learning PlatformPDS Imaging Node's Hosted Machine Learning Platform
PDS Imaging Node's Hosted Machine Learning Platform
 
1998annualreport[1]
1998annualreport[1]1998annualreport[1]
1998annualreport[1]
 
NASA-TM-2019-220417-comp.pdf
NASA-TM-2019-220417-comp.pdfNASA-TM-2019-220417-comp.pdf
NASA-TM-2019-220417-comp.pdf
 
Self Automated Rovers
Self Automated RoversSelf Automated Rovers
Self Automated Rovers
 
Special Publication 500-293 (Draft) US Government Cloud Computin.docx
Special Publication 500-293 (Draft) US Government Cloud Computin.docxSpecial Publication 500-293 (Draft) US Government Cloud Computin.docx
Special Publication 500-293 (Draft) US Government Cloud Computin.docx
 
nature
naturenature
nature
 
Augmented Reality App for Location based Exploration at JNTUK Kakinada
Augmented Reality App for Location based Exploration at JNTUK KakinadaAugmented Reality App for Location based Exploration at JNTUK Kakinada
Augmented Reality App for Location based Exploration at JNTUK Kakinada
 
Past, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software DataPast, Present, and Future of Analyzing Software Data
Past, Present, and Future of Analyzing Software Data
 
Satellite Image Classification and Analysis using Machine Learning with ISRO ...
Satellite Image Classification and Analysis using Machine Learning with ISRO ...Satellite Image Classification and Analysis using Machine Learning with ISRO ...
Satellite Image Classification and Analysis using Machine Learning with ISRO ...
 
Geospatial_Center_Brochure_2016
Geospatial_Center_Brochure_2016Geospatial_Center_Brochure_2016
Geospatial_Center_Brochure_2016
 
IMED 2018: An intro to Remote Sensing and Machine Learning
IMED 2018: An intro to Remote Sensing and Machine LearningIMED 2018: An intro to Remote Sensing and Machine Learning
IMED 2018: An intro to Remote Sensing and Machine Learning
 

More from white paper

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Javawhite paper
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overviewwhite paper
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guidewhite paper
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performancewhite paper
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machinewhite paper
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Changewhite paper
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paperwhite paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applicationswhite paper
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIwhite paper
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platformwhite paper
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overviewwhite paper
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systemswhite paper
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarkswhite paper
 
The Effect of Culture on Usability
The Effect of Culture on UsabilityThe Effect of Culture on Usability
The Effect of Culture on Usabilitywhite paper
 

More from white paper (20)

Secure Computing With Java
Secure Computing With JavaSecure Computing With Java
Secure Computing With Java
 
Java Security Overview
Java Security OverviewJava Security Overview
Java Security Overview
 
Platform Migration Guide
Platform Migration GuidePlatform Migration Guide
Platform Migration Guide
 
Java Standard Edition 5 Performance
Java Standard Edition 5 PerformanceJava Standard Edition 5 Performance
Java Standard Edition 5 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Java Standard Edition 6 Performance
Java Standard Edition 6 PerformanceJava Standard Edition 6 Performance
Java Standard Edition 6 Performance
 
Memory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual MachineMemory Management in the Java HotSpot Virtual Machine
Memory Management in the Java HotSpot Virtual Machine
 
J2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version ChangeJ2 Se 5.0 Name And Version Change
J2 Se 5.0 Name And Version Change
 
Java Web Start
Java Web StartJava Web Start
Java Web Start
 
Java Tuning White Paper
Java Tuning White PaperJava Tuning White Paper
Java Tuning White Paper
 
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d ApplicationsJava Apis For Imaging Enterprise-Scale, Distributed 2d Applications
Java Apis For Imaging Enterprise-Scale, Distributed 2d Applications
 
Introduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging APIIntroduction to the Java(TM) Advanced Imaging API
Introduction to the Java(TM) Advanced Imaging API
 
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java PlatformJava 2D API: Enhanced Graphics and Imaging for the Java Platform
Java 2D API: Enhanced Graphics and Imaging for the Java Platform
 
Concurrency Utilities Overview
Concurrency Utilities OverviewConcurrency Utilities Overview
Concurrency Utilities Overview
 
Defining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting SystemsDefining a Summative Usability Test for Voting Systems
Defining a Summative Usability Test for Voting Systems
 
Usability Performance Benchmarks
Usability Performance BenchmarksUsability Performance Benchmarks
Usability Performance Benchmarks
 
The Effect of Culture on Usability
The Effect of Culture on UsabilityThe Effect of Culture on Usability
The Effect of Culture on Usability
 

Recently uploaded

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...Fwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 

Recently uploaded (20)

"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks..."LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
"LLMs for Python Engineers: Advanced Data Analysis and Semantic Kernel",Oleks...
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 

* Evaluation of Java Advanced Imaging (1.0.2) as a Basis for Image Processing Applications in the Earth Sciences

  • 1. Evaluation of Java™ Advanced Imaging as a Basis for Image Processing Applications in the Earth Sciences Sun Microsystems, Inc. Utah State University Affiliated Research Center submitted to NASA Commercial Remote Sensing Program Office John C. Stennis Space Center, MS 39529 i
  • 2. Commercial Remote Sensing Program Affiliated Research Center Utah State University Final Report: ™ Evaluation of Java Advanced Imaging as a Basis for Image Processing Applications in the Earth Sciences Project conducted by: Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, California 94303 Report prepared by: Brian Burkhalter Sun Microsystems, Inc. and Clifford Holle, Richard Spencer, Laurie Littledike, Praveen Rikkala Utah State University, Affiliated Research Center Program Report prepared for: Doran J. Baker and R. Douglas Ramsey, Principal Investigators Affiliated Research Center Program Utah State University Logan, Utah 84322 and Commercial Remote Sensing Program Office National Aeronautics and Space Administration John C. Stennis Space Center, Mississippi 39529 March 1, 2000
  • 3. Table of Contents Preface...................................................................................................................................... iv Executive Summary .................................................................................................................. v 1.0 Introduction ......................................................................................................................... 1 1.1 Company Profile ............................................................................................................. 1 1.2 Purpose of ARC Partnership ........................................................................................... 1 2.0 Project Description.............................................................................................................. 2 2.1 Project Technical Approach ............................................................................................ 2 2.2 Resources Provided......................................................................................................... 3 3.0 Results ................................................................................................................................. 3 4.0 Metrics................................................................................................................................. 9 5.0 Conclusions ......................................................................................................................... 9 Tables Table 1. JAI functionality matrix. ............................................................................................. 5 iii
  • 4. Preface This project was the twelfth completed under the auspices of the NASA John C. Stennis Space Center Affiliated Research Center (ARC) as established on the campus of the Utah State University of Agriculture and Applied Science by the Commercial Remote Sensing Program (CRSP) under Cooperative Agreement No. NCC13-18. The ARC is administered through the Office of the College of Natural Resources and the Space Dynamics Laboratory of Utah State University Research Foundation. Their support is acknowledged and appreciated. The contributions of many persons have made possible the successful accomplishments listed in the report that follows, including those in private industry, government, and education. Of particular mention are Brian Burkhalter (JAI Product Engineer and ARC project PI) of Sun Microsystems, Inc.; Dr. Nathan Sovik, Dr. Bruce Davis, Dr. Molly Macauley, Dr. Paul Maughan, Stan Woolley, and Doc Smoot at SSC; and Laurie Littledike, Dr. David Norton, Dr. Allan Steed, and Richard Spencer of Utah State University. The guidance and support of the National Aeronautics and Space Administration is appreciated. Doran J. Baker R. Douglas Ramsey Co-Principal Investigators Clifford Holle ARC Program Coordinator iv
  • 5. Executive Summary Sun Microsystems, Inc., developed the Java™ Advanced Imaging (JAI) Application Programmer's Interface (API) as a general purpose package to serve as the basis for Java™ image processing applications in a variety of domains. These domains included but were not limited to geospatial data processing, medical imaging, document imaging, defense and intelligence, and electronic commerce. Although a variety of expertise was available during the course of the design and development of the product, this does not guarantee the usability or completeness of the product in a given application domain. To assess the value of JAI in the application domain of the Earth Sciences, which is a subset of the geospatial data processing market segment, Sun decided to participate in the ARC project with Utah State University (USU). The primary objective of the study was to determine whether JAI provided an adequate basis upon which image-processing applications for Earth Sciences usage could be developed. To this end, the USU/Sun Microsystems team formulated a matrix of requirements (Table 1), and JAI was inspected and utilized to evaluate whether these various requirements were satisfied either directly or by virtue of enabling technology. Some demonstration software using JAI was also developed to illustrate its image format handling and display capabilities as well as its usage in a typical Earth Sciences algorithm. A secondary objective was to establish contacts with potential users of JAI in areas related to the Earth Sciences. The results of the evaluation were that JAI satisfied the majority of requirements directly; i.e., by furnishing the desired behavior without additional programming effort. In the majority of cases where required functionality was not provided directly, functionality was found to be implementable by means of the extensibility interface. The cases in which use of the extensibility interface was called for were all outside what the JAI designers considered to be the scope of general purpose imaging functionality. The remaining requirements that were not satisfied by JAI were instead considered to be outside the scope of the project and were in all cases available via other Java™ packages. The demonstration software showed JAI's ability to load data file formats typical in the Earth Sciences, to generate a classification map from those data, and to display and store the imagery and the class map. Participation in the ARC project enabled Sun to enhance its knowledge of how well JAI satisfied the requirements of applications in the Earth Sciences and in remote sensing. This information will be utilized eventually to ascertain whether new functionality needs to be added to JAI to improve usability in this application domain and, if so, what functionality is lacking. In the course of this study, USU introduced Sun Microsystems to various elements of the U.S. Bureau of Land Management’s mapping division. It is expected that a sustained partnership by Sun Microsystems and USU may continue to provide additional contacts in the future. v
  • 6. 1.0 Introduction 1.1 Company Profile Sun Microsystems, Inc., was incorporated in 1982; its CEO and Chairman is Scott McNealy. The firm employs approximately 27,000 people, and 20 employees are working on the Java™ Advanced Imaging (JAI) project. Brian Burkhalter is the lead software engineer working on the project. Sun Microsystems markets a wide variety of computer products, including computer systems and peripherals, software, and networking. The JAI group is committed to having global acceptance for JAI in its key target markets: astronomy, medical imaging, geospatial data processing, defense and intelligence, document imaging, photography, e-commerce, and retail. The group wants JAI to have the functions and features that users will need. The long-term goal for JAI is to make it easy to use so that imaging companies can reduce the time required to produce a marketable product. The objective is to make JAI the imaging application programmer's interface (API) with the best available price-to- performance ratio. The goal is to meet or exceed the requirements and expectations of all users of JAI. 1.2 Purpose of ARC Partnership Sun Microsystems, Inc., and Utah State University (USU) investigated the utility to Earth Sciences application developers of a Java™-based image processing application programmer's interface called Java™ Advanced Imaging. JAI is a standard extension to the Java™ platform intended for developing image processing applications and applets in Java™. The API streamlines the process of creating powerful imaging software solutions and facilitates image processing to be accomplished on any class of computer for which a Java™ 2 compatible virtual machine is available. The JAI API has been developed by Sun Microsystems, Inc., in collaboration with academic, governmental, and corporate partners per the Java™ Community Process. The JAI 1.0 product specifications were jointly developed with Autometric, Inc.; Eastman Kodak, Inc.; and Siemens Corporate Research, Inc. The current version of JAI is JAI 1.0.2, which was released in December 1999. This software is designed to run on operating systems that support the Java™ 2 Platform. An important capability of the package is its support for distributed image processing. This makes possible the processing of images using disparate computational resources that may be in entirely different physical locations. Sun Microsystems is interested in making the JAI software more attractive to developers of image processing software used in the Earth Sciences domain by incorporating more of the functionality required by this market segment. The primary focus of this project is to add value to JAI and to enable it to better function in real-world, Earth Science-based remote sensing activities. The NASA USU Affiliated Research Center (ARC) team assisted through software evaluation and prototyping of proof of concept products that Sun can use to further the development of the JAI product. Sun Microsystems can use this research to evaluate JAI 1
  • 7. applications in the Earth Sciences (including remote sensing and geographic information systems (GIS)) and potentially to add new functionality to future versions of the JAI software. Potential customers of applications in this functional domain include the following: • Government agencies that utilize remote sensing and GIS technologies • Private companies with remote sensing laboratories • Land users and managers • Natural resource managers • Universities with remote sensing laboratories 2.0 Project Description 2.1 Project Technical Approach Sun Microsystems has developed a Java™ image processing application programmer’s interface. It was desirable that a remote sensing laboratory assist Sun Microsystems in identifying applications for this software and test its functionality in real-world conditions. The steps undertaken to achieve these objectives were as follows: 1. Sun Microsystems Computer Systems representatives made a site visit to USU during the project to train USU staff on JAI software. In the course of this visit, USU staff demonstrated current image processing software being utilized in the Earth Sciences and remote sensing. The emphasis was on the demonstration of current state-of-the- practice functionality available in commercial-off-the-shelf packages used in earth- science-based remote sensing laboratories. 2. The project team used Sun Microsystems Java™ Advanced Imaging software to evaluate its capabilities in a specific application area (natural resource management and mapping). An evaluation of hardware and software requirements needed to perform a typical image-processing job using both currently available software and the enhanced JAI product was performed. 3. The project team evaluated the output and functionality of the software on remotely sensed imagery contained in USU’s RS/GIS Lab data archives. 4. Throughout the project, the team explored new functionality for JAI aimed at natural resource management and mapping applications. 5. The team tested the viability of JAI using imagery of various sizes and types. 6. The final meeting was held between Sun Microsystems and the USU ARC project staff in Logan, Utah, on January 21, 2000. The USU staff presented the results of its investigative and prototypical investigations in terms of a functionality evaluation matrix and demonstration software, respectively. The results were discussed and consensus was achieved on all items that had been unclear. 2
  • 8. 7. The requirements with respect to JAI that were investigated included the following: • Preprocessing: radiometric correction, topographic slope and aspect effects, geometric correction. • Display and enhancement: includes file I/O, sub-banding, zoom/subsampling, spatial filtering, Fourier analysis, vegetation indexes. • Information extraction: classification, ancillary data handling. • Cartographic composition: printing, raster/vector data handling and merging. 2.2 Resources Provided Sun Microsystems Computer Systems provided the following resources: • Five hours per week until the proof of concept was achieved. • Travel for Sun employees to Logan, Utah, for project meetings and training. • Java™ Advanced Imaging software. • Image processing and JAI software coding expertise. Utah State University provided the following resources: • 40 - 50 hours per week by staff and students through the proof-of-concept phase. • Expertise with available remote sensing applications and software. • Experience with mapping and interpreting environmental areas. • Knowledge of application techniques of remote sensing. • 30-meter resolution Thematic Mapper (TM) imagery and other image products as needed (owned by USU RS/GIS Lab). 3.0 Results From the point of view of Sun Microsystems, the USU ARC investigation was valuable for two primary reasons. First, the study validated the initial content of the first version of the JAI specification and reference implementation. Second, the project provided an indication of some areas in which improvement could be made to enhance the value of JAI for use in the Earth Sciences, natural resource management, mapping, and remote sensing. The content of JAI may be considered to be composed of two principal components: 1) the core, which provides generic image data handling features, such as tiling, deferred execution, multithreading, memory management, and network-awareness; and 2) the specific operations, which are based upon the core and made available directly to the user, such as image file input/output and image operators (filtering, geometric operations, etc.). 3
  • 9. The study validated that the set of image processing operators and file format support provided a reasonable if not comprehensive basis for image processing applications in the Earth Sciences and related areas. The project also verified that the core architecture was sufficiently robust, especially in terms of its extensibility to support user implementation of operators that were not provided directly by JAI. Essentially all investigated capabilities were available directly from JAI, from straightforward user implementation using JAI’s extensibility mechanism, or from other Java™ packages provided by the Java™ 2 virtual machine itself. The study also provided guidance as to what new capabilities would be of most interest in the Earth Sciences and related areas. Principal among these were the various forms of supervised, unsupervised, and hybrid (spatial-spectral and contextual) classification. This was valuable information that is closely related if not integral to an area of capability that can be added to JAI in the future; i.e., image analysis. 4
  • 10. Table 1. JAI functionality matrix. Sun Microsystems, Inc./Utah State University Affiliated Research Center Project Evaluation of Java Advanced Imaging API for Utility in Natural Resource Management Image Processing Class Responsibility Available Considered Not Image Processing Requirements Available of Application via Additional Comments for JAI 1.1 Available in JAI 1.02 Developer Extensibility Preprocessing Radiometric correction System corrections e.g., LandSat fails on a scan line, how to "repair" it X MedianFilter ( ) Atmospheric corrections Removal of atmospheric attenuation, including scattering and absorption. This is a Must if you want to (Deconvolution) X work with the hyperspectral imagery community or to normalize multi-date imagery for change detection apps Topographic slope & aspect effects Removal of all topographically induced illumination variation so that 2 objects having the same reflectance properties show the same brightness value in the image despite their different orientation to the sun's position Simple cosine correction method X LH = cos θ0/cos i Semiemperical methods Minnaert Method and C Correction (includes X Lambertian surface coefficient) Statistical-Empirical Correction Correlates predicted illumination from a digital elevation model with actual remote sensor data thereby allowing the rotation of the regression line such that a X specific object (e.g., a particular type of deciduous forest) independent of cos i and produces the same Brightness Value (BV) throughout the image for this object. Geometric correction Takes into account errors due to platform altitude and attitude changes 5
  • 11. Class Responsibility Available Considered Not Image Processing Requirements Available of Application via Additional Comments for JAI 1.1 Available in JAI 1.02 Developer Extensibility Image-to-image registration Translation and rotation alignment (coregistration of imagery). Should allow user to choose how or if data is manipulated spectrally during the geometric translation X (zero-order or “nearest neighbor”, first-order or “bilinear interp.”, and cubic convolution) “Warp” or “Affine” Image-to-map rectification Process to make image geometry planimetric. Involves X spatial interpolation as well as intensity interpolation (BV’s). May not remove all topo effects. Orthorectification of aerial photos X Display and Enhancement File I/O New I/O module in development to complement JAI 1.1 X X GEOTIFF and other industry standards are covered via the extensibility of the JAI package. JAI.create ( ) “Fileload” Black & white, color-composite BandSelect – Allows for 3-color representation of >3 X channel data. ScrollingImagePanel ( ) swing display component Density slice (color table IndexColorModel X manipulation) Zoom (+, -) X Scale works for Zoom Pan and Roam X No function in place for pan and roam Image resampling Decimation X JAI.create(“scale”) Pyramid layering X ImagePyramid ( ), ImageMIPMap ( ) Interpolation JAI.create(“scale”) Nearest, Bicubic, BicubicZ, X Bilinear Transects X Important for evaluation of profiles within imagery Contrast manipulation Rescale, Piecewise, Matchcdf (Histogram) X JAI.create (“convolve”) 6
  • 12. Class Responsibility Available Considered Not Image Processing Requirements Available of Application via Additional Comments for JAI 1.1 Available in JAI 1.02 Developer Extensibility Image algebra BandSelect, no layer stacking operator though (See Chapter 6 of Programming in Java Advanced Imaging, X http://java.sun.com/products/java- media/jai/forDevelopers/jai1_0_1guide-unc/ JAITOC.fm.html Band ratioing Can be applied to reduce the effects of environmental X conditions Image differencing X Layer stacking X Spatial filtering Convolution filtering Convolution (JAI.create(“convolve”, ???, null)) Low/high pass filters X Edge enhancement GradientMagnitude function; Pixel by pixel w/ X Threshold.value; sharp Fourier Analysis Fast Fourier Transform X DFT (JAI.create(“DFT”)) Discrete Fourier Transform Inverse Fast Fourier Transform X IDFT Inverse Discrete Fourier Transform Special Transformations Principal Component Analysis X Vegetation Indexes Normalized Difference Vegetation JAI Image Algebra allows implementation X Index Tasseled Cap X JAI Image Algebra allows implementation Frequency transformations DFT, DCT (JAI.create(“DFT”)) Discrete Fourier X Transform, Discrete Cosine Transform (Fourier, cosine, etc.) Digital Elevation Models Implemented with Java 3D? For processing uses X For 3-D visualization uses X Animation X May require interoperability with Java Media File Information Extraction 7
  • 13. Class Responsibility Available Considered Not Image Processing Requirements Available of Application via Additional Comments for JAI 1.1 Available in JAI 1.02 Developer Extensibility Supervised classification Parallelepiped algorithm Decision rule based on simple Boolean logic. Standard deviation thresholds create n-dimensional space parallelepiped based on training data. If a pixel falls into one of the created parallelepipeds, it is assigned to that class; otherwise it is assigned to an “unclassified” X category. Math libraries compute StdDev for each band using training points selected by user. Compare pixels for < or = stdDev specified. If within stdDev for All Bands, Add to class, otherwise place into “unclassified” class. Minimum distance User defines mean vectors for each class with training data. Euclidean distance to vector determines X minimum distance and therefore defines class assignment for each pixel. Maximum likelihood X Unsupervised classification Multi-pass ISODATA (clustering) X Hybrid classification using X ancillary information Incorporation of ancillary data X during classification Cartographic Composition and Other Scaled postscript output of images Can print (postscript implementable) X and maps Vector/Raster based GIS Vector only but there are no attribute handlers 8
  • 14. 4.0 Metrics Performance metrics are an integral component of the ARC project to realize increased sales and profit. Sun Microsystems expects this product eventually to be used by various government, private, and educational organizations. This product can provide the basis for further applications, making it possible for more people to use the technology over the Internet. Advances in the remote sensing science will be realized as new and faster techniques are designed. During the course of this project, upper management within Sun Microsystems determined that they were stretched too thin with their many ongoing product development activities. The result is an extended development period for JAI 1.1. It is, therefore, not possible to directly address many of the originally proposed metrics for this project at this time. Dollar values are currently unknown; however, USU is dedicated to tracking this product over the next several years to provide metrics feedback as the product is marketed. Sun Microsystems believes that the use of JAI could save developers a lot of money versus developing a product from “zero” but cannot, at this time, provide numbers on increased sales resulting from this project. While it is likely that the information learned from this project will support adding certain functionality in some future release of JAI, it is unlikely that this product will be the next release (again, partially due to the extension of the development schedule). 5.0 Conclusions As outlined in greater detail in the “Results” section above, this ARC project was of benefit to Sun Microsystems primarily in two ways: 1. Verification of Existing Design and Implementation of JAI • Most operators required for Earth Science applications in terms of input/output, processing, and display of imagery are available directly from JAI or from other packages in the Java™ virtual machine. • More specialized operators not provided by JAI could be implemented by application developers in the Earth Sciences. 2. Indication of Potential Improvements to JAI • Principal areas of improvement that would make JAI more attractive to Earth Sciences developers were identified (see matrix above). • The areas of potential enhancement consist mostly of new operators that developers could presently add themselves using JAI’s inherent extensibility. 9
  • 15. The expertise of the investigators at USU was found to be particularly valuable in terms of providing verification of Sun Microsystems’ efforts to date and in furnishing greater insight into the use of image processing for Earth Science applications. 10