ISIS Application Documentation
divfilter | Standard View | TOC | Home |
Apply a spatial high pass filter to a cube (divide)
Description
Categories
Groups
Examples
History
This program divides the pixel being processed by a low pass filter. This has the general effect of highlighting the edges of grouped contrasted DN values in the image, and therefore, feature changes will be emphasized. Predominant changes will be emphasized with larger boxcars, and smaller changes can be searched for using smaller boxcars.
This is done by convolving an NxM boxcar through the data, where N and M are odd integers. In other words, the average DN value of the boxcar is divided into its middle pixel DN value. Please refer to the following diagram:
Thus, P(output) = P(input) / lowPassFilter, or P(s,l) = P(s,l) / average(s,l,N,M) where P is the target pixel, s and l are the sample and line position in the boxcar, N and M are the size of the boxcar (in this case 3x3) and average(s,l,N,M) is the average of the NxM centered box.
For details on the box filtering see the following references:
M. J. McDonnell, Box-Filtering Techniques, Computer Graphics and Image Processing, Vol. 17, 1981, pages 65-70 E. M. Eliason and L. A. Soderblom, An Array Processing System for Lunar Geochemical and Geophysical Data, Porc. Lunar Sci. Conf. (8th) , 1977, pages 1163-1170.
Name | Description |
---|---|
FROM | Input file |
TO | Output cube |
Name | Description |
---|---|
SAMPLES | Number of samples in boxcar |
LINES | Number of lines in boxcar |
Name | Description |
---|---|
LOW | Valid minimum pixel |
HIGH | Valid maximum pixel |
MINOPT | Sets minimum to be either a count or a percentage |
MINIMUM | Minimum boxcar pixel count |
Name | Description |
---|---|
PROPAGATE | Propagate special pixels |
Input cube to filter
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
The resultant filtered cube
Type | cube |
---|---|
File Mode | output |
Pixel Type | real |
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, due to the computational algorithm, the size of the boxcar does not cause the program to operate significantly slower. (See Eliason/Soderblom document)
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, due to the computational algorithm, the size of the boxcar does not cause the program to operate significantly slower. (See Eliason/Soderblom document)
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 parameter determines whether the minimum parameter is to be interpreted as a count of pixels, or a percentage of all pixels in the boxcar.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | COUNT | |||||||||
Option List: |
|
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 special pixels are handled. If the center pixel of the boxcar(input) is a special pixel, the output pixel will contain the same special pixel, or set to NULL depending on the value of this parameter.
Type | boolean |
---|---|
Default | TRUE |
101x101
Example Gui Screenshot of GUI with parameters filled in to perform a divide filter of the input image with a boxcar of 101x101. |
Input image for divfilter
Parameter Name:
FROM This is the input image for the divfilter example. |
Output image for divfilter
Parameter Name:
TO This is the output image for this example of divfilter. It is the same as running lowpass and dividing the input image by the lowpass output using the ratio application. |
Eric Eliason | 1988-05-20 | Original version |
Tracie Sucharski | 2002-08-12 | 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..." |
Jeff Anderson | 2003-06-03 | Updated application test to fix errors |
Stuart Sides | 2003-07-29 | Modified filename parameters to be cube parameters where necessary |
Brendan George | 2006-03-20 | Added Minopt parameter |
Jac Shinaman | 2007-02-22 | Updated xml documentation with examples and new GUI configuration |