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.