ISIS Application Documentation
dstripe | Standard View | TOC | Home |
Remove horizontal or vertical stripes/noise from a cube
Description
Categories
Groups
Examples
History
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:
Name | Description |
---|---|
FROM | Input file with striping |
TO | Output destriped cube |
Name | Description |
---|---|
MODE | Type of noise |
Name | Description |
---|---|
VLNL | Vertical Lowpass Number of Lines |
VLNS | Vertical Lowpass Number of Samples |
VHNL | Vertical Highpass Number of Lines |
VHNS | Vertical Highpass Number of Samples |
Name | Description |
---|---|
HLNL | Horizontal Lowpass Number of Lines |
HLNS | Horizontal Lowpass Number of Samples |
HHNL | Horizontal Highpass Number of Lines |
HHNS | Horizontal Highpass Number of Samples |
Name | Description |
---|---|
DELETENOISE | Delete the noise file |
LPFNOISE | Lowpass filter noise file |
NOISE | Temporary work file |
Name of the input cube which has horizontal or vertical striping
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
The resultant cube which will have suppressed or removed striping
Type | cube |
---|---|
File Mode | output |
Filter | *.cub |
This allows the user to specify which kind of striping noise needs to be removed.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | VERTICAL | |||||||||
Option List: |
|
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
This will delete the noise file after the image is processed.
Type | boolean |
---|---|
Default | TRUE |
Exclusions |
|
The results of running lowpass(input)
Type | cube |
---|---|
File Mode | input |
Default | lowpass.noise.cub |
Filter | *.cub |
The results of running highpass(lowpass(input))
Type | cube |
---|---|
File Mode | input |
Default | dstripe.noise.cub |
Filter | *.cub |
Vertical stripe removal
Example Gui Screenshot of GUI with parameters filled in to perform a destriping operation on the input image. |
Input image for dstripe
Parameter Name:
FROM This is a Lunar Orbitor image with vertical striping. |
|
Noise image from dstripe
Parameter Name:
NOISE This is a result of the low and highpass filters of the input image. |
Output image from destriping
Parameter Name:
TO This is the output image that results. |
Randy Kirk | 1988-01-01 | Original version |
Jeff Anderson | 2003-08-29 | Ported to Isis 3.0 |
Sean Crosby | 2007-04-20 | Changed destriping algorithm |
Steven Lambright | 2008-05-13 | Removed references to CubeInfo |
Kaj Williams | 2017-06-05 | Now names the temp files with unique names, enabling parallel execution. |