ISIS Application Documentation
noisefilter | Standard View | TOC | Home |
Apply a noise removal filter to a cube
Description
Categories
Groups
Examples
History
Name | Description |
---|---|
FROM | Input file |
TO | Output noisefilter cube |
Name | Description |
---|---|
TOLDEF | Defines the meaning of TOLMIN and TOLMAX |
FLATTOL | Scaled tolerance value |
TOLMIN | Dark noise tolerance |
TOLMAX | Bright noise tolerance |
REPLACE | Value to replace noise |
Name | Description |
---|---|
SAMPLES | Number of samples in boxcar |
LINES | Number of lines in boxcar |
Name | Description |
---|---|
LOW | Valid minimum pixel |
HIGH | Valid maximum pixel |
MINIMUM | Minimum boxcar pixel count |
Name | Description |
---|---|
NULLISNOISE | Null is noise |
HISISNOISE | HIS is noise |
HRSISNOISE | HRS is noise |
LISISNOISE | HIS is noise |
LRSISNOISE | HRS is noise |
Input cube to filter
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
The resultant filtered cube
Type | cube |
---|---|
File Mode | output |
If DN is chosen TOLMIN and TOLMAX are in dn units. If STDDEV is chosen, TOLMIN and TOLMAX are number of standard deviations.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | DN | |||||||||
Option List: |
|
Minimum tolerance value used in the STDDEV filter. If the difference between the original pixel, and the average value of the noise filter is less than the FLATTOL then the output pixel will remain unchanged from the input pixel. Without this safeguard, very uniform inage areas (low standard deviation) will be excessively smoothed, creating areas of constant DN.
Type | double |
---|---|
Default | 0.0 |
Minimum | 0.0 (inclusive) |
If you are attempting to remove black speckle or other dark noise then you should be modifying this parameter. When a pixel is being checked for noise, a difference between the pixel and boxcar average is computed. If this difference is negative then TOLMIN will be used to determine if we have noise, hence dark noise will be removed by modifying TOLMIN. For the DN option, if the absolute value of the difference (pixel - average) is less than TOLMIN, then the input pixel is preserved. Otherwise it is considered noisy and will be replaced. For the STDDEV option, if the absolute value of the difference is less than TOLMIN * standard deviation of the boxcar then the input pixel is preserved. Otherwise it is considered noisy and will be replaced. In general, a high tolerance means fewer pixels will be replaced and lower tolerance will cause more pixels to be replaced. Too small of a tolerance can actually replace real/good data. For the STDDEV option, you might try TOLMIN=3 as a starting point. For the DN option, try TOLMIN=2.
Type | double |
---|---|
Default | 20 |
Minimum | 0.0 (exclusive) |
If you are attempting to remove white speckle or other bright noise then you should be modifying this parameter. When a pixel is being checked for noise, a difference between the pixel and boxcar average is computed. If this difference is positive then TOLMAX will be used to determine if we have noise, hence white noise will be removed by modifying TOLMAX. For the DN option, if the difference (pixel - average) is less than TOLMAX, then the input pixel is preserved. Otherwise it is considered noisy and will be replaced. For the STDDEV option, if the difference is less than TOLMAX * standard deviation of the boxcar then the input pixel is preserved. Otherwise it is considered noisy and will be replaced. In general, a high tolerance means fewer pixels will be replaced and lower tolerance will cause more pixels to be replaced. Too small of a tolerance can actually replace real/good data. For the STDDEV option, you might try TOLMAX=3 as a starting point. For the DN option, try TOLMAX=2.
Type | double |
---|---|
Default | 20 |
Minimum | 0.0 (exclusive) |
This is the value that is used to replace pixels which are considered to be noise.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | AVERAGE | |||||||||
Option List: |
|
This is the total number of samples in the boxcar. It must be odd and can not exceed twice the number of samples in the cube. In general, the size of the boxcar does not cause the program to operate significantly slower. The shape of the filter can be used to control types of noise to remove. For example, a 3x3 or 5x5 boxcar can be used to remove speckle or salt and pepper noise. A 1 sample x 5 line boxcar with REPLACE=NULL could be used to remove dropped or noisy lines of data. Then use the lowpass program with a 3x3 boxcar to fill in the NULLed data.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
Odd | This value must be an odd number |
This is the total number of lines in the boxcar. It must be odd and can not exceed twice the number of lines in the cube. In general, the size of the boxcar does not cause the program to operate significantly slower. The shape of the filter can be used to control types of noise to remove. For example, a 3x3 or 5x5 boxcar can be used to remove speckle or salt and pepper noise. A 1 sample x 5 line boxcar with REPLACE=NULL could be used to remove dropped or noisy lines of data. Then use the lowpass program with a 3x3 boxcar to fill in the NULLed data.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
Odd | This value must be an odd number |
Valid minimum pixel value that will be used in boxcar computation. If a pixel value is less than LOW then it will not be used when computing boxcar statistics.
Type | double |
---|---|
Internal Default | Use all pixels |
Less Than |
|
Valid maximum pixel value that will be used in boxcar computation. If a pixel value is greater than HIGH then it will not be used when computing boxcar statistics.
Type | double |
---|---|
Internal Default | Use all pixels |
Greater Than |
|
This is the minimum number of valid pixels which must occur inside the NxM boxcar for filtering to occur. For example, 3x5 boxcar has 15 pixels inside. If MINIMUM=10 then the filter will occur if there are 10 or greater valid pixels. A valid pixel is one that is not special (NULL, LIS, etc) and is in the range defined by LOW to HIGH.
Type | integer |
---|---|
Default | 1 |
Minimum | 1 (inclusive) |
This option is used to define how NULL pixels are handled. If this parameter is set to TRUE, then NULL pixels will be considered to be noise and will be replaced. If FALSE, the NULL will be propagated to the output.
Type | boolean |
---|---|
Default | FALSE |
This option is used to define how HIS (High Instrument Saturation) pixels are handled. If this parameter is set to TRUE, then HIS pixels will be considered to be noise and will be replaced. If FALSE, the HIS will be propagated to the output.
Type | boolean |
---|---|
Default | FALSE |
This option is used to define how HRS (High Representation Saturation) pixels are handled. If this parameter is set to TRUE, then HRS pixels will be considered to be noise and will be replaced. If FALSE, the HRS will be propagated to the output.
Type | boolean |
---|---|
Default | FALSE |
This option is used to define how LIS (Low Instrument Saturation) pixels are handled. If this parameter is set to TRUE, then LIS pixels will be considered to be noise and will be replaced. If FALSE, the LIS will be propagated to the output.
Type | boolean |
---|---|
Default | FALSE |
This option is used to define how LRS (Low Representation Saturation) pixels are handled. If this parameter is set to TRUE, then LRS pixels will be considered to be noise and will be replaced. If FALSE, the LRS will be propagated to the output.
Type | boolean |
---|---|
Default | FALSE |
Header default
Example GUI Screenshot of GUI with parameters filled in to perform the noisefilter application |
Input image for noisefilter
Parameter Name:
FROM This is the input image f332s28.cub. It has noise in the form of small black rectangles. |
Output image for the noisefilter example
Parameter Name:
TO This is the output image for the noisefilter application. The black rectangles are gone. |
Eric Eliason | 1988-05-20 | Original version |
Tracie Sucharski | 2002-08-15 | Ported to Isis 3.0 |
K Teal Thompson | 2003-04-10 | Add example. |
Kim Sides | 2003-05-13 | Added application test |
Stuart Sides | 2003-05-16 | Modified schema location from astogeology... to isis.astrogeology..." |
Stuart Sides | 2003-05-30 | Fixed compiler error with uninitialized variable after adding -O1 flag |
Stuart Sides | 2003-07-29 | Modified filename parameters to be cube parameters where necessary |
Jeff Anderson | 2003-08-25 | Separated standard deviation and average noise filter options into two routines. Fixed problem filtering special pixels. Modified explanations for TOLMIN and TOLMAX. |
Stuart Sides | 2003-11-07 | Modified results pvl to not include the results group |
Elizabeth Miller | 2005-12-15 | Added a flattol parameter - it replaces the tolmin parameter in isis2 boxfilter |
Steven Lambright | 2008-05-13 | Removed references to CubeInfo |