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.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


dstripe

Standard View | TOC | Home

Remove horizontal or vertical stripes/noise from a cube

Description
Categories
Groups
Examples
History


Description

This program uses a combination of lowpass and highpass filters to remove horizontal or vertical stripes in a cube. The steps behind the noise removal technique are:
       output = input - noise
       where noise = highpass(lowpass(input))
    

Suppose an input image had vertical striping noise, like in the example below. The noise can be removed or suppressed by applying a sequence of lowpass and highpass filters. The idea is to create an image containing only the noise and subtract that noise image from the original.

First, we apply a tall (1xNL) lowpass filter to the input image. This produces an image that is essentially a column average. The high frequency information has been suppressed and the vertical noise is left behind. Note however, the average of the lowpass filter matches the original input so we can not subtract the noise quite yet.

Second, we appy a (NSx1) highpass filter to the lowpass image. This effectively suppress the albedo information in the noise leaving only the noise behind. Note that the noise (third) histogram is centered about zero.

Finally, the noise image is subtracted from the original input image resulting in the desired noise-free image. All the steps the program goes through (along with their respective histograms) are illustrated below:

Input image After lowpass After highpass Output image
Input histogram Lowpass histogram Highpass histogram Output histogram
From left to right: Input, Lowpass, Highpass, Output

Categories


Related Objects and Documents

Applications


Parameter Groups

Files

Name Description
FROM Input file with striping
TO Output destriped cube

Noise type

Name Description
MODEType of noise

Vertical noise

Name Description
VLNLVertical Lowpass Number of Lines
VLNSVertical Lowpass Number of Samples
VHNLVertical Highpass Number of Lines
VHNSVertical Highpass Number of Samples

Horizontal noise

Name Description
HLNLHorizontal Lowpass Number of Lines
HLNSHorizontal Lowpass Number of Samples
HHNLHorizontal Highpass Number of Lines
HHNSHorizontal Highpass Number of Samples

Noise files

Name Description
DELETENOISEDelete the noise file
LPFNOISE Lowpass filter noise file
NOISE Temporary work file

Files: FROM

Description

Name of the input cube which has horizontal or vertical striping

Type cube
File Mode input
Filter *.cub

Files: TO

Description

The resultant cube which will have suppressed or removed striping

Type cube
File Mode output
Filter *.cub

Noise type: MODE

Description

This allows the user to specify which kind of striping noise needs to be removed.

Type string
Default VERTICAL
Option List:
Option Brief Description
VERTICALVertical noise Remove vertical striping from image

Exclusions

  • HLNL
  • HLNS
  • HHNL
  • HHNS
HORIZONTALHorizontal noise Remove horizontal striping from image

Exclusions

  • VLNL
  • VLNS
  • VHNL
  • VHNS

Vertical noise: VLNL

Description

This is the number of the lines to be used by lowpass

Type integer
Internal Default Number of lines
Minimum 1 (inclusive)
Odd This value must be an odd number

Vertical noise: VLNS

Description

This is the number of the samples to be used by lowpass

Type integer
Default 1
Minimum 1 (inclusive)
Odd This value must be an odd number

Vertical noise: VHNL

Description

This is the number of the lines to be used by highpass

Type integer
Default 1
Minimum 1 (inclusive)
Odd This value must be an odd number

Vertical noise: VHNS

Description

This is the number of the samples to be used by highpass

Type integer
Internal Default Number of samples
Minimum 1 (inclusive)
Odd This value must be an odd number

Horizontal noise: HLNL

Description

This is the number of the lines to be used by lowpass

Type integer
Default 1
Minimum 1 (inclusive)
Odd This value must be an odd number

Horizontal noise: HLNS

Description

This is the number of the samples to be used by lowpass

Type integer
Internal Default Number of samples
Minimum 1 (inclusive)
Odd This value must be an odd number

Horizontal noise: HHNL

Description

This is the number of the lines to be used by highpass

Type integer
Internal Default Number of lines
Minimum 1 (inclusive)
Odd This value must be an odd number

Horizontal noise: HHNS

Description

This is the number of the samples to be used by highpass

Type integer
Default 1
Minimum 1 (inclusive)
Odd This value must be an odd number

Noise files: DELETENOISE

Description

This will delete the noise file after the image is processed.

Type boolean
Default TRUE
Exclusions
  • LPFNOISE
  • NOISE

Noise files: LPFNOISE

Description

The results of running lowpass(input)

Type cube
File Mode input
Default lowpass.noise.cub
Filter *.cub

Noise files: NOISE

Description

The results of running highpass(lowpass(input))

Type cube
File Mode input
Default dstripe.noise.cub
Filter *.cub

Examples


Example 1

Vertical stripe removal

Description

This example shows the results of removing vertical striping noise from an image.

Command Line

dstripe from=../LO_4090_h1.cub to=../result.cub
Using default settings to remove striping noise from input file

GUI Screenshot

dstripe Gui

Example Gui

Screenshot of GUI with parameters filled in to perform a destriping operation on the input image.

Input Images

Input LO Image

Input image for dstripe

Parameter Name: FROM

This is a Lunar Orbitor image with vertical striping.

Striping Noise Image

Noise image from dstripe

Parameter Name: NOISE

This is a result of the low and highpass filters of the input image.

Output Image

Output image showing the result of destriping.

Output image from destriping

Parameter Name: TO

This is the output image that results.


History

Randy Kirk1988-01-01 Original version
Jeff Anderson2003-08-29 Ported to Isis 3.0
Sean Crosby2007-04-20 Changed destriping algorithm
Steven Lambright2008-05-13 Removed references to CubeInfo
Kaj Williams2017-06-05 Now names the temp files with unique names, enabling parallel execution.