Java Advanced Imaging API
Enterprise-scale, Distributed 2D Applications
|
Highlights
| | Provides standard interface for cross-platform imaging |
| |
| | Enables the same application to be deployed on multiple platforms without source code changes |
| |
| | Simplifies programming tasks and increases code reuse |
| |
| | Reduces time to market by enabling solutions to be deployed faster and at lower cost |
| |
| | Enhances client/server imaging through a network-centric architecture and complementary technologies |
| |
| | Readily adopts highly optimized implementations that use media capabilities of CPUs: MMX on Intel processors; VIS on UltraSPARC |
| |
| | Integrates with the Java Media API family, enabling deployment of media-rich applications |
|
The Java 2D and Java Advanced Imaging APIs provide a standard method for
integrating powerful, image manipulation functionality into image processing and
distribution as well as remote viewing applications. These APIs, combined with
the intrinsic network-savviness of the Java 2 Platform, make it easier for
imaging application vendors in the medical, commercial, and geographic
information systems (GIS) markets to adopt the network computing model demanded
by their customers.
Enables Remote Viewing of Images
To help developers compete in today's heterogeneous, highly distributed
networked environment, the Java APIs simplify the creation of imaging
applications that support a broad range of systems, from thin clients to
powerful workstations. For example, many imaging applications require remote
viewing of images that are stored on central servers. In the medical field, PACS
applications enable doctors to review and analyze radiological images from
workstations located anywhere on the network. For GIS, remote sensing
applications allow commercial and government users to access and analyze large
satellite images -- weather maps, vegetation, and geothermal data -- from central
servers.
As an integral component of the Java 2 Platform, Standard Edition, the Java 2D
API provides base-level imaging functionality for developers using the Java
language. It also forms the foundation for the Java Advanced Imaging API, an
optional package of the Java 2 Platform, Standard Edition. The Java Advanced
Imaging API is part
of the Java Media family of APIs, an extensible framework for the
integration of imaging operations.
The Java 2D API
Since its inception, digital imaging on the Java platform has been supported
through the java.awt and java.awt.image class packages. Introduced as part of
the Java 2 Platform, Standard Edition, the Java 2D API provides
device-independent graphics rendering and image compositing.
For image processing, the Java Abstract Window Toolkit (AWT) presents a simple
filter model of producers and consumers. The Java 2D API extends the Java AWT by
providing memory-based images, extensible image filters, color space definitions
and transforms, affine transforms, compositing, and multiple image data types.
It easily handles arbitrary shapes, text, and images, and provides methods for
uniformly transforming, rotating, scaling, and skewing them.
The Java 2D API brings the concept of "Write Once, Run Anywhere" to
applications that require enhanced 2D graphics and imaging capabilities. As a
result, developers can efficiently incorporate
high-quality, scalable, platform-independent graphics into Java technology-based
applets and applications.
Because the Java 2D API supports the AWT hierarchy, existing pro-grams continue
to work. Even new programs written in the Java language can compatibly mix both
new and existing classes.
Based on open standards, the Java APIs for imaging were developed with input
from leading technology vendors. The Java 2D API provides an ideal platform for
creating enterprise-scale applications and applets in the Java language that
take full advantage of rich media functionality to enhance communications.
The Java Advanced Imaging API
Sun collaborated with key industry leaders, including Eastman Kodak, Siemens
Corporate Research, and Autometric, to develop the initial Java Advanced Imaging
API specification. Building on the basic Java 2D API, it enables sophisticated,
high-performance image processing in Java technology-based applications. Ideal
for manipulating and sharing large, complex image files over the Internet, the
API meets the demands of the geospatial, medical, commercial, network, and
government imaging markets.
To facilitate support for multiple platforms, the Java Advanced Imaging API
provides a standard, Java technology-based, object-oriented interface. It is
well-suited for distributed, client/server imaging because it exploits the Java
language's strong support for network-savvy software development.
It also takes advantage of complementary Java technologies -- such as the
Java Remote Method Invocation and JavaBeans components -- that are part
of the Java 2 Platform, Standard Edition.
As an imaging standard, the Java Advanced Imaging API is not only comprehensive,
scalable, and easy to use, it is also extensible and customizable, simplifying
the integration of proprietary image manipulation algorithms.
Features
- Tiling enables users to process just one section of an image at a time,
decreasing processing and bandwidth requirements while making it possible to
move quickly from image to image.
- Resolution -- independent image processing offers the ability to describe
an image as it should appear, regardless of resolution. This also makes it
possible to define a renderable pipeline of operations, then alter individual
operations in the pipeline and re-execute them. To generate output, renderable
operation chains are turned into rendered chains.
- Deferred execution mode improves overall performance by halting
unnecessary work on an image,
except in the request-ed data region.
- Network imaging simplifies distributed image processing with software
that intelligently adapts to the power of
the client. For example, a thin-client processing chain may be defined that
passes the chain to a server for intensive computation and returns the result to
the thin client for display.
Competitive Advantage
The Java Advanced Imaging API has been carefully designed for flexibility,
scalability, and extensibility. It enables the deployment of computing systems
based on
the cost/performance needs of a system, including thin-client, client/server,
and power-client models. By simplifying and streamlining the programming tasks
required to create imaging software, the Java Advanced Imaging API gives
developers a competitive advantage when creating new imaging applications.
For More Information
To learn more about the Java 2D and Java Advanced Imaging APIs, please visit
these Sun Web sites:
Java Advanced Imaging API
Java 2D API
|
|