Home

User Documentation

Getting Started
Learn More
Explore in Detail
Get Inspired

Contributor Documentation

Getting Started
Learn More
Explore in Detail
Get Inspired

Quick Links

Software Manual
AstroDiscuss
GitHub
API Reference

Documentation Versions

Public Release
8.2.0
8.1.0
8.0.0
7.2.0
7.1.0
7.0.0
6.0.0
3.9.0
3.5.0

ISIS 2

Documentation
Tutorials
Technical Documents
USGS

ISIS Application Documentation


cisscal

Printer Friendly View | TOC | Home

Radiometric correction of Cassini ISS camera images.

Overview Parameters Example 1 Example 2

Description

This program performs radiometric corrections on images acquired by the Cassisi Imaging Science Subsystem (ISS) camera. It performs bitweight correction, bias subtraction, dark subtraction, non-linearity correction, flat field correction, DN to flux conversion, and correction factor division. The user may choose between intensity units and I/F for the DN to flux conversion. If you are trying to run cisscal on a cube ingested/created with an ISIS version less than 3.9 and are getting these errors: **ERROR** PVL Keyword [ShutterStateId] does not exist in [Group = Instrument]. **ERROR** Labels do not appear contain a valid Cassini ISS instrument. You will need to reingest the original image using ciss2isis or another ingesting program. This application is derived from the IDL CISSCAL application developed by the Cassini Imaging Central Laboratory for Operations (CICLPOS) using the following set of steps:

Step 1: Correct Bitweight This step is performed on images that do not have a data conversion type of "Table" or compression type of "Lossy" due to loss of information in these processses. This step is also skipped if the image has a zero gain state due to the lack of data for this case. Bitweight correction requires no user defined parameters. It uses a bitweight file found in the Cassini calibration bitweight directory.

Step 2: Subtract Bias This step defaults to a method that uses a line dependent bias. That method derives the bias by performing a linear fit to an array of overclocked pixels taken out of the binary prefix data and saved off by the ciss2isis application. This method cannot be performed if the image has a compression type of "Lossy". In that case, the BiasStripMean value found in the Instrument Group of the cube's labels is subtracted from every pixel. This alternative method cannot be implemented if the instrument used was CAS-ISS3 or earlier since, according to the SIS, the BiasStripMean keyword contains invalid data for these images. Bias subtraction requires no user defined parameters.

Step 3: Subtract Dark This step uses a spline interpolation to construct a dark image by calculating, for each pixel, a duration to be used with the coefficients found in the dark parmeter file. Dark current removal requires no user defined parameters and should be performed on all images. It uses a dark parameter file and if a narrow angle camera was used, a bias distortion table. These are found in the Cassini calibration darkcurrent directory.

Step 4: Linearize This step corrects for non-linearity. It requires no user defined parameters and should be performed on all images. It uses a linearity correction table found in the Cassini calibration linearize directory.

Step 5: Correct Flat field This step consists of two parts: dust ring removal and division by flat field. Dust ring removal only applies to images from narrow angle cameras. This process masks a dust ring found on images and, if the image is recent (after 286th day of 2003), divides out a mottle map. Flat field correction is applied to all images. During this process, each pixel is divided by the average of the center of the image. For SummingMode 2 or 4, the results from this method diverge from the IDL results due to differences in the bilinear method used to expand the flat file image. Flat field correction requires no user defined parameters. If narrow angle, it uses a dust ring file found in the Cassini calibration dustring directory. The dust ring file is determined by the epoch number associated with the file, the program choses the file with the largest epoch before the time stamp of the image being calibrated. It also uses a mottle file and an effective wavelength file found in dustring and efficiency directories. And, for any image a slope database and a flat file are used,found in slope and slope/slope2flat directories.

