ISIS 2 Documentation

Isis Voyager and Galileo SSI Image Processing with ISIS


The following is the image processing sequence for the VOYAGER and Galileo/SSI data sets. The Voyager 1 & 2 Data Processing sequence is designed to create clean, radiometrically corrected, photometrically normalized mosaics with the Voyager 1 & 2 digital data using the USGS/ISIS software. In the current version of ISIS, all programs run under UNIX, within TAE, except "tvtie" which runs in IDL. (With familiarity of required parameters of each program described below, the user has a choice to run each program outside of TAE using the command-line).

There are 5 levels of processing for Voyager and Galileo data sets, they are:

The sequence starts with accessing the raw digital data (i.e., the Voyager 1 & 2 Experiment Data Records, or EDRs) via the Internet or from the NASA Voyagers to the Outer Planets CDROM volumes (Level 0). The next processing step (Level1) involves using a series of ISIS programs designed to update the camera pointing information, find and remove reseau marks, remove random noise, and radiometrically correct the images.

In (Level2) processing, the images are projected to a Sinusoidal Equal-Area or Orthographic projection with the same map scale and center longitude defined. The next step (Level3) is to apply a photometric correction. In (Level4) processing, the input images go through first order fitting algorithm in an attempt to create an image that has density values that are matched.These images are then mosaicked together to generate a tone-matched mosaic. The mosaic is then run through a series of High and Low Pass filters to remove any additional seams. This output is the final mosaic.


At any time during the processing, help is available. Simply tutor a program in TAE and at the prompt type "help *". This provides documentation on the program tutored in general or on specific parameters in the program. To access a specific parameter simply type "help 'parameter name'". To exit the help type exit, this returns to the tutored program.

  	tae>t pds2isis
  	tae>help *
  	tae>help list




Raw file conversion

File Selection

Locate the images on CD-ROM and copy them to a workspace.

Convert to ISIS format

pds2isis - This converts the PDS image file to an ISIS format. It includes keywords on the image labels.

       tae>pds2isis from=name.imq to=name.cub

voyfixlabel - Applies a correction to the label information. This must be run immedately following pds2isis.

  	tae>voyfixlabel from=name.cub

spicelab - This updates the image labels with the geometry information on the Voyager data sets. The default is to use the original JPL SPICE files within the ISIS System (ext=gem). The main purpose of this step is to place original camera angles on the labels for a starting point. The user can specify a spice file within 'spicelab' using the 'tblfrom' parameter to utilize updated camera angles. This file is required to be a binary tablefile (Refer to lab2spice help in TAE). By the end of this calendar year, USGS/RAND will release updated spice for the Galilean satellites, Ganymede, Callisto, Europa, Io. These spice files will be accessible using 'ext' parameter and setting the value to RMB. (Keep posted for an announcement.)

   	tae>spicelab to=name.cub ext=gem 

planlab - updates and verifies planet angle information, radius values, etc. on the image labels from 1950 to j2000 planet orientation.

  	tae>planlab from=name.cub

naiflab - Applies the most recent planet angles and spacecraft vectors supplied by NAIF/JPL. *NOTE*- If processing Voyager images in conjunction with Galileo SSI images, the user MUST set the CENTIME parameter to YES to adjust the shutter time on the labels from start time to center time. This is required to be consistent with the time recorded for Galileo SSI images of shutter center time.

  	tae>naiflab from=name.cub centime=(default=no)


Radiometric/geometric correction and artifact removal

Using QVIEW, visually inspect the images selected to determine the image quality and identify noise artifacts that will effect the final mosaic quality. After opening a file in qview, select the browse option and quickly display the images selected. If an image has artifacts that need to be removed and the occurances of the noise is relatively low, 'qview' has a doctor (MD) option. (If the noise level is high, or at a seemly unreasonable level to modify by hand, refer to the VLEV1 process below.) This QVIEW MD option will allow the user to modify the specific invalid pixel(s) by replacing with a valid or null value. Zoom in on the artifact, select the MD button to modify the pixel interactively. Under OPTIONS, the user can select the method of editing the pixel data via point(single pixel), line or region. Use the left mouse button to edit the artifact pixel(s). Before using the Doctor option, it is recommended that you create a backup copy of your file because you are modifying the image data. This is an added precaution in order to recover the backup file if valid pixels were accidently replaced by the user. Help is available by tutoring the pdf "qview" in tae.

