home *** CD-ROM | disk | FTP | other *** search
/ Voyagers to the Outer Planets 2: Uranus / VoyagestotheOuterPlanetsVol2.cdr / document / volinfo.txt
Text File  |  1988-09-14  |  80KB  |  1,677 lines

  1. NJPL1I00PDS100000000  = SFDU_LABEL
  2. RECORD_TYPE           = STREAM
  3. SPACECRAFT_NAME       = {VOYAGER_1,VOYAGER_2}
  4. MISSION_PHASE_NAME    = {JUPITER_ENCOUNTER, SATURN_ENCOUNTER,
  5.                         URANUS_ENCOUNTER, NEPTUNE_ENCOUNTER}
  6. INSTRUMENT_NAME       = {NARROW_ANGLE_CAMERA, WIDE_ANGLE_CAMERA}
  7. FILE_TITLE            = "Archive of Digital Images from NASA's 
  8.                         Voyager 1 and 2 Missions"
  9. END
  10.  
  11.  
  12.  
  13.  
  14.  
  15.     Archive of Digital Images from NASA's Voyager 1 and 2 Missions
  16.     --------------------------------------------------------------
  17.  
  18.                                    
  19.  
  20.                              July 15, 1988
  21.  
  22.  
  23.  
  24.                            Contributions by:
  25.  
  26.  
  27.                              Eric Eliason
  28.                         Branch of Astrogeology
  29.                     United States Geological Survey
  30.                           Flagstaff, Arizona
  31.  
  32.  
  33.                               Randy Davis
  34.               Laboratory for Atmospheric and Space Physics
  35.                         University of Colorado
  36.                            Boulder, Colorado
  37.  
  38.  
  39.                        Mike Martin, Charlie Avis
  40.                        Jet Propulsion Laboratory
  41.                          Pasadena, California
  42.  
  43.  
  44.                             Bob Mehlman
  45.                       Institute of Geophysics and
  46.                            Planetary Physics
  47.                        University of California
  48.                         Los Angeles, California
  49.  
  50.  
  51.                             Dennis McMacken
  52.                      Information Systems Division
  53.                     United States Geological Survey
  54.                           Flagstaff, Arizona
  55.  
  56.             
  57.                                  CONTENTS
  58.  
  59.     1   - Introduction ..........................................   1
  60.  
  61.     2   - Voyager Images ........................................   1
  62.  
  63.     3   - Voyager Image Files ...................................   2
  64.     3.1 - Compressed Format .....................................   2
  65.     3.2 - Browse Format .........................................   2
  66.     3.3 - File Naming Conventions ...............................   3
  67.   
  68.     4   - Disk Directory Structure ..............................   3
  69.     
  70.     5   - Image Files in Compressed Format.......................   4
  71.     5.1 - First-Difference Huffman Encoding......................   4
  72.     5.2 - Decompression Software.................................   5
  73.  
  74.     6   - Compressed Image File Organization.....................   6
  75.     6.1 - Image Label Area.......................................   6
  76.     6.2 - Image Histogram Object.................................   8
  77.     6.3 - Encoding Histogram Object..............................   9
  78.     6.4 - Engineering Table Object...............................   9
  79.     6.5 - Image Object...........................................   9
  80.     
  81.     7   - Browse Image File Organization.......................... 10
  82.     7.1 - Image Label Area........................................ 10
  83.     7.2 - Image Histogram Object.................................. 11
  84.     7.3 - Image Object............................................ 12
  85.  
  86.     8   - Image Index File........................................ 12
  87.  
  88.     References.................................................... 13
  89.  
  90.     Appendix A   - ISO Volume and Directory Standard ............. 14
  91.              A.1 - Variable Length Records ....................... 14
  92.              A.2 - Direct Access Files ........................... 15
  93.  
  94.     Appendix B   - Syntactic Rules of Keyword Entries ............ 16
  95.              B.1 - Integer Numbers ............................... 16
  96.              B.2 - Real Numbers .................................. 17
  97.              B.3 - Time .......................................... 17
  98.              B.4 - Literal Values ................................ 17
  99.              B.5 - Text Character Strings ........................ 17
  100.    
  101.  
  102.     Appendix C   - Keyword Assignments For Images ................ 18
  103.  
  104.     Appendix D   - Supplemental Line Engineering Data ............ 22
  105.  
  106.     Appendix E   - Engineering Table Object ...................... 23
  107.  
  108.     Appendix F   - Image Index File Format ....................... 29
  109.  
  110.                                                                  page  1
  111. 1 - Introduction
  112. ----------------
  113.  
  114. NASA's Voyager Project and Planetary Data System (PDS) have created an
  115. archive of planetary digital images acquired by the twin Voyager
  116. spacecraft (Voyager 1 and Voyager 2). This initial collection includes
  117. all of the images acquired by Voyager 2 as it passed by the planet
  118. Uranus (1), and selected near-encounter images of Jupiter, Saturn, and
  119. their satellites (2, 3, 4, 5) taken by both spacecraft. The images
  120. acquired during Voyager 2's encounter with Neptune will be included in
  121. the collection in 1990. The remaining Jupiter and Saturn encounter
  122. images will also be available on future disks. This archive of digital
  123. images is placed on compact read-only optical disk media (CD-ROM) for
  124. distribution to interested scientific research organizations and
  125. libraries. 
  126.  
  127. The current Voyager archive resides on eight CD-ROM volumes. Each volume
  128. contains approximately 2500 images stored in individual files. The
  129. Uranus volumes, (volumes one through three), store the entire image
  130. collection acquired during Voyager 2's encounter with Uranus. The Saturn
  131. volumes, (volumes four and five), and the Jupiter volumes, (volumes six
  132. through eight), contain the best nearest-encounter images for the
  133. respective planets and their moons. 
  134.  
  135. In addition to the images, supplemental information exists on the
  136. CD-ROMs. This includes documentation providing a user with information
  137. about the organization and contents of the disk.  Software source code
  138. is included to provide programmers with tools to process the image files.
  139. There are browse images, sub-sampled versions of the full-resolution
  140. images, which allow users to rapidly view the archive collection with
  141. their interactive display.  Finally, there are image index files
  142. containing information about all the images stored in the archive. 
  143.  
  144. This document describes the organization of the archive. It provides
  145. information on how to access files stored on a CD-ROM, and gives details
  146. on the format and contents of the image files and their supporting
  147. supplemental files. 
  148.  
  149.  
  150. 2 - Voyager Images
  151. ------------------
  152.  
  153. There are two cameras onboard each Voyager spacecraft, one with a wide
  154. field of view and the other with a narrow field of view.  Both cameras
  155. return data in a digital raster-format containing 800 scan lines and 800
  156. samples per scan line. Each picture element (pixel) in the two
  157. dimensional image array is represented as an 8-bit value, and the
  158. value--in the range 0 to 255--is proportional to the amount of light
  159. detected at that point. The cameras are equipped with color filters so
  160. images taken through complementary filters can be combined during ground
  161. processing to produce color images. 
  162.  
  163. The set of images on the CD-ROMs are raw; no processing has been
  164. performed other than organizing the original telemetry into
  165. raster-formatted files and compressing the image data using a Huffman
  166.  
  167.                                                                  page  2
  168.  
  169. encoding algorithm.  The reason for the decision to distribute raw data
  170. rather than processed versions of the images is that the capabilities to
  171. process the raw images are continuing to improve. This is due to rapid
  172. improvements, not only in the techniques themselves, but also in
  173. calibration data and geometric information concerning spacecraft
  174. position and pointing. By providing the raw images which never change
  175. rather than processed versions, the continually improving image
  176. processing capabilities can be reapplied to the raw image collection. 
  177.  
  178. To make full scientific use of the image collection, it is necessary to
  179. understand the radiometric and geometric properties of the camera system
  180. (6) and perform corrections to the data.  A number of image processing
  181. systems are available which provide radiometric and geometric corrections,
  182. display capabilities, and analysis tools for Voyager images (7, 8). 
  183.  
  184.  
  185. 3 - Voyager Image Files
  186. -----------------------
  187.  
  188. 3.1 - Compressed Format
  189. -----------------------
  190.  
  191. Full-resolution Voyager images are stored in a compressed format using a
  192. Huffman encoding scheme.  The great advantage of Huffman encoding is the
  193. significant reduction in disk space required to store an image while
  194. maintaining full data precision. The average Voyager image is compressed
  195. by a factor of more than three. Using this technique, more than 2400
  196. compressed images can be stored on a single CD-ROM rather than 800 in an
  197. uncompressed format. 
  198.  
  199. There is a price to pay when storing data in a compressed format.  It
  200. takes computer time to decompress an image to its original uncompressed
  201. form.  For example, on a VAX-750 it takes about one minute of CPU time
  202. to decompress an image.  The one minute time delay for decompressing an
  203. image can be frustrating when a planetary scientist wants to browse an
  204. image collection. 
  205.  
  206.  
  207. 3.2 - Browse Format
  208. -------------------
  209.  
  210. A special set of image files were created to facilitate rapid browse of
  211. the collection. These files exist in an uncompressed format and have
  212. been reduced in size by sub-sampling the 800 line and 800 sample images.
  213. A browse image, containing 200 lines and samples, has been subsampled by
  214. a factor of four in the line and sample directions. The data volume of a
  215. browse image is 1/16th of the original image size.  The small size of a
  216. browse image in an uncompressed format allows images to be rapidly
  217. retrieved from a CD-ROM and displayed on a screen. 
  218.  
  219. Browse images are located on the last volume of each set of planet
  220. volumes. Browse images for the Uranus volumes exist on volume three,
  221. Volumes five and eight contain the Saturn and Jupiter browse files
  222. respectively. 
  223.                                                                  page  3
  224.  
  225. 3.3 - File Naming Conventions
  226. -----------------------------
  227.  
  228. Each digital image file has a unique name constructed from the clock
  229. count of Voyager's Flight Data Sub-system (FDS). The FDS count indicates
  230. the time at which an image was shuttered. The general form of an image
  231. file name is Cxxxxxxx.yyy. The character 'C' at the beginning of the file
  232. name designates the 'xxxxxxx' as a clock count.  The 'xxxxxxx' is the
  233. seven digit FDS count associated with the image. The file name
  234. extension, designated as 'yyy', specifies the type of image file.
  235. Full-resolution compressed files have the file name extension IMQ.
  236. Sub-sampled browse images have the file name extension IBG. For example,
  237. the file name C2674999.IMQ is a full-resolution compressed image
  238. acquired when the FDS clock count was 2674999. 
  239.  
  240.  
  241. 4 - Disk Directory Structure
  242. ----------------------------
  243.  
  244. The volume and directory structure of the CD-ROM conforms to the level-1
  245. standard specified by the International Standards Organization (ISO). The
  246. ISO standard was used so that the disks can be accessed on a wide variety
  247. of computer systems.  Information on the ISO is provided in Appendix A. 
  248.  
  249. The compressed and browse image files, supplemental files, documentation,
  250. and software source code are separated into disk directories.  Four
  251. directories are common to all Voyager image CD-ROMs: the DOCUMENT directory
  252. contains the documentation file associated with the archive; the SOFTWARE
  253. directory contains software for decompressing an image file; the INDEX
  254. directory contains an image index file; and the LABEL directory contains
  255. labels coded in the Object Description Language that describe the format
  256. and content of engineering data included with each image.
  257.  
  258. The full-resolution compressed image files are subdivided into
  259. directories based on the image's target. Targets generally include the
  260. primary body (planet), satellites, and rings.  There is a directory
  261. associated with each target for which there are images on a disk.  For
  262. example, images of Uranus are contained under a directory named URANUS.
  263. If there are more than about 100 images associated with a target, the
  264. images are further divided into subdirectories within the target directory.
  265. These subdirectories have names of the form CnnnnXXX, where 'nnnn' is the
  266. first four digits of the FDS count (unique picture identifier) of the image
  267. files contained in the subdirectory. For example, the subdirectory C2674XXX
  268. under the U_RINGS directory would contain all of the Uranus rings images
  269. which fall in the range C2674000.IMQ to C2674999.IMQ. 
  270.  
  271. Image files related to camera calibration sequences are stored in the
  272. CALIB directory.  Dark current images, acquired when an image is taken
  273. with the camera shutter closed, are found in this directory.  Included
  274. also are calibration plaque images obtained when Voyager's calibration
  275. plaque is positioned in front of a camera's field of view.  The internal
  276. calibration lamp data, acquired when the camera shutter is closed and
  277. the internal lamps are turned on, are also found in the directory. 
  278.                                                                  page  4
  279.  
  280. Image files having unknown or minor targets are found in the OTHER
  281. directory. Included in this directory are images with star targets and
  282. images of minor satellites in the planetary system. 
  283.  
  284. The browse image collection is stored on the last CD-ROM of each planet
  285. volume set and is located in the BROWSE directory area. This directory
  286. maintains the same tree structure associated with the full-resolution
  287. images. The subdirectories within the BROWSE directory separate the
  288. images by their target, and certain target directories containing
  289. numerous images are further subdivided. As an example, the subdirectory
  290. C2674XXX within the U_RINGS directory of the BROWSE directory contains
  291. all of the browse images of the Uranus rings which fall in the range
  292. C2674000.IBG to C2674999.IBG. 
  293.  
  294.  
  295. 5 - Image Files in Compressed Format
  296. ------------------------------------
  297.  
  298. 5.1 - First-Difference Huffman Encoding
  299. ---------------------------------------
  300.  
  301. The full-resolution images on the CD-ROMs are stored in a compressed
  302. format. The scheme is called a first-difference, Huffman code procedure.
  303. The first-difference technique subtracts each sample value from the
  304. previous sample along a line. The process, resulting in a set of values
  305. for each line which clusters around zero, eliminates the pixel-to-pixel
  306. correlation along an image line. The Huffman coding technique then
  307. creates varying length bit strings to represent each first-difference
  308. value. The most frequently occurring values will consist of very short
  309. bit strings, and the less frequently occurring values will consist of
  310. longer bit strings. The combined compression algorithm provides a
  311. technique which is simple, has minimum overhead, and allows exact
  312. restoration. References to Huffman coding can be found in most books
  313. dealing with data compression (9). 
  314.  
  315. A Huffman coding tree is individually created for each image in order to
  316. produce the most efficient compression. In order to create an individual
  317. coding tree, a first-difference histogram is created for the image. This
  318. is done on a line by line basis.  The first pixel of each line is left
  319. fixed (neither differenced nor compressed). Each succeeding pixel is
  320. subtracted from the true value of the preceding pixel.  The count for
  321. each possible difference is kept in an encoding histogram table and
  322. stored in the image file.  There can be a total of 511 first-difference
  323. values. The least first-difference value is 0 - 255 or -255, while the
  324. largest first-difference value is 255 - 0 or 255. The first-difference
  325. values are normalized for table use to the range 1 to 511 by adding 256
  326. to each difference. 
  327.  
  328. The Huffman code tree is generated from the first-difference histogram
  329. table.  The first-difference values become the leaves of a tree.  At
  330. each step in the generation of the tree the currently active tree nodes
  331. are ordered by frequency and the two nodes with smallest count are
  332. combined to form a new node.  The new node is added to the active list
  333. while the combining nodes are dropped. The count of the new node is the
  334. sum of the counts of the combining nodes.  This is continued until there
  335. is only one resulting active node.  Each branch of a branching node is
  336. assigned a value of 0 or 1.  The Huffman code corresponding to a leaf
  337. node value is determined by tracing the branches of the tree from the
  338.                                                                  page  5
  339.  
  340. root to the leaf node.  A brief example follows. 
  341.  
  342.                  Example Huffman Encoding Tree
  343.                  -----------------------------
  344.  
  345.  code   freq  value
  346.  ----   ----  -----
  347.  
  348.  00     100    0  ----! 0
  349.                   195 !----------------------------------! 0
  350.  01      95   -1  ----! 1                                !
  351.                                                      380 !---(root_node)
  352.  10      90    1  ---------------------------------! 0   !
  353.                                                185 !-----! 1
  354.  110     40   -2  ---------------------------! 0   !
  355.                                           95 !-----! 1
  356.  1110    30    2   --------------------! 0   !
  357.                                     55 !-----! 1
  358.  11110   10   -3   --------------! 0   !
  359.                               25 !-----! 1
  360.  111110   5    3  ---------! 0   !
  361.                         15 !-----! 1
  362.  1111110  5   -4  ---! 0   !
  363.                   10 !-----! 1
  364.  1111111  5    4  ---! 1
  365.  
  366. There are essentially two steps in the decompression of an image. First,
  367. the first-difference histogram is extracted from the image file. The
  368. histogram is given to an initialization routine which sets up the
  369. Huffman coding tree for decompression. Second, the compressed lines are
  370. read from the image file and passed, one at a time, to the decompression
  371. routine for restoration to the original line. 
  372.  
  373. In the restoration of a compressed line, the decompression routine takes
  374. each bit from the input stream and determines which branch to take in a
  375. path from the root to the leaf nodes.  Once a leaf node is reached, the
  376. undifferenced value of the pixel can be computed from the leaf node
  377. value and the previous pixel.  The search is reset to start from the
  378. root on the next input bit and the process continues for the whole line. 
  379.  
  380. 5.2 - Decompression Software
  381. ----------------------------
  382.  
  383. Computer software, available as source code, resides on each CD-ROM for
  384. decompressing a compressed image. This software can be found in the
  385. SOFTWARE directory.  In order to make the software useful to a wide
  386. community of users, different versions of the decompression software
  387. exist in Fortran, C-language, and VAX/VMS assembler language. Some
  388. modification of these routines may be required in order to adapt the
  389. software to a particular computer and operating system environment. The
  390. SOFTWARE directory contains a file named SOFTINFO.TXT which describes
  391. the contents of the directory, and how to use the software in the
  392. directory. 
  393.  
  394. The decompression subroutines are designed to be tools for an
  395. application program. Typically, an application program will open an
  396. image file, read the image data from the file, call the decompression
  397.                                                                  page  6
  398.  
  399. routines to restore the image, and then transfer the image to the
  400. appropriate output media or display device.  Because of differences
  401. between computer hardware, operating systems, and in-house image
  402. processing systems, no attempt has been made to provide generalized
  403. software for accessing an image from the CD-ROM and restoring it to a
  404. hardware display device or an in-house image file format.  Example
  405. programs are however provided in the SOFTWARE directory which test
  406. and demonstrate the use of the decompression software.
  407.  
  408. The software has two top-level subroutines, DECMPINIT and DECOMPRESS.
  409. They provide a common data base from which to call the processing
  410. routines.  DECMPINIT builds the Huffman tree from the first-difference
  411. histogram, also called the encoding histogram, and is called only once
  412. per image. DECOMPRESS processes one compressed input line per call and
  413. returns the line completely restored.  These routines are fully
  414. documented. Consult the source code files in the SOFTWARE directory
  415. for a full explanation of their use. 
  416.  
  417. A cautionary note is in order. The first-difference histogram stored in
  418. the image files consist of 32-bit VAX integers (11). Users of other
  419. computer hardware environments may need to swap integer byte pairs. 
  420.  
  421.  
  422. 6 - Compressed Image File Organization
  423. --------------------------------------
  424.  
  425. A compressed image file is composed of variable-length records defined
  426. according to the ISO standard. Each variable length record starts with a
  427. record length indicator, stored as a 16-bit integer, followed by the
  428. number of bytes indicated in the record length indicator. If the length
  429. indicator is odd, then a pad byte is appended to the end of the record
  430. so that all records contain an even number of bytes. Refer to the
  431. information on variable-length records in Appendix A. Variable-length
  432. record files were chosen because of the nature of the compressed images;
  433. compressed lines, represented as individual records, will vary in length
  434. from one to another. 
  435.  
  436. Compressed image files begin with a label area. Following the label
  437. area are the file objects: image histogram, encoding histogram,
  438. engineering table, and image.  The sections which follow provide a
  439. description of the image labels and the data objects within the file. 
  440.  
  441.  
  442. 6.1 - Image Label Area 
  443. -----------------------
  444.  
  445. Descriptive information on the file and objects within the file is put
  446. into the label area. The label consists of keyword statements which
  447. conform to version 1.0 of the Object Description Language (ODL) under
  448. development by the PDS project (10). There are three types of ODL
  449. statements within a label: structural statements, keyword assignment
  450. statements, and pointer statements. 
  451.  
  452. Structural statements provide a shell around value assignment statements
  453. that delineate which data object the assignment statements are
  454. describing. 
  455.  
  456.                                                                  page  7
  457.  
  458. The structural statements are: 
  459.       
  460.           1) OBJECT = object_name
  461.           2) END_OBJECT
  462.           3) END
  463.  
  464. The OBJECT statement begins a description of a particular data object
  465. and the END_OBJECT statement signals the end of the object's description.
  466. All assignment statements between an OBJECT and its corresponding
  467. END_OBJECT statement describe the particular object named in the OBJECT
  468. statement. The END statement terminates a label.  It must appear as a
  469. single line that contains only the word END. 
  470.  
  471. A keyword assignment statement contains the name of an attribute and the
  472. value of that attribute for the object which the assignment statement is
  473. describing. Keyword assignment statements have the following format: 
  474.  
  475.       name = value [/* comment]
  476.  
  477. Values of keyword assignment statements can be numeric values, literals,
  478. and text strings.  Appendix B contains the syntactic rules for keyword
  479. assignments.
  480.  
  481. Pointer statements are a special class of keyword assignment statements.
  482. These pointers are expressed in the ODL using the following notation:
  483.  
  484.       ^object_name = location
  485.  
  486. In a file, the location is given as an integer representing the starting
  487. record number of the object, measured from the beginning of the file.
  488. The first record in a file is considered record 1. Pointers are also
  489. useful for describing the location of individual components of a data
  490. object and for pointing to a detached label. An example of the later is
  491. shown below: 
  492.  
  493.       ^object_STRUCTURE = 'logical_file_name' 
  494.  
  495. The 'object' is the name of the object being described and
  496. 'logical_file_name' is the name of the detached label file containing
  497. the description. 
  498.  
  499. In a compressed image file, each keyword assignment in the label area is
  500. stored as a single variable-length record. An example of the keyword
  501. labels which exist on a compressed image is shown below. Appendix C
  502. provides a detailed description of each keyword found in the example. 
  503.  
  504.  
  505.                Example label found on a COMPRESSED image
  506.                -----------------------------------------
  507.  
  508.      NJPL1I00PDS100000000             = SFDU_LABEL
  509.      /*          FILE FORMAT AND LENGTH
  510.      RECORD_TYPE                      = VARIABLE_LENGTH
  511.      RECORD_BYTES                     = 836
  512.      FILE_RECORDS                     = 860
  513.      LABEL_RECORDS                    = 54
  514.                                                                  page  8
  515.  
  516.      /*          POINTERS TO STARTING RECORDS OF MAJOR OBJECTS IN FILE
  517.      ^IMAGE_HISTOGRAM                 = 55
  518.      ^ENCODING_HISTOGRAM              = 57
  519.      ^ENGINEERING_TABLE               = 60
  520.      ^IMAGE                           = 61
  521.      /*          IMAGE DESCRIPTION
  522.      SPACECRAFT_NAME                  = VOYAGER_1
  523.      MISSION_PHASE_NAME               = SATURN_ENCOUNTER
  524.      TARGET_NAME                      = TITAN
  525.      IMAGE_ID                         = '1516S1-002'
  526.      IMAGE_NUMBER                     = 34909.12 /*FLIGHT DATA SUBSYSTEM (FDS)
  527.      IMAGE_TIME                       = 1980-11-11T19:52:34Z 
  528.      EARTH_RECEIVED_TIME              = 1980-11-11T21:19:46Z
  529.      INSTRUMENT_NAME                  = WIDE_ANGLE_CAMERA
  530.      SCAN_MODE_ID                     = '3:1'
  531.      SHUTTER_MODE_ID                  = BOTSIM
  532.      GAIN_MODE_ID                     = LOW
  533.      EDIT_MODE_ID                     = '1:1' /*FULL RESOLUTION
  534.      FILTER_NAME                      = CH4_JS
  535.      FILTER_NUMBER                    = 0
  536.      EXPOSURE_DURATION                = 15.3600 <SECONDS>
  537.      NOTE                             = "MULTISPECTRAL LONGITUDE COVERAGE"
  538.      /*          DESCRIPTION OF THE OBJECTS CONTAINED IN FILE
  539.      OBJECT                           = IMAGE_HISTOGRAM
  540.       ITEMS                           = 256
  541.       ITEM_TYPE                       = VAX_INTEGER
  542.       ITEM_BITS                       = 32
  543.      END_OBJECT
  544.      OBJECT                           = ENCODING_HISTOGRAM
  545.       ITEMS                           = 511
  546.       ITEM_TYPE                       = VAX_INTEGER
  547.       ITEM_BITS                       = 32
  548.      END_OBJECT
  549.      OBJECT                           = ENGINEERING_TABLE
  550.       BYTES                           = 242
  551.       ^STRUCTURE                      = 'ENGTAB.LBL'
  552.      END_OBJECT
  553.      OBJECT                           = IMAGE
  554.       ENCODING_TYPE                   = HUFFMAN_FIRST_DIFFERENCE
  555.       LINES                           = 800
  556.       LINE_SAMPLES                    = 800
  557.       LINE_SUFFIX_BYTES               = 36
  558.       SAMPLE_TYPE                     = UNSIGNED_INTEGER
  559.       SAMPLE_BITS                     = 8
  560.       SAMPLE_BIT_MASK                 = 2#11111111#
  561.       ^LINE_SUFFIX_STRUCTURE          = 'LINESUFX.LBL'
  562.      END_OBJECT
  563.      END
  564.  
  565.  
  566. 6.2 - Image Histogram Object
  567. ----------------------------
  568.  
  569. The first object in a compressed image file is the histogram of the
  570. image. The histogram object begins at the record specified by the
  571. ^IMAGE_HISTOGRAM keyword. The histogram is made up of two
  572. variable-length records. (The number of records found in an object is
  573.                                                                  page  9
  574.  
  575. determined by differencing the value of the pointer keyword from the
  576. value of the next pointer. For example, the value of
  577. ^ENDCODING_HISTOGRAM minus the value of the ^IMAGE_HISTOGRAM equals the
  578. value 2.) These two records, when concatenated together, make up 256
  579. items in the image histogram. Each item is a 32-bit VAX integer (11).
  580. The first element of the histogram contains the frequency of occurrences
  581. for the pixel value of 0, the last element contains the frequency for
  582. the pixel value 255. 
  583.  
  584.  
  585. 6.3 - Encoding Histogram Object
  586. -------------------------------
  587.  
  588. The second object in a compressed image file is the encoding histogram
  589. used to generate the Huffman coding table.  The encoding histogram
  590. object begins at the record specified by the ^ENCODING_HISTOGRAM
  591. keyword. The encoding histogram is made up of three variable-length
  592. records (^ENCODING_HISTOGRAM - ^ENGINEERING_TABLE). These three
  593. records, when concatenated together, make up 511 items with each item a
  594. 32-bit VAX integer (11).  The first element of the histogram contains
  595. the frequency of occurrences for the first-difference value of -255. The
  596. last element contains the frequency for the value 255. Software will
  597. need to read the encoding histogram from the Encoding histogram object,
  598. and then pass it to the DECMPINIT subroutine for initialization. 
  599.  
  600.  
  601. 6.4 - Engineering Table Object
  602. ------------------------------
  603.  
  604. The third object in a compressed image file is the engineering table.
  605. The table starts at the record specified by the ^ENGINEERING_TABLE
  606. keyword. The table is made up of a single variable-length record. The
  607. table contains supplemental engineering data which typically will not
  608. be used by most image processing users.  Information in this object
  609. includes the FDS counts at start and end of image acquisition, system
  610. noise levels, synchronization error counts, engineering status,
  611. subcommand loads, and other engineering information. A description of
  612. the Engineering Table Object can be found in Appendix E. The file
  613. ENGTAB.LBL in the LABEL directory provides an ODL label describing
  614. the engineering table. 
  615.  
  616.  
  617. 6.5 - Image Object
  618. ------------------
  619.  
  620. The fourth object in a compressed image file contains the image data.
  621. The image starts at the record specified by the ^IMAGE keyword. The
  622. image is made up of 800 variable-length records; each record represents
  623. a single line. 
  624.  
  625. For Voyager images in an uncompressed form , there are 800 lines and 800
  626. samples per line. Each record has 36 suffix bytes appended to the end of
  627. each line record. Each sample is an 8-bit unsigned integer. The keywords
  628. in the label area that describe the image are the LINES, LINE_SAMPLES,
  629. LINE_SUFFIX_BYTES, SAMPLE_BITS, and SAMPLE_TYPE keywords. For more
  630. information on these keywords see Appendix C.
  631.                                                                  page 10
  632.  
  633. The compressed lines are different lengths because the decompression
  634. factor for each line is different. The image samples and the line suffix
  635. bytes are both in a compressed form. The first byte of a compressed line
  636. is the actual value of the first sample in the line. The rest of the
  637. record is the Huffman coded bits of the first-difference values. In
  638. order to reconstruct an image line, the compressed line must be passed
  639. to the DECOMPRESS subroutine. 
  640.  
  641. The suffix bytes in the line record contain line engineering data. The
  642. format, after decompression, are described in Appendix D. The file
  643. LINESUFX.LBL in the LABEL directory provides an ODL label describing
  644. the line suffix after decompression. 
  645.  
  646.  
  647. 7 - Browse Image File Organization
  648. ------------------------------------
  649.  
  650. The format of browse image files differs from that of the compressed image
  651. files. The primary difference is the record structure of the files. Browse
  652. images are stored as direct-access files with fixed-length records as defined
  653. by the ISO CD-ROM standard (12). Refer to the information on fixed-length
  654. record files in Appendix A. Fixed-length record files are appropriate for
  655. browse images because the image lines, represented as individual records, are
  656. fixed in size. The length of each fixed length-record, specified by the
  657. RECORD_BYTES keyword, is 200 bytes. Fixed-length record files have the added
  658. advantage of providing direct-access to any part of the file making it
  659. unnecessary to sequentially pass though a file to reach a particular record.
  660. This is the preferred data storage technique for many image processing
  661. systems (7, 8). 
  662.  
  663. Browse image files, internally similar to the organization of compressed
  664. image files, begin with a label area followed by the file objects: image
  665. histogram, and image. The encoding histogram object, not required
  666. because the image is not compressed, and the engineering table object
  667. do not exist in browse image files. The sections which follow provide a
  668. description of the image labels and the data objects within the file. 
  669.  
  670.  
  671. 7.1 - Image Label Area
  672. ----------------------
  673.  
  674. Browse image labels are similar to those for compressed files; they contain
  675. the same keyword syntax and keyword assignment statements. The chief
  676. difference between the browse image labels and the compressed labels are
  677. how they are stored in the records.  Unlike compressed image files,
  678. keyword assignment statements are not stored in individual records.
  679. Instead, a file record will contain several keyword statements. The
  680. label records, when concatenated together, consist of a contiguous
  681. string of characters. The keywords are then extracted from this string.
  682. The keywords are separated from one another by a carriage-return and
  683. line-feed character sequence. An example of the keyword labels existing
  684. on a browse image is shown below. Appendix C provides a detailed
  685. description of each keyword found in the example. 
  686.                                                                  page 11
  687.  
  688.                  Example label found on a BROWSE image
  689.                  -------------------------------------
  690.  
  691. NJPL1I00PDS100043180             = SFDU_LABEL
  692. /*               FILE FORMAT AND LENGTH
  693. RECORD_TYPE                      = FIXED_LENGTH
  694. RECORD_BYTES                     = 200
  695. FILE_RECORDS                     = 216
  696. LABEL_RECORDS                    = 10
  697. /*               RECORD POINTERS OF MAJOR OBJECTS
  698. ^IMAGE_HISTOGRAM                 = 11
  699. ^IMAGE                           = 17
  700. /*               IMAGE DESCRIPTION
  701. SPACECRAFT_NAME                  = VOYAGER_2
  702. MISSION_PHASE_NAME               = SATURN_ENCOUNTER
  703. TARGET_NAME                      = DARK
  704. IMAGE_ID                         = '1594S1-009'
  705. IMAGE_NUMBER                     = 34700.41 /*FLIGHT DATA SUBSYSTEM(FDS)
  706. IMAGE_TIME                       = 1980-11-04T20:57:22Z
  707. EARTH_RECEIVED_TIME              = UNKNOWN
  708. INSTRUMENT_NAME                  = WIDE_ANGLE_CAMERA
  709. SCAN_MODE_ID                     = '1:1'
  710. SHUTTER_MODE_ID                  = BODARK
  711. GAIN_MODE_ID                     = LOW
  712. EDIT_MODE_ID                     = '1:1' /*FULL RESOLUTION
  713. FILTER_NAME                      = CH4_JS
  714. FILTER_NUMBER                    = 0
  715. EXPOSURE_DURATION                = 7.6800 <SECONDS>
  716. NOTE                             = "DARK CURRENT CALIBRATION"
  717. /*               DESCRIPTION OF OBJECTS IN FILE
  718. OBJECT                           = IMAGE_HISTOGRAM
  719.  ITEMS                           = 256
  720.  ITEM_TYPE                       = VAX_INTEGER
  721.  ITEM_BITS                       = 32
  722. END_OBJECT
  723. OBJECT                           = IMAGE
  724.  LINES                           = 200
  725.  LINE_SAMPLES                    = 200
  726.  SAMPLE_TYPE                     = UNSIGNED_INTEGER
  727.  SAMPLE_BITS                     = 8
  728.  SAMPLE_BIT_MASK                 = 2#11111111#
  729.  NOTE                            = "SUBSAMPLED FROM 800X800 EDR IMAGE"
  730. END_OBJECT
  731. END
  732.  
  733.  
  734. 7.2 - Image Histogram Object
  735. ----------------------------
  736.  
  737. The first object in the file, the image histogram, begins at the record
  738. specified by the ^IMAGE_HISTOGRAM keyword. The histogram is make up of
  739. six fixed-length records and is otherwise constructed identically to the
  740. compressed file image histogram object. (Remember, the length of an
  741. object, in records, is determined by differencing the value of the
  742. pointer keyword from the value of the next pointer. For example, the
  743. value of ^IMAGE_HISTOGRAM minus the value of the ^IMAGE equals the value
  744. 6.) 
  745.                                                                  page 12
  746.  
  747. The six records, when concatenated together, contain the 256 elements
  748. of the image histogram. (The keyword ITEMS specifies the number
  749. of items in the object.)  The image histogram will occupy the first 1024
  750. bytes of the 1200 bytes which make up the six concatenated records.
  751. The remaining 176 bytes at the end of the image histogram object
  752. are to be ignored.
  753.  
  754.  
  755. 7.3 - Image Object
  756. ------------------
  757.  
  758. The image object starts at the record specified by the ^IMAGE keyword.
  759. The image is made up of 200 fixed-length records where each record
  760. represents a single image line. 
  761.  
  762. The keywords found in the IMAGE object describe the image area. There
  763. are 200 lines (LINES keyword), and 200 samples in a line
  764. (LINE_SAMPLES keyword). Unlike standard image files, there
  765. are no line suffix bytes so the LINE_SUFFIX_BYTES keyword is not
  766. found in the label.  Each sample is an 8-bit unsigned integer
  767. (SAMPLE_BITS and SAMPLE_TYPE keywords).
  768.  
  769.  
  770. 8 - Image Index File
  771. --------------------
  772.  
  773. The image index file, named IMGINDEX.TAB and located in the INDEX
  774. directory, contains basic information about the image files located on
  775. the planet volumes. Included in the image index is information on the
  776. camera state, exposure time, image target, optical filter, and other
  777. camera parameters. A description of the record fields and format is
  778. found in Appendix F.  The image index file consists of fixed-length
  779. records of length 512 bytes in ASCII character representation.  Each
  780. record contains the information for one image.
  781.  
  782. There is a label file, IMGINDEX.LBL, located in the INDEX directory.
  783. which describes the contents of the index file. The label file consists
  784. of keyword statements in the Object Description Language (ODL) under
  785. development by the PDS project (10). 
  786.                                                                  page 13
  787.  
  788.                               References
  789.                               ----------
  790.  
  791. 1)  SCIENCE, Vol. 233, No. 4759, (1986); This issue of SCIENCE provides 
  792.     a detailed account of Voyager 2's spectacular encounter with Uranus.
  793.  
  794. 2)  SCIENCE, Vol. 204, No. 4392, (1979); Voyager 1's encounter with Jupiter
  795.  
  796. 3)  SCIENCE, Vol. 206, No. 4421, (1979); Voyager 2's encounter with Jupiter
  797.  
  798. 4)  SCIENCE, Vol. 212, No. 4491, (1979); Voyager 1's encounter with Saturn
  799.  
  800. 5)  SCIENCE, Vol. 215, No. 4532, (1982); Voyager 2's encounter with Saturn
  801.  
  802. 6)  M. Benesh and P. Jepsen, "Voyager Imaging Science Subsystem 
  803.     Calibration report", JPL Doc. No. 618-802, Jet Propulsion
  804.     Laboratory, Pasadena, Ca. 91103, (1978); This report details the 
  805.     Voyager camera's radiometric, geometric, and optical/mechanical 
  806.     properties.
  807.  
  808. 7)  "Planetary Image Cartography System (PICS)", Unpublished Manual,
  809.     Branch of Astrogeology, U. S. Geological Survey, Flagstaff, Az.
  810.     86001, (1987); PICS is an integrated computerized system for the 
  811.     systematic reduction, display, mapping, and analysis of planetary 
  812.     image data.
  813.     
  814. 8)  S. LaVoie, C. Avis, H. Mortensen, C. Stanley, L. Wainio, 
  815.     "VICAR - User's Guide", JPL Doc. No. D-4186, Jet Propulsion 
  816.     Laboratory, Pasadena, Ca. 91103, (1987); The MIPL facility at JPL 
  817.     has developed a system for the automatic processing of Voyager 
  818.     spacecraft data.
  819.  
  820. 9)  G. Held, "Data Compression, Techniques and Applications, Hardware
  821.     and Software Considerations", John Wiley and Sons, (1983).
  822.  
  823. 10) T. Z. Martin, M. D. Martin, and, M. J. Braun, "Standards for the 
  824.     Preparation and Interchange of Data Sets", JPL Doc. No. D-4683, 
  825.     Jet Propulsion Laboratory, Pasadena, Ca., 91109, (1988)
  826.  
  827. 11) VAX integers, as storage units in data files, are configured in 
  828.     "least significant byte first" order. This is the order for integer 
  829.     values used by VAX and IBM PC computer systems. Users of other 
  830.     computer architectures (IBM Mainframes, Macintosh, SUN, and Apollo) 
  831.     will need to swap the high and low byte positions for 16-bit integer
  832.     data. For 32-bit integer data, swap byte pairs 1 and 4, and 2 and 
  833.     3. (Example, hexadecimal value AA BB CC DD becomes DD CC BB AA.) 
  834.  
  835. 12) "Information processing -- Volume and file structure of CD-ROM
  836.     for information interchange", ISO/DIS document number 9660, 
  837.     International Organization for Standardization, 1 Rue de Varembe,
  838.     Case Postale 56, CH-1121 Geneva 20, Switzerland, (April 15, 1987)
  839.                                                                  page 14
  840.                               Appendix A
  841.                               ----------
  842.  
  843.  
  844. A - ISO Volume and Directory Standard
  845. -------------------------------------
  846.  
  847. The volume and directory structure of the CD-ROM conforms to the standard
  848. specified by the International Organization for Standardization (ISO)
  849. (12). The ISO standard has three levels of interchange. The CD-ROM disk
  850. conforms to the first level of interchange, level-1.  This level allows
  851. file attributes and characteristics to be specified in an extended
  852. attribute record. 
  853.  
  854. For computer operating systems which support the capabilities of the
  855. full level-1 ISO standard, access to the CD-ROM volume will be
  856. straightforward; all of the operating system capabilities for I/O will
  857. operate on the disk.  For example, it will be possible to obtain
  858. directory listings, copy files, and utilize high level I/O functions.
  859. For computer systems which do not support the ISO standard, access to
  860. the image files will be more difficult; special operating system
  861. input/output routines will need to be developed or obtained in order to
  862. access the files. 
  863.  
  864. Because the disk is produced at the level-1 ISO standard, files will be
  865. prefixed with an extended attribute record.  The extended attribute
  866. record contains information about a file's record format, record
  867. attributes, and record length. This information is utilized by computer
  868. systems which support the full level-1 structure. The extended attribute
  869. record is not considered part of the file and is not seen by programs
  870. accessing a file with high-level I/O routines. 
  871.  
  872. For computer systems that do not support extended attribute records of
  873. the ISO standard, the extended attribute record is considered part of a
  874. file.  The extended attribute record will be located in the first 2048
  875. bytes of the file and should be bypassed by the I/O routines which
  876. access the data. 
  877.  
  878.  
  879. A.1 - Variable Length Records
  880. -----------------------------
  881.  
  882. Variable-length record files contain records with any number of bytes,
  883. up to a specified maximum.  These records are prefixed by a count field,
  884. indicating the number of bytes in the record.  The count field comprises
  885. two bytes on a CD-ROM stored in a VAX integer format (11).  The value
  886. stored in the count field indicates the number of data bytes in the
  887. record. 
  888.  
  889. Variable-length record files can only be accessed sequentially. This
  890. means file I/O routines start reading a file with the first record;
  891. subsequent reads provide the next sequential record in the file.
  892.  
  893. In the ISO standard, an odd valued record length can be specified but
  894. the actual record length must be even.  If an odd length record is
  895. specified, the value stored in the count field will contain the odd
  896. length.  However, the record will be padded at the end of the record
  897. with a zero-filled byte to make the actual record length even. 
  898.                                                                  page 15
  899.  
  900. For computer systems supporting variable-length records there will be
  901. high-level I/O routines to access the file. For systems which do not
  902. support the level-1 ISO standard or do not support variable length
  903. records, software will need to be developed for handling these files. 
  904.  
  905. A.2 - Direct Access Files
  906. -------------------------
  907.  
  908. Direct-access files with fixed-length records have implied records;
  909. there is no information in the file designating the start or end of a
  910. record. Rather, the first byte of a record within a file starts at a
  911. fixed offset byte position from the start of the file. Direct-access
  912. files allow any part of a file to be accessed directly without the need
  913. to sequentially pass through a file. To determine the record byte-offset
  914. position, the following calculation can be made: 
  915.  
  916.              off = (rec-1)*len
  917.       where: off = offset byte position of record from start of file
  918.              rec = desired record to access
  919.              len = length of record in bytes
  920.              
  921.                                                                  page 16
  922.                             Appendix B
  923.                             ----------
  924.  
  925. B - Syntactic Rules of Keyword Entries
  926. --------------------------------------
  927.  
  928. A keyword/value assignment, made up of a string of ASCII characters,
  929. contains the name of one parameter and the value of that parameter.  A
  930. keyword entry has the general form shown below:
  931.  
  932.                name  = value  [/* comment]
  933.  
  934. The layout of each keyword entry is essentially free-form; blanks and
  935. tabs are typically ignored by a parsing routine.  A keyword parameter
  936. name is separated from the keyword value by the equal symbol (=).  Each
  937. keyword entry may optionally be followed by a comment that more
  938. completely describes the entry.  The comment begins with a slash
  939. character followed by an asterisk character (/*), and terminates with
  940. the end of the line on which it appears.  Comments may exist on a line
  941. without a keyword entry. 
  942.  
  943. Values associated with a keyword represent integers, real numbers,
  944. unitized real numbers, literals, time, or character text strings. 
  945.  
  946. B.1 - Integer Numbers
  947. ---------------------
  948.  
  949. An integer value consists of a string of decimal digits preceded
  950. optionally by a sign (+ or -).  Non-decimal based integers are expressed
  951. according to the Ada language convention: b#nnnnnnn#, where 'b'
  952. represents the base of the number, and '#' delimits the number
  953. 'nnnnnnnn'. As an example, the number expressed as 2#111# represents the
  954. binary number 111 (7 in base 10). 
  955.  
  956.  
  957. B.2 - Real Numbers
  958. ------------------
  959.  
  960. A real number has the form: [s]f.d[En] where
  961.        s = optional sign (+ or -)
  962.        f = one or more decimal digits that specify the integral
  963.            portion of the number.
  964.        d = one or more decimal digits that specify the fraction 
  965.            portion of the number.
  966.        n = an optional exponent expressed as a power of 10. 
  967.  
  968. A unitized real number is a real number with a unit of measurement
  969. associated  with the number. The  units are enclosed in angle brackets
  970. (< >). As an example, 1.234 <SECONDS> indicates the measurement 1.234
  971. seconds. 
  972.                                                                  page 17
  973. B.3 - Time 
  974. ----------
  975.  
  976. A special form of a numeric field is the TIME value, the following
  977. format of date/time representation is used: 
  978.         yyyy-mm-ddThh:mm:ss.fffZ 
  979. where:  yyyy    = year 
  980.         mm      = month 
  981.         dd      = day of month 
  982.         hh      = hour 
  983.         mm      = minute 
  984.         ss      = seconds 
  985.         fff     = fraction of a second
  986.         Z       = The Z qualifier indicates the time is expressed
  987.                   as universal time corrected.
  988.  
  989. B.4 - Literal Values
  990. --------------------
  991.  
  992. A literal value is typically a member of a set of finite values. It is a
  993. string constructed from letters (A-Z), decimal digits (0-9), and the
  994. underscore character (_). The first character must be a letter.
  995. Optionally, a literal value may be delimited by single-quote (')
  996. characters.  If a literal appears within single-quotes, the literal may
  997. contain any printable ASCII character. For example, the literal value
  998. '1:1' is legal as long as the single-quoted format is used.  A
  999. keyword construction using a literal value might look like the
  1000. example shown below:
  1001.                    
  1002.                 FILTER_NAME = BLUE
  1003.  
  1004. In this example the statement says the BLUE filter of the camera was
  1005. used to acquire an image. 
  1006.  
  1007. B.5 - Text Character Strings
  1008. ----------------------------
  1009.  
  1010. Text strings can be any length and can consist of any sequence of
  1011. printable ASCII characters, tabs, blanks, carriage-control, or line-feed
  1012. characters enclosed in double-quote characters. The string continues 
  1013. until a double-quote character is encountered. 
  1014.  
  1015.                                                                  page 18
  1016.                               Appendix C
  1017.                               ----------
  1018.  
  1019.  
  1020. C - Keyword Assignments For Images
  1021. -----------------------------------
  1022.  
  1023. NJPL1I00PDS100xxxxxx = PDS_SFDU_LABEL
  1024.      This keyword provides a mechanism for image files to conform to 
  1025.      the SFDU (Standard Formatted Data Unit) convention. The first 20 bytes 
  1026.      of a file are to contain a SFDU. The SFDU label associated with a PDS 
  1027.      image file consists of the control authority identifier (characters 
  1028.      1-4), the version identifier (character 5), the class identifier 
  1029.      (character 6), a spare field (characters 7-8), a format identifier 
  1030.      (characters 9-12), and a length field indicator (characters 13-20).
  1031.      The keyword conforms to standard PDS keyword syntax and the value 
  1032.      associated with this keyword will always be SFDU_LABEL.
  1033.  
  1034. RECORD_TYPE = FIXED_LENGTH or VARIABLE_LENGTH
  1035.      This keyword defines the record structure of the file.
  1036.      Compressed files have VARIABLE_LENGTH records and Browse image
  1037.      files have FIXED_LENGTH records.
  1038.  
  1039. RECORD_BYTES = xxxx
  1040.      Record length in bytes for fixed length records. For variable
  1041.      length records, the value is the maximum size for a variable
  1042.      length record.
  1043.  
  1044. FILE_RECORDS = xxxx
  1045.      Total number of records contained in the file.
  1046.  
  1047. LABEL_RECORDS = xxxx
  1048.      Number of records in the label area of the image file.
  1049.  
  1050. ^IMAGE_HISTOGRAM = xxxx
  1051.      The (^) character prefixing a keyword indicates the keyword is a 
  1052.      pointer to the starting record of a major object in the file.
  1053.      In this case, the keyword is the pointer to the image histogram
  1054.      object. The keyword value indicates the starting record in the
  1055.      file for the image histogram object.  The number of records
  1056.      found in an object is determined by differencing the value
  1057.      of the pointer keyword from the value of the next pointer.
  1058.      
  1059. ^ENCODING_HISTOGRAM = xxxx
  1060.      The keyword value points to the starting record in the file for 
  1061.      the encoding histogram object.
  1062.  
  1063. ^ENGINEERING_TABLE = xxxxx 
  1064.      The keyword value points to the starting record in the file for 
  1065.      the engineering table object. 
  1066.  
  1067. ^IMAGE = xxxxx
  1068.      The keyword value points to the starting record in the file for 
  1069.      the image object.
  1070.  
  1071. SPACECRAFT_NAME = VOYAGER_1 or VOYAGER_2
  1072.      Spacecraft associated with the image.
  1073.                                                                  page 19
  1074.  
  1075. MISSION_PHASE_NAME = URANUS_ENCOUNTER, JUPITER_ENCOUNTER,
  1076.                      SATURN_ENCOUNTER, or NEPTUNE_ENCOUNTER
  1077.      Central body of the mission encounter for this image.
  1078.      
  1079. TARGET_NAME = xxxxxx
  1080.      Observational target body name of the image.
  1081.  
  1082. IMAGE_ID  = 'nnnnes+ddd'
  1083.      Image identification, takes the form: nnnnes+ddd, where 'nnnn' = 
  1084.      picture sequence number for a given day, 'e' = planet of encounter 
  1085.      (J=Jupiter, S=Saturn, U=Uranus, N=Neptune), 's' = Voyager 
  1086.      spacecraft (1 or 2), - sign indicates before and a + sign 
  1087.      indicates after closest planetary approach. 'ddd' = number 
  1088.      of days from closest approach.
  1089.  
  1090. IMAGE_NUMBER = xxxxx.xx
  1091.      Flight Data Subsystem (FDS) clock count at time of image acquisition.  
  1092.      There is a unique IMAGE_NUMBER for each image in a planetary
  1093.      encounter.  The clock count is always a seven digit value, five
  1094.      digits to the left of the decimal point and two digits to the right 
  1095.      of the decimal point.
  1096.  
  1097. IMAGE_TIME = yyyy-mm-ddThh:mm:ssZ
  1098.      Time at which image was acquired, the time system is Universal Time 
  1099.      Corrected. 'yyyy' = year, 'mm' = month, 'dd' = day of month, 
  1100.      'hh' = hour, 'mm' = minute, 'ss' = second.
  1101.  
  1102. EARTH_RECEIVED_TIME = yyyy-mm-ddThh:mm:ssZ
  1103.      Time at which image was received on earth. 
  1104.  
  1105. INSTRUMENT_NAME = NARROW_ANGLE_CAMERA or WIDE_ANGLE_CAMERA
  1106.      Camera used to acquire the image. 
  1107.  
  1108. SCAN_MODE_ID = 'n:1'
  1109.      Scan rate of vidicon read out, values can be '1:1', '2:1', '3:1', 
  1110.      '5:1', and '10:1'. The instrument scan rate affects the radiometric 
  1111.      properties of the camera because of the dark current buildup on
  1112.      the vidicon.
  1113.  
  1114. SHUTTER_MODE_ID = xxxxxx
  1115.       The instrument shutter mode affects the radiometric properties of
  1116.       the camera. Permitted values are;
  1117.       NAONLY - narrow angle camera shuttered only
  1118.       WAONLY - wide angle camera shuttered only
  1119.       BOTSIM - both cameras shuttered simultaneously
  1120.       BSIMAN - BOTSIM mode followed by NAONLY
  1121.       BODARK - shutter remained closed for narrow and wide angle camera
  1122.       NADARK - narrow angle read out without shuttering
  1123.       WADARK - wide angle read out without shuttering
  1124.        
  1125. GAIN_MODE_ID = LOW or HIGH
  1126.      Gain state of the camera.  
  1127.  
  1128. EDIT_MODE_ID  = xxxx
  1129.      Edit mode of the camera, indicates amount of data read from the 
  1130.      vidicon. '1:1' indicates the full-resolution of the vidicon. Other 
  1131.      values include '3:4', '1:2', '1:3', '1:5', and '1:10'
  1132.  
  1133.                                                                  page 20
  1134.  
  1135. FILTER_NAME = xxxxxx
  1136.      Optical filter used for the image. Permitted values are CLEAR, 
  1137.      CH4_U, CH4_JS, UV, VIOLET, BLUE, GREEN, ORANGE, and NAD.
  1138.  
  1139. FILTER_NUMBER = x
  1140.      Optical filter identification number, contains the unique
  1141.      number associated with the optical filter for the image.
  1142.  
  1143. EXPOSURE_DURATION  = x.xxxxx <SECONDS>
  1144.      Exposure duration of image in seconds. 
  1145.  
  1146. DATA_ANOMALY_TYPE = xxxxxxxxxx
  1147.      Data recording anomalies in the image.  If keyword
  1148.      is missing, no anomalies were detected. DATA_ANOMALY_TYPE = 
  1149.      RAM_DATA_CORRUPTION indicates that spurious values exist in the 
  1150.      image data due to corruption of the random access memory onboard 
  1151.      the spacecraft.
  1152.  
  1153. NOTE = "  "
  1154.      Observational intent of the image.
  1155.  
  1156. OBJECT = IMAGE_HISTOGRAM
  1157.  ITEMS = 256
  1158.  ITEM_TYPE = VAX_INTEGER
  1159.  ITEM_BITS = 32
  1160. END_OBJECT
  1161.      This keyword sequence identifies the image histogram object.
  1162.      The object contains 256 elements, stored in VAX integer format
  1163.      (11), and has 32 bits for each element.  The records associated 
  1164.      with an object are thought of as being concatenated together
  1165.      when making up the object.  Some objects will not completely
  1166.      fill the records which make up the object.  For example,
  1167.      in the image histogram object for browse images there are six
  1168.      fixed length records of 200 bytes per record. The image histogram
  1169.      will occupy the first 1024 bytes of the 1200 bytes which make
  1170.      up the six records. The remaining 176 bytes at the end of the
  1171.      image histogram object are to be ignored.
  1172.    
  1173.  
  1174. OBJECT = ENCODING_HISTOGRAM
  1175.  ITEMS = 511
  1176.  ITEM_TYPE = VAX_INTEGER
  1177.  ITEM_BITS = 32
  1178. END_OBJECT
  1179.      This keyword sequence identifies the encoding histogram object.
  1180.      The encoding histogram is used to construct the Huffman 
  1181.      coding tree for decompressing an image.  The encoding histogram 
  1182.      object contains 511 elements, is stored in VAX integer format 
  1183.      (11), and has 32 bits for each element. The ENCODING_HISTOGRAM 
  1184.      object does not exist in browse image files.
  1185.                                                                  page 21
  1186.  
  1187. OBJECT = ENGINEERING_TABLE 
  1188.  BYTES = 242
  1189.  ^STRUCTURE = 'ENGTAB.LBL' 
  1190. END_OBJECT 
  1191.      This keyword sequence identifies the engineering table object. 
  1192.      The engineering table is described in Appendix E. The ^STRUCTURE 
  1193.      keyword points to a logical file on the CD-ROM that contains 
  1194.      keyword descriptors for the engineering table. The BYTES 
  1195.      parameter indicates the number of bytes in the Engineering Table.
  1196.  
  1197. OBJECT = IMAGE
  1198.  ENCODING_TYPE = HUFFMAN_FIRST_DIFFERENCE
  1199.  LINES = xxxx
  1200.  LINE_SAMPLES = xxxx
  1201.  LINE_SUFFIX_BYTES = xxxx
  1202.  SAMPLE_TYPE = UNSIGNED_INTEGER
  1203.  SAMPLE_BITS = 8
  1204.  SAMPLE_BIT_MASK = 2#11111110#
  1205.  ^LINE_SUFFIX_STRUCTURE = 'LINESUFX.LBL'
  1206. END_OBJECT
  1207.      This keyword sequence identifies the image object. 
  1208.      ENCODING_TYPE = xxxx
  1209.           Type of image compression encoding scheme, always 
  1210.           HUFFMAN_FIRST_DIFFERENCE for full-resolution image.  This 
  1211.           keyword is not present in browse images. 
  1212.      LINES = xxxx 
  1213.           Number of scan lines in the image,  800 lines in a full 
  1214.           resolution image and 200 lines in a browse image.
  1215.      LINE_SAMPLES  = xxxx
  1216.           Number of samples in each image line,  800 samples in a 
  1217.           full resolution image and 200 samples in a browse image
  1218.     LINE_SUFFIX_BYTES = xxxx
  1219.           Number of suffix bytes in each image line record. There are 
  1220.           36 suffix bytes in a full-resolution image. Line suffix bytes 
  1221.           contain supplementary line engineering data, described in 
  1222.           Appendix D. This keyword is not present in browse images.
  1223.     SAMPLE_TYPE = UNSIGNED_INTEGER
  1224.           Pixels are unsigned integers.
  1225.     SAMPLE_BITS = 8
  1226.           Pixels are 8-bit values in the range 0 to 255.
  1227.     SAMPLE_BIT_MASK  = 2#11111111# or 2#11111110#
  1228.           Active bits in an image sample. The number is expressed as 
  1229.           a base 2 value in the Ada language number base convention. 
  1230.           The keyword value consists of a string of 1's and 0's. The 
  1231.           value 1 indicates a bit is active and a 0 indicates a bit is 
  1232.           not in use. For  example, SAMPLE_BIT_MASK = 2#11111110# 
  1233.           indicates all bits active except least significant bit
  1234.      ^LINE_SUFFIX_STRUCTURE = 'LINESUFX.LBL'
  1235.           Pointer to the file on the CD-ROM that contains keyword
  1236.           descriptors for  the line suffix bytes. This keyword is
  1237.           not present in browse image files because they do not
  1238.           contain line suffix bytes.
  1239.  
  1240. END
  1241. The keyword entries terminate with a line that contains only the word 
  1242. END.  Bytes in the label area after the END line are ignored.
  1243.                                                                  page 22
  1244.                             Appendix D
  1245.                             ----------
  1246.  
  1247.  
  1248. D - Supplemental Line Engineering Data
  1249. --------------------------------------
  1250.  
  1251. The table shown below describes the information contained in an image
  1252. line record for full-resolution images. The supplemental line
  1253. engineering data is found in byte positions 801 through 836 of the line
  1254. record. Both the image data and the supplemental line engineering data
  1255. are in a compressed form in the file and are decompressed for
  1256. restoration. The byte positions reference the line record after
  1257. decompression. All integer values are stored in VAX integer format (11). 
  1258.  
  1259. In the table the first byte in the record is designated byte 1.
  1260. The bit positions of a byte are numbered as bit 0 for the least
  1261. significant bit and bit 7 as the most significant bit.
  1262.  
  1263.  Byte       Data
  1264.  Position   Type             Data Description
  1265. ---------------------------------------------------
  1266.    1-800  BYTE      - Image scan line samples
  1267.  801-802  INTEGER*2 - FDS clock count, Mod 16 count
  1268.  803-804  INTEGER*2 - FDS clock count, Mod 60 count
  1269.  805-806  INTEGER*2 - FDS Mod line count
  1270.  807-808  INTEGER*2 - Image line number
  1271.  809-810  INTEGER*2 - Number of missing minor frames not present in 
  1272.                       line
  1273.  811-830  INTEGER*2 - An array of 10 items, one for each frame of
  1274.                       the image. Number of telemetry frame bits retained 
  1275.                       for processing
  1276.      831  BYTE      - Bits 0-7 identify input type as follows:
  1277.                       0 - S/C flight 2 data Mission Operations 
  1278.                           Subsystem
  1279.                       1 - S/C flight 1 data Mission Operations
  1280.                           Subsystem.
  1281.                       2 - PTM data
  1282.                       3 - Not used
  1283.                       4 - External simulation (SC41)
  1284.                       5 - External simulation (SC42)
  1285.                       6 - S/C flight 2 data test
  1286.                       7 - S/C flight 1 data test
  1287.      832  BYTE      - Input Source/Input type, bits 1-7 shown below
  1288.                       0 - Not used
  1289.                       1 - R/T data
  1290.                       2 - SDR tape data
  1291.                       3 - IDR tape data
  1292.                       4 - EDR (reprocessed data)
  1293.                       5 - Not used
  1294.                       6 - Not used
  1295.                       7 - fill data
  1296.  833-834  INTEGER*2 - First valid pixel ID, element position (1-800)
  1297.                       of the first pixel in this line not artificially
  1298.                       set to zeros by MIPL processing.
  1299.  835-836  INTEGER*2 - Element position of the last pixel in this line
  1300.                       not artificially set to zeros by MIPL 
  1301.                       processing.
  1302.                                                                  page 23
  1303.                               Appendix E
  1304.                               ----------
  1305.  
  1306.  
  1307.  
  1308. E - Engineering Table Object
  1309. ----------------------------
  1310.  
  1311.      The table shown below describes the information contained in the 
  1312. Engineering Table Object. The format and fields of the Engineering
  1313. Table Object are identical to the data as stored on the original
  1314. EDR magnetic tape files archived at the Jet Propulsion Laboratory.
  1315. All integer values are stored in VAX integer format (11).
  1316.  
  1317. In the table the first byte in the record is designated byte 1.
  1318. The bit positions of a byte are numbered as bit 0 for the least
  1319. significant bit and bit 7 as the most significant bit.
  1320.  
  1321. Byte                        
  1322. Position        Item                  Data Description
  1323. --------  -------------------   ----------------------------------
  1324.  
  1325.  
  1326. 7-12      Earth Received Time     Time of first line record in the
  1327.                                   file containing valid data.
  1328.                                   Bytes  7, 8 - year (7 bits),
  1329.                                                 day of year (9 bits)
  1330.                                   Bytes  9,10 - minute (11 bits)
  1331.                                   Bytes 11,12 - milliseconds 
  1332.  
  1333. 13-18     Earth Received Time     Time of last line record of the
  1334.                                   file containing valid data.
  1335.                                   (see format above)
  1336.  
  1337. 19-24     FDS Count               Count of the first line record of 
  1338.                                   the file containing valid data.  
  1339.                                   Note that this may not correspond 
  1340.                                   to the FDS Count for line record #1.
  1341.                                   Bytes 19,20 - FDS clock count Mod 16
  1342.                                   Bytes 21,22 - FDS clock count Mod 60
  1343.                                   Bytes 23,24 - FDS line count
  1344.  
  1345. 25-30     FDS Count               Count of the last line record of the
  1346.                                   file containing valid data.
  1347.                                   (see format above)
  1348. 31-36     Spacecraft Event Time   Four binary fields corresponding to 
  1349.                                   the (predicted) shutter-close time 
  1350.                                   for this image. (see format for 
  1351.                                   earth received time above)
  1352.  
  1353. 37-68     IPL Physical            IPL Data for first line record of 
  1354.                                   Recording Data file (ASCII text).
  1355.  
  1356.                                                                  page 24
  1357.  
  1358. 69-88     GCF Data                GCF for the first line record of the
  1359.                                   file containing valid data.
  1360.                                   Bytes 69-70 - GCF sync code (MSB)
  1361.                                   Byte  71    - GCF sync code (LSB)
  1362.                                   Byte  72    - Source code
  1363.                                   Byte  73    - Destination code
  1364.                                   Byte  74    - Block format code
  1365.                                   Bytes 75-76 - GDD(3-bits),UDT code 
  1366.                                                 (7-bits), DDT code 
  1367.                                                 (6-bits)
  1368.                                   Bytes 77-78 - Spacecraft number 
  1369.                                                 (7-bits) time (MSB)
  1370.                                   Byte  79-80 - time (LSB)
  1371.                                   Bytes 81-82 - Unused (2-bits), day 
  1372.                                                 of year (12-bits), 
  1373.                                                 block serial number 
  1374.                                                 MSB (2 bits)
  1375.                                   Byte  83    - LSB of block serial 
  1376.                                                 number
  1377.                                   Byte  84    - Millisecond clock
  1378.                                   Byte  85    - Serial number
  1379.                                   Byte  86    - GCF configuration 
  1380.                                                 status
  1381.                                   Bytes 87-88 - Unused (13-bits), 
  1382.                                                 esc (2-bits)
  1383.                                                 Unused (1 bit).
  1384. 89-108    GCF Data                GCF for of the last line record of 
  1385.                                   the file containing valid data.
  1386.                                   (see format above)
  1387.  
  1388. 109-114   Internal                Four binary fields representing 
  1389.           Received Time           approximate time of data receipt 
  1390.                                   from the DACS:
  1391.                                   year of century = byte 109
  1392.                                   day of year = byte 110
  1393.                                   minute of day = bytes 111,112
  1394.                                   millisecs in minute = bytes 113,114
  1395.  
  1396. 115-118   Unused                  Unused
  1397.  
  1398. 119-120   Format ID               Telemetry format ID for this image.
  1399.                                   bytes 119-120 represent a word with
  1400.                                   Bits 8-15 = unused
  1401.                                   Bits 6-7 = format (=2 for imaging)
  1402.                                   Bits 1-5 = image format code.  Note 
  1403.                                   that the code used by the GDS may 
  1404.                                   differ from the code down-linked by 
  1405.                                   the spacecraft:
  1406.                                   0=I3G4   12=IM2c    24=IM15
  1407.                                   2=IMS    15=GS4     26=IM6
  1408.                                   4=IMO    17=GS2     27=IM5
  1409.                                   6=IMG    18=IM14    28=IM4
  1410.                                   8=IMK    20=IM12    29=IM3
  1411.                                   9=IM7    21=IM11    30=IM2
  1412.                                   11=IM9   22=IM10    31=IM13
  1413.                                   Bit 0 = S/C ID (0=VGR-2, 1=VGR-1)
  1414.                                                                  page 25
  1415.  
  1416.  
  1417. 121-122   System Noise            The minimum noise level found for
  1418.           Temperature (Min)       the scan-lines
  1419.  
  1420. 123-124   System Noise            The maximum noise level found for
  1421.           Temperature (Max)       the scan-lines
  1422.  
  1423. 125-126   Symbol SNR (Min)        Minimum signal/noise ratio found 
  1424.                                   for the scan-lines
  1425.  
  1426. 127-128   Symbol SNR (Max)        Maximum signal/noise ratio found 
  1427.                                   for the scan-lines
  1428.  
  1429. 129-130   AGC (Min)               The minimum automatic gain control 
  1430.                                   value used for the scan-lines
  1431.  
  1432. 131-132   AGC (Max)               The maximum automatic gain control 
  1433.                                   value used for the scan-lines
  1434.  
  1435. 133-134   Sync Code Errors        Sum of the line sync. code errors 
  1436.                                   for the scan lines
  1437.  
  1438. 135-136   FDS Count Errors        The sum of the FDS count errors for 
  1439.                                   the scan lines which contain valid 
  1440.                                   data
  1441.  
  1442. 137-138   Sync Parameters         Bits 8-15 contain the sync 
  1443.                                   parameter I as described in the 
  1444.                                   MTIS SDR.  Bits 0-7 contain the 
  1445.                                   sync parameter P as described in 
  1446.                                   the MTIS SDR.
  1447.  
  1448. 139-140   Sync Parameters         3 five-bit values representing the 
  1449.                                   sync parameters J, K, and L as 
  1450.                                   described in the MTIS SDR.
  1451.                                         J = bits 10-14 (bit 15=zero)
  1452.                                         K = bits 5-9
  1453.                                         L = bits 0-4
  1454.  
  1455. 141-142   Sync Parameters         3 five-bit values representing the 
  1456.                                   sync parameters M, N, and R as 
  1457.                                   described in the MTIS SDR.
  1458.                                         M = bits 10-14 (bit 15=zero)
  1459.                                         N = bits 5-9
  1460.                                         R = bits 0-4
  1461.  
  1462. 143-144   Number of Lines         Total number of line records in the 
  1463.                                   file which contain some valid data.
  1464.  
  1465. 145-146   Number of Full Lines    Number of line records in the file 
  1466.                                   which are composed entirely of full 
  1467.                                   minor frames.
  1468.  
  1469. 147-148   Number of Partial       Total number of line records in the 
  1470.           Lines                   file which contain some valid data 
  1471.                                   but are not composed entirely of 
  1472.                                   full minor frames.
  1473.                                                                 page 26
  1474.  
  1475. 149-150   Number of Unreadable    Total number of records from the IDR
  1476.           Records                 and/or SDR which were unreadable and
  1477.                                   which fell within a time period for 
  1478.                                   which data was required for this 
  1479.                                   file. Note:  For SDR input this 
  1480.                                   does not necessarily result in 
  1481.                                   data loss.
  1482.  
  1483. 151-152   Number of Logical       Total number of gaps on the IDR 
  1484.           Breaks                  and/or SDR as indicated by a 
  1485.                                   discontinuity in the logical record 
  1486.                                   numbers which fell within a time 
  1487.                                   period for which data was required 
  1488.                                   for this file.
  1489.  
  1490. 153-154   Sort Parameters         TBD catalog information.  Will 
  1491.                                   include target info from PIG file.
  1492.  
  1493. 161-162   Number of Minor         Total number of minor frames in this
  1494.           Frames from IDR         file which were derived from IDR 
  1495.                                   input.
  1496.  
  1497. 163-164   Number of Minor         Total number of minor frames in this
  1498.           Frames from WBDL        file derived from WBDL input.
  1499.  
  1500. 165-166   Number of Minor         Total number of minor frames in this
  1501.           Frames from SDR         file which were derived from SDR 
  1502.                                   input.
  1503.  
  1504. 167-168   Number of Missing       Total number of frames which were 
  1505.           Minor Frames            missing from this file.
  1506.  
  1507. 169-170   Not Used
  1508.  
  1509. 171-180   Pic. No.                Ten ASCII characters of the form:
  1510.                                   NNNNES+DD, where:
  1511.                                   NNNN = picture number within day.
  1512.                                   E    = planet of encounter (J=Jupiter,
  1513.                                          S=Saturn,....)
  1514.                                   - =    indicates before closest 
  1515.                                          planetary approach
  1516.                                   + =    indicates after closest
  1517.                                          planetary approach.
  1518.                                   DDD =  Number of days from closest 
  1519.                                          approach.
  1520.  
  1521. 181-190   Target Body             Ten ASCII characters (e.g. MIRANDA).
  1522.  
  1523. 191-192   Input Source/Input      Logical sum (result of successive 
  1524.           Type                    inclusive or operations) of word 
  1525.                                    95 of all line records in the file.
  1526.  
  1527.  
  1528.                                                                  page 27
  1529. ISS Status/Engineering Subcom Data
  1530. ----------------------------------
  1531.  
  1532. 193-194   Shuttered Picture       Subcom position 1:
  1533.           Indicator               Bit 15 = Camera ID (O=WA, 1=NA)
  1534.                                   Bits 0-14 = shuttered picture 
  1535.                                               indicator
  1536.                                             = all ones for a 
  1537.                                               shuttered image
  1538.                                             = zeroes for unshuttered 
  1539.                                               images.
  1540.  
  1541. 195-196   Slow Scan Status        Subcom position 2:
  1542.                                   Bits 15-6 = Actual picture line 
  1543.                                   number being read out.
  1544.                                   Bits 5-0 = Actual segment number 
  1545.                                   being read out.
  1546.                                   Note:  the slow scan status is 
  1547.                                   meaningless here since it 
  1548.                                   increments with line count.
  1549.  
  1550. 197-198   Exp. Mode/Time/         Subcom position 3:
  1551.           Filter/Elec. Cal        Bits 11-15 = spares
  1552.                                   Bit 10 = NA electronics cal status
  1553.                                   (1=on, 0=off)
  1554.                                   Bit  9 = WA electronics cal status
  1555.                                   (1=on, 0=off)
  1556.                                   Bits 4-8 = 5-bit exposure code. To 
  1557.                                   convert to exp time, see MJS 
  1558.                                   77-4-2036. 
  1559.                                   Bits 0-3 = Filter wheel position.
  1560.                                   Bits 1-3 give the position and
  1561.                                   Bit 0 is an odd parity bit.
  1562.  
  1563. 199-200   Picture Count           Subcom position 4.
  1564.  
  1565. 201-202   Parameter A Word        Subcom position 5.
  1566.           Present Value
  1567.  
  1568. 203-204   Parameter A Word        Subcom position 6.
  1569.           Indicator
  1570.  
  1571. 205-206   Parameter A Word        Subcom position 7.
  1572.           Pointer
  1573.  
  1574. 207-208   Parameter B Word        Subcom position 8.
  1575.           Present Value
  1576.  
  1577. 209-210   Parameter B Word        Subcom position 9.
  1578.           Pointer
  1579.  
  1580. 211-212   Parameter C word        Subcom position 10.
  1581.           Present Value
  1582.  
  1583. 213-214   Parameter C word        Subcom position 11.
  1584.           Pointer
  1585.                                                                  page 28
  1586.  
  1587. 215-216   Parameter D word        Subcom position 12.
  1588.           Present Value
  1589.  
  1590. 217-218   Parameter D word        Subcom position 13.
  1591.           Indicator
  1592.  
  1593. 219-220   Parameter D Word        Subcom position 14.
  1594.           Pointer
  1595.  
  1596. 221-220   Ten 8-bit Analogue      Subcom positions 15-19.
  1597.           Samples
  1598.  
  1599. 231-232   Pixel Average/          Subcom position 20.
  1600.           Command Status          Bits 14-15 = spares
  1601.                                   Bits 13 = Pixel Average Status
  1602.                                   Bits 8-12 = Pixel Average is based 
  1603.                                   on the MSBs of all pixels exceeding
  1604.                                   the programmed threshold of the
  1605.                                   camera read-out in the previous
  1606.                                   frame.
  1607.                                   For data compression formats (IMO, 
  1608.                                   IMQ, IMK, and IM2c) this field is 
  1609.                                   replaced by Command Status Word 
  1610.                                   SC06QT:
  1611.                                   Bits 15-3 = unused
  1612.                                   Bit 2 = WA LSB Truncation Flag 
  1613.                                   (0=truncation)
  1614.                                   Bit 1 = NA LSB Truncation Flag 
  1615.                                   (0=truncation)
  1616.                                   Bit 0 = Secondary Memory Readout 
  1617.                                   (1=readout)
  1618.  
  1619. 233-242   ISS Engineering         9 ISS engineering measurements from
  1620.                                   ETAP. 
  1621.                                                                  page 29
  1622.                               Appendix F
  1623.                               ----------
  1624.  
  1625. F - Image Index File Format
  1626. ---------------------------
  1627.  
  1628. The image index file contains information about the image files located
  1629. on the CD-ROM volumes. Included in the image index is information
  1630. on the camera state, exposure time, image target, optical filter, and
  1631. other camera parameters. The image index file consists of fixed-length
  1632. records of length 512 bytes in ASCII character representation. Each
  1633. record contains the information for a single image. 
  1634.  
  1635. The table shown below describes the contents of the image index file,
  1636. named IMGINDEX.TAB. This file is located in the INDEX directory. All
  1637. fields are in ASCII character format. The image index file was formatted
  1638. to allow automatic data entry programs to access the data for entry into
  1639. an existing data base system. The non-numeric fields in the image index
  1640. will be enclosed by double-quote characters. All fields are separated by
  1641. blank characters. The last two bytes in a record are a carriage-control
  1642. and line-feed character. The table shown below gives the starting and
  1643. ending byte positions of each field in the table. These byte positions
  1644. specify the actual fields and do not include the double-quote marks
  1645. and commas which separate the fields. 
  1646.  
  1647.     Byte 
  1648.     Positions       Description
  1649.   ------------------------------------------------------------------
  1650.        2- 10    Spacecraft Name 
  1651.       14- 30    Mission Phase 
  1652.       34- 41    Observational Target Body 
  1653.       45- 54    Image identification (example: 1522U2-004)
  1654.       57- 64    Image number (Flight Data Subsystem clock count)
  1655.       67- 86    Image time (Universal Time Corrected)
  1656.       90-109    Earth Received time (also Universal Time Corrected)
  1657.      113-131    Instrument name (WIDE_ANGLE_CAMERA or NARROW_ANGLE_CAMERA)
  1658.      135-141    Instrument scan rate (1:1, 2:1, 3:1, 5:1, 10:1)
  1659.      145-151    Shutter mode of camera (NAONLY, WAONLY, BOTSIM, BSIMAN,
  1660.                 BODARK, NADARK, or WADARK)
  1661.      155-161    Gain state of camera (always LOW on this volume)
  1662.      165-171    Edit mode of camera (1:1, 1:2, 1:3, 1:5, 1:10, 3:4)
  1663.      175-181    Filter name (CLEAR, CH4_U, CH4_JS, UV, VIOLET, BLUE,
  1664.                 GREEN, ORANGE, or NAD)
  1665.      184-187    Filter identification number
  1666.      189-195    Exposure duration (seconds)
  1667.      198-277    Observational note
  1668.      281-288    Sample Bit MASK (11111111 = all bits in 8-bit byte
  1669.                 are active, 11111110 = all bits active except least
  1670.                 significant)
  1671.      292-297    Data Anomalies (NONE = no data anomaly detected,
  1672.                 RAMCOR=RAM data corruption anomaly)
  1673.      301-308    CD-ROM volume number of compressed image file
  1674.      312-342    Directory location and name of compressed image file
  1675.      346-353    CD-ROM volume number of browse image file
  1676.      357-394    Directory location and name of browse image file
  1677.