Step 6: Convert DN to Flux This step consists of 4 processes and the user must enter a value of "intensity" or "I/F" for the parameter "units". In the first process, DNs are converted to electrons by multiplying by the true gain. Second, the image is divided by the exposure time, correcting for shutter offset effect. Third, the image is divided by the optics area and, if intensity units are chosen, divided by the solid angle. In the last process, each pixel is divided by an efficiency factor. This value is dependent on the flux units chosen by the user: intensity units (photons/cm2/s/nm/ster) or I/F (irradiance over solar flux). If "I/F" is chosen, the input cube must have been run through the Isis3 application spiceinit to be able to calculate Solar Distance. The results from this method diverge from the IDL results due to differences in the way they calculate solar distance. However, the DN results are still within 0.2% after we divide by the efficiency factor. DN to Flux conversion should be performed on all images. Converting DN to flux units requires a shutter offset file, a spectral file (if I/F is chosen), a transmission file, and a quantum efficiency correction file found in the Cassini calibration offset, efficiency, efficiency/systrans and correction directories.

Step 7: Divide by Correction Factor This step is implemented in order to force theory and observation to match. It consists of 2 processes. First, the image is divided by its correction factor. This step requires no user defined parameters. It uses a correction factor file found in the Cassini calibration correction directory. Second, a sensitivity vs time correction is completed. A sensitivity value is calculated based off of the instrument Id and the image is multiplied by this value.

Omitted IDL Steps: In the original IDL program, there were 2 steps that were omitted in this application since they act as noise removal that can be filtered using other applications after calibration is complete. The first omitted step is 2-Hz noise removal. This is meant to remove horizontal banding patterns introduced during image readout of Cassini ISS images and has two peaks in the power spectrum near 2Hz. There are two methods to this correction. The first method invovles the smoothing and filtering of the overclocked pixel array, thus removing high frequency random noise, slow-varying, and DC-offset components. The second method requires large regions of dark sky pixels present for all lines and uses an image mean to construct a 2-Hz signal. The second omitted step is A-B pixel pairs correction (also referred to as anti-blooming correction or bright/dark pixel pair removal). In the IDL program, this correction is only performed if the labels of the image indicate that the AntiBloomingStateFlag is "On" and the InstrumentModeId is "Full" (i.e., SummingMode is 1). In this correction, bright/dark pixel pairs are identified and replaced with a boxcar average of their horizontal neighbors.


Categories


Related Objects and Documents

Applications

Documents


History

Jeannie Walldren2008-11-05 Original version
Jeannie Walldren2008-11-12 Fixed documentation.
Jeannie Walldren2008-12-22 Fixed bug in bitweight correction. Updated documentation.
Jeannie Walldren2009-01-09 Updated user documentation "Related Objects and Documents" section document web links.
Jeannie Walldren2009-01-12 Fixed documentation.
Jeannie Walldren2009-01-26 Fixed bug that caused errors on other compilers.
Jeannie Walldren2009-02-12 Modified the "I/F" option to make 2 attempts to locate the the target before throwing an exception. First, the Isis::Camera class is used to look for the target at the center point of the cube. If this fails, the subspacecraft point is used to find the target. Only if both fail will the application throw an error.
Jeannie Walldren2009-05-27 Modified cisscal and its DarkCurrent class to reflect updates to the new idl cisscal program version, 3.6. Updated documentation and app test to reflect these changes.
Jeannie Walldren2010-07-13 Added new in-flight calibration document to "See Also".
Jeannie Walldren2010-07-19 Updated documentation in cpp file and moved call to set output cube to top of main method to check user preferences before computations.
Debbie A. Cook2012-07-06 Updated Spice members to be more compliant with Isis coding standards. References #972.
Kimberly Oyama2012-08-16 Changed the parameter FLUXUNITS to UNITS. Changed the default value of the UNITS parameter to I/F (instead of INTENSITY). Fixes #219.
Debbie A. Cook2013-04-08 Fixed a problem likely introduced when the iString class was changed. The path to the mottle file includes "dustring". The "s" was incorrectly changed to "S". The problem was fixed to allow users to continue testing. References #775.
Jeannie Backer2013-03-16 Added new appTest to make sure that the dust ring file location is tested. References #775.
Adam Paquette2016-08-31 Updated the pdf links to Cassini ISS Software Interface Specification, CISSCAL User Guide, Cassini ISS Image Calibration: Theoretical Basis, and In-flight Calibration of the Cassini Imaging Science Subsystem Cameras to local assests in case the pdf sites are taken down. Fixes #2358.
Cole Neubauer2017-06-08 Updated cisscal and documentation to better reflect the steps as of idl cisscal program version, 3.8, and added capabilities to use new dustrings files based on epoch.. Fixes #4708
Adam Paqeutte2019-08-07 Added a version number to the cisscal label output. Currently at version 3.8.
Kaitlyn Lee2019-08-14 Updated to match IDL version 3.9.1. Removed jupiter correction, added checks for ShutterStateId, added check for bias mean strip, updated values in divideByAreaPixel, and added sensitivity vs time correction. Fixes #3351.
Adam Paquette2019-11-06 Removed the cube when either an associated bitweight file is not present, or the dark current calculation fails. Fixes #3446.

