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
API Reference

Documentation Versions


Technical Documents

ISIS Application Documentation


Printer Friendly View | TOC | Home

Apply a Sigma Stretch to a cube.

Overview Parameters Example 1


This application is a translation of the Davinci script "sstretch" (Arizona State University, http://davinci.asu.edu). This program will stretch a cube according to the following formula for each pixel in the image:
      new_dn = (old_dn - avg) * (variance / stddev)
where avg and stddev are the statistical average and standard deviation of all valid pixels in the current band. The variance is a user-specified parameter, VARIANCE, that affects how much the histogram of the image is widened, and does not represent the statistical variance of the image.


Related Objects and Documents



Travis Addair2011-09-08 Original translation of Davinci's "sstretch" script into Isis 3.
Steven Lambright2012-02-24 This program now takes advantage of multiple global processing threads.

Parameter Groups


Name Description
FROM Input cube to stretch
TO Output cube


Name Description
VARIANCE Non-uniformity of the output's histogram

Files: FROM


The input cube to which the sigma stretch will be applied.

Type cube
File Mode input
Filter *.cub
Close Window

Files: TO


The resultant cube containing the image after being stretched.

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

Parameters: VARIANCE


The nonuniformity of the output image's histogram. For values less than 1.0, the distribution will be closer to uniform. This value must be greater than 0.0.

Type double
Default 40.0
Minimum 0.0 (exclusive)
Close Window

Example 1

Two THEMIS Images


This example shows a typical usage of sigmastretch as part of THEMIS mosaic creation. As input, the two images have very high contrast, and as such, blending the overlapping area will result in an awkward transition between the image bounds. By running sigmastretch first, the resulting images have less contrast, and can be mosaicked with good results. The default value for the VARIANCE of 40.0 here is used, as is typical in THEMIS processing.

Command Line

sigmastretch from=I01086005.cub to=I01086005.fx.cub; sigmastretch from=I23851018.cub to=I23851018.fx.cub
We're running the program once for each image. Without using multiple images, it's hard to see the differences due to "qview" automatically stretching the image for viewing. When mosaicked, however, the contrast is especially noticeable.

GUI Screenshot

The first sigmastretch GUI

Example GUI for I01086005.cub

Screenshot of the GUI with parameters set to stretch the first image.

The second sigmastretch GUI

Example GUI for I23851018.cub

Screenshot of the GUI with parameters set to stretch the second image.

Input Image

Mosaic of unstretched input images

Mosaic of the input images for sigmastretch

Parameter Name: FROM

This is a cropped subsection of the mosaic of the input images before being stretched. Note the sharp contrast between the two images when mosaicked.

Output Image

Mosaic showing results of the sigmastretch application

Mosaic of the output images for sigmastretch

Parameter Name: TO

This is the same subarea of a mosaic of the output images after being stretched. The contrast is now much more subtle, making the images ready to be blended together along their overlapping areas.