ISIS Application Documentation
reduce | Standard View | TOC | Home |
Reduce the pixel dimensions of an image
Description
Categories
Groups
Examples
History
This program reduces a cube to a given proportion of the original or to specific pixel dimensions.
The reduction method options include either averaging the pixels (AVERAGE) or selecting the closest pixel at the window center (NEAREST) when generating a sub-sampled cube. More information is included under the Parameter Group headings.
For Level1:
For Level2 or Mosaic:
Use the ONS and ONL parameters with caution because the scaling factor for the samples and lines may be different in the output cube. Within this application, special pixels are considered invalid and will be replaced depending on the settings for VALIDPER and VPER_REPLACE parameters.
Name | Description |
---|---|
FROM | Input cube to reduce |
TO | Output cube |
Name | Description |
---|---|
ALGORITHM | Reduction method algorithm (Average, Nearest-Neighbor) |
MODE | Image reduction mode (SCALE or TOTAL) |
SSCALE | Sample scaling factor inverse |
LSCALE | Line scaling factor inverse |
ONS | Number of samples in output |
ONL | Number of lines in output |
VALIDPER | Valid percentage |
VPER_REPLACE | Replacement method when VALIDPER is not met |
Use this parameter to select the filename. All bands within the file will be scaled down.
Type | cube |
---|---|
File Mode | input |
Filter | *.cub |
This file will contain the results of the reduced cube. The output cube may not have all the keywords propagated to the output file depending on the reduction method chosen, and the type of input file.
Type | cube |
---|---|
File Mode | output |
Filter | *.cub |
Select the algorithm to use to reduce the image. The AVERAGE option will compute the output value by averaging the input pixels. The NEAREST option will assign the input pixel that is closest to the center of the window being analyzed as the output value.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | AVERAGE | |||||||||
Option List: |
|
Select between reducing the image to a proportion of the original (use a scaling factor inverse) or to specific pixel dimensions (define total number of pixels).
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | SCALE | |||||||||
Option List: |
|
This is the scaling factor inverse for the sample direction. For example, SSCALE=4 will reduce the number of samples by 1/4th.
Type | double |
---|---|
Default | 1.0 |
Minimum | 1.0 (inclusive) |
This is the scaling factor inverse for the line direction. For example, LSCALE=4 will reduce the number of lines by 1/4th.
Type | double |
---|---|
Default | 1.0 |
Minimum | 1.0 (inclusive) |
The number of samples desired in the output cube. This value must be less than or equal to the number of samples in the input image.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
The number of lines desired in the output cube. This value must be less than or equal to the number of lines in the input image.
Type | integer |
---|---|
Minimum | 1 (inclusive) |
This parameter specifies what percentage of the pixels need to be valid (non-special pixels) to determine the output value based on the reduction method chosen. For example, scaling down by a factor of two results in a 2x2 window (four pixels) being reduced to one pixel. If VALIDPER is set to 50, then at least two of the four pixels (50%) must be valid. If this criterion is met, then the result is derived using the valid input pixels based on the chosen algorithm. Otherwise, the output pixel is assigned a NULL value by default or the closest pixel if "NEAREST" is chosen for VPER_REPLACE.
Type | double |
---|---|
Default | 50 |
This parameter specifies the method to use when the value specified for VALIDPER is not met. The resultant pixel will be filled based on whether NULL or NEAREST is chosen for this parameter. The default is to replace with a NULL value if nothing is defined by the user.
Type | string | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Default | NULL | |||||||||
Option List: |
|
Reduce the image using different scale factor inverse
Example GUI Screenshot of the GUI with parameters set to perform a reduction of the input image. The default setting "algorithm=average mode=scale lscale=1 validper=50 vper_replace=NULL" will be used. |
Input image for the reduce application
Parameter Name:
FROM This is the input image that will be reduced. |
Output image from the reduce application
Parameter Name:
TO This is the reduced image. Though it has been scaled down so that it can be viewed in a web browser, the essential change can still be observed. The distortion is noticeable because the output file has been reduced in the sample direction but not in the line direction. The output image is half as wide as the input image but is the same height, and the features are compressed in one direction. |
Reduce the image using the pixel dimensions
Example GUI Screenshot of the GUI with parameters set to perform a sample and line reduction to a total number of pixels. The default settings for "algorithm," "validper," and "vper_replace" will be used. |
Input image for reduce application
Parameter Name:
FROM This is the image that will be reduced. |
Output image from the reduce application
Parameter Name:
TO This is the reduced image. Though it has been scaled down so that it can be viewed in a web browser, the essential change can still be observed. The distortion is noticeable because the output cube is not as wide as the input cube, and the features are compressed in one direction. The output cube has 1/3 the number of samples and 1/2 the number of lines as the input cube. |
Jeff Anderson | 1995-11-06 | Original version |
Tracie Sucharski | 2002-10-12 | Ported to Isis 3.0, Separated magcube into reduce and enlarge. |
Tracie Sucharski | 2003-05-13 | Read in ons/onl as integers not doubles. |
Stuart Sides | 2003-05-16 | Modified schema location from astrogeology... to isis.astrogeology..." |
Stuart Sides | 2003-07-29 | Modified filename parameters to be cube parameters where necessary |
Jeff Anderson | 2004-07-14 | Fixed propagation bug |
Tracie Sucharski | 2004-07-15 | Forget to change ons/onl minimum inclusive values from 1.0 to 1 during the 2003-5-13 change. |
Drew Davidson | 2005-08-17 | Added example |
Tracie Sucharski | 2006-04-03 | Fixed bug in average algorithm, forgot to divide Vper by 100. |
Jeff Anderson | 2006-09-19 | Fixed problems when program ran in batchlist |
Sean Crosby | 2007-02-28 | Program now updates output file's mapping keywords |
Steven Koechle | 2008-01-23 | Changed so if it failed VPER the output cube would get null values. Now processes cube bands from user input correctly |
Steven Lambright | 2008-05-13 | Removed references to CubeInfo |
Steven Koechle | 2008-05-15 | Added radio button for VPER options to allow original functionality. |
Steven Lambright | 2008-12-22 | The "Scale" keyword in the Projection group in the labels is now being updated if this program is run on a projected cube. |
Mackenzie Boyd | 2009-09-03 | Added keyword REDUCTION_TYPE to allow for clear switching between ons, onl and sscale, lscale. Fixed problem involving cube remaining open after an exception. |
Janet Barrett | 2009-10-22 | Now uses the SubArea class to produce output cube labels with corrected Mapping, Instrument, and AlphaCube groups. |
Travis Addair | 2009-11-12 | Improved documentation, changed parameter names, and updated examples. |
Travis Addair | 2009-12-09 | Updated documentation and changed parameters STOTAL and LTOTAL back to ONS and ONL, respectively. |
Sharmila Prasad | 2011-04-26 | Ported the reduce by near and average functionality from the app to base/objs/Reduce class |
Sharmila Prasad | 2011-10-07 | Fixed bug #0000463 regarding memory leak |
Sharmila Prasad | 2012-02-01 | Fixed bug #0000681 - reduce in ISIS 3.3.0 is ignoring the +N band identifier |
Tracie Sucharski | 2013-01-16 | Fixed an intermittent bug which caused a round off error which resulted in the output bands beyond band 1 being all NULL. Fixes #1385. |
Ella Mae Lee | 2013-11-06 | Updated the documentation and fixed incorrect information. Fixes #1691. |