87 lines
3.3 KiB
Plaintext
87 lines
3.3 KiB
Plaintext
Date: Tue, 17 Jan 1995 10:49:13 -0800 (PST)
|
|
From: PDS_OPERATOR@JPLPDS.JPL.NASA.GOV
|
|
Subject: RE: PDS specification
|
|
|
|
Overview of PDS Image Format
|
|
M. D. Martin, PDS Project Engineer
|
|
|
|
The PDS (originally Planetary Data System, now Portable Data Specification)
|
|
format is actually more of a labelling architecture than a specific image
|
|
storage format. It supports the description of many kinds of data objects
|
|
(table, series, multispectral cube, etc.). It is intended to provide a
|
|
computer readable AND human readable description of the contents and format
|
|
of a file in simple keyword=value format.
|
|
|
|
Many varieties of images can be described with the PDS label. The key
|
|
parameters are given in the examples, Table 1 and 2. The ASCII labels can be
|
|
attached at the beginning of the data file or detached in a separate file
|
|
with a pointer to the image file.
|
|
|
|
TABLE 1. Example of an attached label.
|
|
|
|
PDS_VERSION_ID = PDS2
|
|
RECORD_FORMAT = FIXED_LENGTH
|
|
RECORD_BYTES = 512
|
|
RECORDS = 514
|
|
^IMAGE = 3 /* indicating that the image starts */
|
|
/* at record 3 */
|
|
OBJECT = IMAGE
|
|
LINES = 512
|
|
LINE_SAMPLES = 512
|
|
SAMPLE_BYTES = 8
|
|
SAMPLE_TYPE = UNSIGNED_INTEGER
|
|
END_OBJECT = IMAGE
|
|
END
|
|
/* blank PADDING out to 1024 bytes */
|
|
at byte 1025 the first line of the image begins.
|
|
|
|
|
|
TABLE 2. Example of detached label.
|
|
|
|
PDS_VERSION_ID = PDS2
|
|
RECORD_FORMAT = FIXED_LENGTH
|
|
RECORD_BYTES = 512
|
|
RECORDS = 512
|
|
^IMAGE = "image.dat" /* indicating that the image */
|
|
/* is contained in the file */
|
|
/* image.dat */
|
|
OBJECT = IMAGE
|
|
LINES = 512
|
|
LINE_SAMPLES = 512
|
|
SAMPLE_BYTES = 8
|
|
SAMPLE_TYPE = UNSIGNED_INTEGER
|
|
END_OBJECT = IMAGE
|
|
END
|
|
/* blank PADDING out to 1024 bytes */
|
|
at byte 1025 the first line of the image begins.
|
|
|
|
Compression.
|
|
|
|
Most images from planetary missions are gray scale 8-bit images and take on a
|
|
narrow range of values in any given file. A simple compression algorithm can
|
|
achieve 3 or 4 to 1 compression ratio. The PDS chose to use a
|
|
Huffman-First-Difference compression algorithm on all its Viking and Voyager
|
|
Imaging CD-ROMs. This algorithm first goes through each line and computes
|
|
the pixel differences for each pixel.
|
|
This leaves most of the pixels in a line with values near zero, since nearby
|
|
pixels tend to have similar values. A constant is added to eliminate
|
|
negative values. After this step is performed on all lines the entire image
|
|
is encoded using Huffman coding. The resulting encoding histogram is stored
|
|
in the file with the image, which means there is a fixed overhead of about 2
|
|
kilobytes for this type of compression.
|
|
|
|
Recommendations.
|
|
|
|
Further information about the PDS format can be found on-line at
|
|
http://stardust.jpl.nasa.gov in the PDS standards documents and PDS data
|
|
dictionary and PDS label toolbox. The PDS toolbox is also available via
|
|
an anonymous ftp account on starhawk.jpl.nasa.gov
|
|
|
|
Users who are looking for an alternative format to Compuserve GIF for general
|
|
purpose image storage and distribution are advised to use TIFF format not the
|
|
PDS format. The PDS image specification does not include many of the
|
|
parameters which are common to images used in desktop publishing.
|
|
|
|
|
|
|