qview - This display program allows you to view the cub file and replace noise/artifact pixel values with null value. It is easily navigatable using pop-up windows.

For the LEVEL1 sequence, the images are processed through a series of programs to find and remove reseau marks, remove low to high level of random noise, and radiometric correction. The TAE procedure "vlev1" runs through the following programs:

  findrx - find and store reseau locations on the image labels
  remrx - remove the reseau marks by assigning these pixel
    	  locations to 'null'.  VLEV1 offers the option of
    	  running a low pass filter to replace the nulled pixels
    	  with an average of surrounding valid pixels, or apply a 
    	  bilinear interpolation algorithm.
  boxfilter - the 'salt and pepper' type noise are removed
    	      by applying a series of standard deviation filters to
    	      the image depending on the amount of noise that the
    	      user indicates.
  voycal - radiometrically calibrates the image 
  	tae>vlev1 from=name.cub to=name.cub.l1
  trim - Trim noise and artifacts from the edges of
  	 images from the top, bottom, left and right sides. This is
  	 done based upon user defined parameters.  The recommended
  	 number of pixels to trim from each side is 20. 
  circle - Trims the corners to remove the worst vidicon camera distortions found
  	   on Voyager data.  The recommended radius is 480.

If processing only Voyager images thru a final product, skip to LEVEL2 below.



The Galileo/SSI images need to be processed slightly different than Voyager in the early levels of image processing (Levels 0 and 1). After the Level 1 processing is completed, the remaining steps (Levels 2-4) are the same for both Galileo SSI and Voyager. For Galileo/SSI images use the following steps for Level 0 and 1 processing.


Locate the images on CD-ROM and copy them to a workspace.

Convert to ISIS format

pds2isis - This converts the PDS image to an ISIS format. It includes keywords on the image labels.

       tae>pds2isis from=name.imq to=name.cub

gllfixlabel - Makes a correction to the label information. This must be run immedately following pds2isis.

  	tae>gllfixlabel from=name.cub

The camera on Galileo/SSI is very different from the cameras on the Voyager spacecraft. This requires us to follow different calibration steps.

naiflab - updates the labels with geometry information supplied by NAIF/JPL. (Centime=yes not necessarily needed because NAIF supplies the shutter center time originally). This does not supply camera angles which will be updated with Jigsaw (see below).

 	tae>naiflab from=name.cub centime=yes

(spicelab - Places updated camera angles on the image labels. This step is not needed until USGS/RAND supplies the necessary binary tablefiles that will contain the updated camera angles for the Galilean Satellites.

 	tae>spicelab to=name.cub )

LEVEL 1 ssical - radiometrically calibrates the image

 	tae>ssical from=name.cub

Artifact removal and image clean-up.

trim - This trims the noise from the edges of images. This trims top,bottom,left or right by user input parameters. 2 to 5 pixels are recommended based upon each image.

 	tae>trim top=2 bottom=2 left=2 right=2

Refer to the image clean-up mentioned above within Voyager section using QVIEW for interactive pixel modification. Boxfilter (noise filter) can be used if the level of noise is high.


UPDATING CAMERA ANGLES - Selection of matchpoints and jigsaw

Warning---You can only select match points on Level 1 images prior to map projection (Level 2).

The matchpoint selection between pairs of overlapping images is performed within IDL. MANUAL MATCH POINT SELECTION USING IDL ROUTINES

Within the IDL tvtie,/match window, 1) select a point number, 2) move the cursor to a feature on the first image, 3) click middle button to zoom in on feature, 4) click the left button to select a point on a feature, 5) move cursor to the right image and select the same feature by clicking the left button. When you are satisfied with the points selected, select the 'save' button. The point number, line and sample number of each point, and the image_number of the second image will be recorded in the label section of the first image (left side). It is best to pick at least 3 matchpoints for each pair. Avoid selecting points in the corners which cause larger errors due to camera distortion. This is especially true with the Voyager images. If possible, it is best to avoid limb data as well. EXAMPLE:

        IDL> tvtie/match,'file1','file2'

IDL> wmatch wmatch is a menu driven interface for selecting pairs of images.

