next up previous contents
Next: The Horizon Metadata Model Up: Supporting Metadata and Coordinate Previous: Contents

Motivation and Context

 

A general character of scientific data is that they represent measurements or estimates of some physical quantity (e.g. temperature, brightness, voltage, magnetic field, etc.). The measurements are made under certain quantifiable conditions, some of which may be made to vary. For example, one might measure temperature over a range of pressures or brightness from different positions within an area of the sky. Thus, the data have a context, or in mathematical terms, a domain which provides them with relevance. This context can be described as a multidimensional space in which each axis is a quantifiable parameter describing the condition under which each measurement was made. If the space is well-defined (i.e. its axes are orthogonal), then each datum can be mapped to a single position within that space. This domain space is often referred to as the data's world coordinate system.

The Horizon Image Data Browser Java package supports a special type of scientific data it refers to as an image. In a scientific context, an image is a set of data that regularly samples a volume of N-dimensional space.gif Data points that make up an image are often referred to as pixels; this term, however, connatates two dimensions, so to reflect the N-dimensional nature of the data, the more general term of voxel will be used instead. Within a computer application, the data are usually represented as an N-dimensional array in which each position in the array maps to a position in the dataset's world coordinate space. When visualizing this data, the scientist is usually more interested in a datum's position within the coordinate system than its absolute position within some data array. So, by way of example, a useful visualizing tool displaying a satalite image of a patch of the earth might display the longitude and latitude of any voxel in the image whenever it is selected with a mouse.

Implicit to displaying coordinate positions is a conversion from the positions in the data array to positions in the coordinate system. The function mapping the two spaces might be described by a variety of parameters. The parameters can be considered as metadata of the coordinate system. Horizon's support of world coordinate systems relies heavily on its support for the notion of metadata; thus, this document takes some time to describe Horizon's metadata model (§2) and shows how it is well suited for handling coordinate systems.

Horizon's object model for coordinate systems tries to be flexible enough to handle a wide variety of scientific applications. Features of the model include:

As our definition of an image suggests, the Horizon world coordinate system model does not explicitly support irregularly sampled data. In most cases, one should be able to ``squeeze'' such data into Horizon's image model and make use of Horizon tools to visualize the data; however, given that such data lies at least in part outside of Horizon's image model, the user may eventually encounter a limit to the usefulness of using Horizon to visualize this type of data.

When it comes to ``ease of use'', the Horizon design tries to favor the application programmer. That is, when working with a fully supported data format, one can in a few lines instantiate full-featured objects with access to all the data necessary for visualization and analysis; the programmer does not need to concern him- or herself so much with how the data is read or where it is coming from. The programmer wishing write a reader to support a new data format needs to understand a little more about the Horizon model; however, a number of tools are provided to make this easier. This document covers both levels of detail.


next up previous contents
Next: The Horizon Metadata Model Up: Supporting Metadata and Coordinate Previous: Contents

Ray Plante
Mon Aug 25 15:16:12 CDT 1997