Information Technology Reference
In-Depth Information
In software terms these virtualisations would be regarded as data types which
have an associated API. The specialisations would each support the parent API but
add new methods or interfaces. This is a common approach in Object Oriented pro-
gramming and some references to existing software libraries are provided where
appropriate.
Many of these software libraries provide a great deal of functionality built on top
of a small core set of interfaces which must be implemented for any new implemen-
tation. The analysis which has developed these core interfaces are a great benefit. It
is this core set of interfaces which were of particular interest in CASPAR because
the other capabilities can be built on top of them. Identifying this small core set of
functions means that if we can indicate how to implement these for a piece of data
then, right now, we can use rich sets of software applications, and in the future we
have the core capabilities which stand a good chance of being implemented in future
software systems.
We focus here on reading the data rather than the ability to write it, since we want
to be able to deal with data which already exists, having been written by some other
means.
7.8.2.1.1 Images
In common usage, an image or picture is an artefact that reproduces the likeness of
some subject, say a physical object or a person. An image may be thought of as a
digital object which may be displayed as a rectangular 2-dimensional array in which
all the picture elements (pixels) have the same data type, and normally any two
neighbouring pixels have some type of mathematical or physical relationship e.g.
they help to make up a part of a picture. All 2-dimensional images have a number
of common features, including
Size
number of rows and
number of columns i.e. all rows have the same number of pixels, making a
rectangular array
Pixel type - same for all pixels
Attributes (name-value pairs)
The digital encoding of the image may not be a simple rectangular array of num-
bers - there may be compression for example. Such encodings are not of concern
in this virtualisation. The same image may have many different digital encodings,
each of which needs some appropriate Structural Representation Information. The
Java2D and the java.awt.Image provide sets of interfaces with a very rich set of
capabilities for manipulating graphics and images. The java.awt.Image [ 70 ] has a
core set of methods which match the above list, namely getHeight, getWidth, get-
Source and getProperty. Put into a wider context one can view images as a special
case of 2-dimensional arrays of data, where for each new type one would support a
new capability as illustrated in Fig. 7.16 .
Search WWH ::




Custom Search