median
Set pixels to median of surrounding pixel values
This program accepts a user-defined boxcar and loops
through the input image. It finds the median pixel
value in the boxcar, and sets the output center pixel
to that median value. This will acheive a
"blurring" effect, similar to the lowpass filter.
Categories
History
Brendan George | 2005-11-04 | Original version |
Brendan George | 2006-06-05 | Added Minopt parameter, modified user interface |
Brendan George | 2006-06-19 | Modified user interface |
Parameters
Files
This is the cube from which we will gather our data.
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
This is the cube to which we will write the modified
data.
Type | cube |
---|---|
File Mode | output |
Filter | *.cub |
Boxcar Size
This will determine how many samples the boxcar will
have. This value must be odd and cannot exceed
twice the number of samples in the cube. Note that
the larger the boxcar size, the slower the program
will run. The size of the boxcar will also have an
impact on the blurring effect. The larger the boxcar,
the greater the blurring.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
Odd | This value must be an odd number |
This will determine how many lines the boxcar will
have. This value must be odd and cannot exceed
twice the number of lines in the cube. Note that
the larger the boxcar size, the slower the program
will run. The size of the boxcar will also have an
impact on the blurring effect. The larger the boxcar,
the greater the blurring.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
Odd | This value must be an odd number |
Boxcar settings
This value indicates the minimum value of a valid
pixel. If a pixel holds a value below the minimum
value, it will either be filtered or skipped over,
depending on user input in the "Filter Style"
area.
Type | double |
---|---|
Internal Default | Use all |
Less Than | HIGH |
This value indicates the maximum value of a valid
pixel. If a pixel holds a value over the maximum
value, it will either be excluded or included,
depending on user input in the "Filter Style"
area.
Type | double |
---|---|
Internal Default | Use all |
Greater Than | LOW |
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
required in a boxcar for filtering to begin.
Type | double |
---|---|
Default | 1 |
This determines what to put in the center pixel,
if there are not enough valid pixels in the boxcar
to meet the minimum requirement. The default is to
replace it with the current value, and the other option
will replace it with NULL.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | CENTER | |||||||||
Option List: |
|
Non-Special Pixel Filtering
These options determine which pixels are to be included in the filtering
process. ALL filters all pixels, regardless of value, VALID only filters
those pixels with values between LOW and HIGH, and INVALID only
filters those pixels with values outside LOW and HIGH. Note that these
only determine which Non-Special pixels to filter. Also, the median will
only be calculated from pixel values between LOW and HIGH.
Type | string | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Default | ALL | ||||||||||||
Option List: |
|
Special Pixel Filtering
This determines whether NULL pixels are considered valid for the
purposes of filtering. This, along with the user input in the
"Filter Style" section, will determine whether NULL pixels are
included in the filter.
Type | boolean |
---|---|
Default | TRUE |
This determines whether HRS pixels are considered valid for the
purposes of filtering. This, along with the user input in the
"Filter Style" section, will determine whether HRS pixels are
included in the filter.
Type | boolean |
---|---|
Default | TRUE |
This determines whether HIS pixels are considered valid for the
purposes of filtering. This, along with the user input in the
"Filter Style" section, will determine whether HIS pixels are
included in the filter.
Type | boolean |
---|---|
Default | TRUE |
This determines whether LRS pixels are considered valid for the
purposes of filtering. This, along with the user input in the
"Filter Style" section, will determine whether LRS pixels are
included in the filter.
Type | boolean |
---|---|
Default | TRUE |
This determines whether LIS pixels are considered valid for the
purposes of filtering. This, along with the user input in the
"Filter Style" section, will determine whether LIS pixels are
included in the filter.
Type | boolean |
---|---|
Default | TRUE |
Example 1
Running median with a 3x3 boxcar
This demonstrates running the median program on a sample
cube using a 3x3 boxcar.
Command Line
This demonstrates the commands necessary to run median on
a file named "peaks.cub" with a 3x3 boxcar. The small size of the boxcar
will only produce a slight blur.
median
from= peaks.cub
to=3x3median.cub
samples=3
lines=3
GUI Screenshot
Example GUI
median guiScreenshot of the GUI set to filter all pixels for the image using a 3x3 boxcar.
Input Image
Input image before medain filter
input cube
Parameter Name:
FROM
This is the original cube. The areas of greatest interest are those with a great deal of contrast such as edges.
Output Image
Example 2
Running median with a 15x15 boxcar
This demonstrates running the median program on a sample
cube using a 15x15 boxcar.
Command Line
This demonstrates the commands necessary to run median on
a file named "peaks.cub" with a 15x15 boxcar. The large size
of the boxcar produces a marked blurring effect.
median
from= peaks.cub
to=15x15median.cub
samples=15
lines=15
GUI Screenshot
Example GUI
median guiScreenshot of the GUI set to filter all pixels for the image using a 15x15 boxcar.
Input Image
Input image before medain filter
input cube
Parameter Name:
FROM
This is the original cube. The areas of greatest interest are those with a great deal of contrast such as edges.