Parameter Groups

Files

Name Description
FROM Input Isis cube
TO Output Isis cube

Input Values

Name Description
UNITSOptions for converted flux units
X

Files: FROM


Description

Use this parameter to choose an Isis cube to be calibrated. To ensure that it contains all needed keywords in its label, input cube should have been imported using ciss2isis and, if "I/F" is chosen, input cube must have been run through spiceinit application.

Type cube
File Mode input
Filter *.cub
Close Window
X

Files: TO


Description

Use this parameter to select the output filename of the calibrated Isis cube.

Type cube
File Mode output
Pixel Type real
Filter *.cub
Close Window
X

Input Values: UNITS


Description

A list of the types of units to which user may choose to convert from DNs.

Type string
Default I/F
Option List:
Option Brief Description
INTENSITYIntensity units This option indicates that the user prefers to convert DNs to standard intensity units (photons/cm^2/s/nm/ster).
I/FIrradiance/SolarFlux This option indicates that the user prefers to normalize intensity in terms of solar flux (I/F). Input cube must have been run through spiceinit application.
Close Window

Example 1

Cube calibrated using intensity units.

Description

This example shows how to calibrate a Cassini ISS cube, converting to intensity units.

Command Line

cisscal from=../IN/inputCube.cub to=../OUT/outputCube.cub units=INTENSITY
Run the cisscal application to calibrate the cube.

GUI Screenshot

Cisscal Gui using intensity

Example Gui

Screenshot of GUI with parameters filled in to perform the cisscal application. Input and output cubes are always required. The flux unit Intensity is chosen (default is I/F).

Input Image

Input cube

Input image

Parameter Name: FROM

This is a Titan narrow-angle image that was imported into Isis cube format using ciss2isis.

Data File

Links open in a new window.
Stats on output cube This pvl file contains the results of the stats application run on the example 1 output cube. This may be compared with the pvl file of the same application run on the example 2 output cube.

Output Image

Output cube calibrated with intensity units

Output image

Parameter Name: TO

This is the Titan narrow-angle image calibrated and converted to intensity units.


Example 2

Cube calibrated using I/F.

Description

This example shows how to calibrate a Cassini ISS cube, converting to I/F.

Command Line

cisscal from=../IN/inputCube.cub to=../OUT/outputCube.cub
Run the cisscal application to calibrate the cube.

GUI Screenshot

Cisscal Gui using I/F

Example Gui

Screenshot of GUI with parameters filled in to perform the cisscal application. Input and output cubes are always required. The flux unit I/F (default) is chosen.

Input Image

Input cube

Input image

Parameter Name: FROM

This is a Titan narrow-angle image that was imported into Isis cube format using ciss2isis and run through spiceinit.

Data File

Links open in a new window.
Stats on output cube This pvl file contains the results of the stats application run on the example 2 output cube. This may be compared with the pvl file of the same application run on the example 1 output cube.

Output Image

Output cube calibrated with I/F

Output image

Parameter Name: TO

This is the Titan narrow-angle image calibrated and converted to I/F.