Match points need to be selected between ALL overlapping frames. After all the matchpoint selections are done, update the camera angles with "jigsaw". The input list should contain filenames of all the images that were matched. If any images were controlled to a base mosaic, these would need to be entered into jigsaw as hold images in a list containing their filenames for the 'holdlist' parameter or enter each filename in the 'hold' parameter. Refer to the help for the parameters, 'option' and 'tol'. If node=y the camera angles of any image found in the 'rmb' spice file is not updated. If node=n then all camera angles are updated except the ones listed as hold images.

    	tae>jigsaw from=(file1,file2) hold=file2 tol=1.0 option=2

lab2mat - reads the match points from the image labels and writes the output to a binary tablefile. It is recommended for backup and future reference.

lab2spice - Reads the camera angle information from the image labels and writes out to a binary table file. This table file can be entered into spicelab tblfile parameter to recover the camera angles on the labels of the images.


Map Projection The conversion of the Level 1 image data to a known map projection with corrected geometry and radiometry.

plansinu - creates the transformation file that 'geom' uses to project the images to a sinusoida projection. A common center longitude and map resolution(km/pix or pix/deg) are required for each image. The latitude and longitude range can default to help keep file sizes from becoming too large.

  	tae>plansinu from=name.cub.l1 clon=180 km=1 trim=yes

geom - Projects the image based upon the parameters defined in the transformation file.

	tae>geom from=name.cub.l1 to=name.cub.sinu
At this point, try to remember to rename or delete the tfile.dat file that is generated
if you a processing multiple images.  

An alternative to a sinusoidal projection is an orthographic projection. Refer to 'planorth'.


Photometric correction and tone matching

photompr - creates the coefficient file that applies a photometric function to normalize an image cube. This file contains multiplicative and additive values for each image that will be applied to the brightness value of the image. Some of the functions available are Lunlam, lamb, min, haphen,hapleg and moonpr. Refer to the help in photompr for further details.

  	tae>photompr from=name.cub.sinu function=lunlam l=1.0

photom - uses the coefficient file created in photompr and applies the values to brighten the images.

  	tae>photom from=name.cub.sinu to=name.cub.sinu.pho


McEwen, A.S., 1991, Photometric Function for Photoclimonetry and other applications, Icarus, V. 92, pp. 298-311.


There are a few options in ISIS to tone match files. The process adjusts the image brightness values of the various files to allow them to have similar values.

1) b4equal and equalizer:

b4equal - collects statistics on overlapping areas of a set of images that will be included in a mosaic. These are then written to the image label in the keyword PHOTO-RAD-POINT.

    	tae>b4equal from=name or fromlist=list of files

equalizer - calculates a multiplicative and an additive value, based upon the PHOTO_RAD_POINTS given by b4equal, to be applied to a set of images to linearly adjust the brightness values. This is referred to as "histogram matching". There must be at least one image held as the "truth" brightness level. The output is a TAE pdf (user defined filename) that calls the ISIS 'poly' application. This pdf will append .l4 to the input filenames.

  	tae>equalizer from=name.cub.sinu.pho hold=truth image 

2) TAE pdf 'blend' (calls 'fit' and 'poly'):

blend - Takes a pair of images, calculates and applies a multiplicative and additive value to an image. This allows a 1st through 8th polynomial order fit. An order of 1 or 2 give the best results. Refer to the help for 'goodfit' parameter.

 	tae>blend from=name.cub.sinu.pho from2=truth image to=name.l4 eqorder=1

For a mosaic option, it is sometimes useful to apply backplanes to the images. These can be Incidence Angle, Emission Angle, Phase Angle and Resolution backplanes.

geoback - calculates and stores emission angle, incidence angle, phase angle and resolution backplanes of the image.

  	tae>geoback from=name.l4 yes to any backplane needed.


Seam Removal

noseam - runs a series of HPF and LPF filters with user defined parameters to minimize seams. Refer to the TAE help.

mosaic - mosaics an image into an output file. The use of backplanes can determine which image will be placed on top by using an algorithm taking into consideration the backplane values. This is done at the pixel level using the Albedo and Morph options.

Documentation | Tutorials | Technical Documents | Isis Support Center (URL: | Home

Last updated: Jun 22 2005