| Environments | PYTHON :: EASI :: MODELER |
| Batch Mode | Yes |
| Quick links | Description :: Parameters :: Parameter descriptions :: Details :: Algorithm :: Acknowledgements :: References |
| Back to top |
| Back to top |
| Name | Type | Length | Value range |
|---|---|---|---|
| Input: Input raster channels * | Raster port | 1 - 1024 | |
| Output: Output raster channels | Raster port | 0 - 1024 | |
| Row or Column Correction | String | 0 - 1 | ROW | COLUMN Default: ROW |
| Smoothing Method | String | 0 - 1 | LIN | SQU | TRI | EXP | GAU | POL Default: LIN |
| InputBitmap: Input bitmap segment | Bitmap port | 0 - 16 | |
| Kernel Size | Integer | 0 - 1 | 1 - Default: 7 |
| Order of Polynomial Function | Integer | 0 - 1 | 1 - 5 Default: 1 |
| Back to top |
Input: Input raster channels
Specifies the image channels on to correct.
Duplicate channels are NOT allowed.
Output: Output raster channels
Specifies the output image channels to receive the corrected image.
Duplicate channels are NOT allowed.
Row or Column Correction
Specifies whether to perform the correction on the rows or columns of the image.
Smoothing Method
Specifies the smoothing method to use to correct the striping in the imagery.
InputBitmap: Input bitmap segment
Specifies the input bitmap segment(s) that indicate the location of striped data. This parameter is used only for linear corrections (SMOOTHM="LIN").
Duplicate segments are NOT allowed.
Kernel Size
Specifies the kernel window size to use when the smoothing method (SMOOTHM) is not linear (LIN). If the correction process (ROWCOL) is "ROW", this is in units of scanlines. If ROWCOL is "COL", this is in units of pixels.
The specified value must be an odd integer between 1 and 99 inclusively. The kernel size must not exceed the size of the input file.
Order of Polynomial Function
Specifies the order of the polynomial equation used to estimate the mean gray level for each scanline.
If the smoothing method (SMOOTHM) is set to "POL", STRPCOR requires the kernel size (KSIZE) to be greater or equal to ORDER + 1. If this is not the case, STRPCOR will exit with a message to either raise the value of KSIZE or lower the value of ORDER.
| Back to top |
STRPCOR corrects for image brightness variation that appears as as "stripes" in the image data. This type of correction is commonly known as "destriping." The stripes may be either horizontal (affecting entire scanlines) or vertical (affecting the same columns in each scanline). The correction process (ROWCOL) specifies how the striping occurs. ROWCOL set to "ROW" will process striping of entire scanlines; ROWCOL set to "COL" will correct for vertical striping of columns of the scanlines.
STRPCOR adjusts the gray level of the output image rows so that the brightness of the "striped" scanlines is lightened or darkened to match the brightness of the scanlines where there is no striping. This is done by multiplying each pixel gray-level value in the scanline by a calculated gain factor. The input image data to correct should be non-zero in the "striped" rows. If the "striped" rows are actually "dropped" scanlines (where all pixels in the scanline are zeroed), STRPCOR will not work and another method must be used to correct the imagery.
| Back to top |
Linear correction
The Linear stripe correction strategy requires the "stripes" in the imagery to be defined. This is done with one or more bitmaps (DBIB). If a bit is set, it is taken to mean that all the scanlines under that bit is part of the stripe.
SLOPE = ( AFTER - BEFORE ) / COUNT_n
ORIGIN = BEFORE - SLOPE * BEFORE_SCANLINE
(SLOPE * BAD_LINE_n + ORIGIN)
GAIN_n = -----------------------------
BAD_n
OUTPUT_PIXEL_1 = INPUT_PIXEL_1 * GAIN_n
OUTPUT_PIXEL_2 = INPUT_PIXEL_2 * GAIN_n
: : :
OUTPUT_PIXEL_m = INPUT_PIXEL_m * GAIN_n
Polynomial correction
The Polynomial method is similar to the Smoothing methods in that both smooth the data. The difference is that the Polynomial method performs smoothing with least-squares fit polynomials, while the Smoothing methods use different smoothing functions.
SMOOTH_n
GAIN_n = --------
MEAN_n
OUTPUT_PIXEL_1 = INPUT_PIXEL_1 * GAIN_n
OUTPUT_PIXEL_2 = INPUT_PIXEL_2 * GAIN_n
: : :
OUTPUT_PIXEL_m = INPUT_PIXEL_m * GAIN_n
X[1] = LINE_COORDINATE_1 Y[1] = MEAN_1 X[2] = LINE_COORDINATE_2 Y[2] = MEAN_2 X[3] = LINE_COORDINATE_3 Y[3] = MEAN_3 NUMBER_POINTS = 3
Smoothing
SMOOTH_n
GAIN_n = --------
MEAN_n
OUTPUT_PIXEL_1 = INPUT_PIXEL_1 * GAIN_n
OUTPUT_PIXEL_2 = INPUT_PIXEL_2 * GAIN_n
: : :
OUTPUT_PIXEL_m = INPUT_PIXEL_m * GAIN_n
SMOOTH = SMOOTH_FUNCTION( (MEAN_2 - MEAN_1), 3/2 ) SMOOTH_2 = SMOOTH * MEAN_1 NORMAL = SMOOTH SMOOTH = SMOOTH_FUNCTION( (MEAN_2 - MEAN_2), 3/2 ) SMOOTH_2 = SMOOTH_2 + SMOOTH * MEAN_2 NORMAL = NORMAL + SMOOTH SMOOTH = SMOOTH_FUNCTION( (MEAN_2 - MEAN_3), 3/2 ) SMOOTH_2 = SMOOTH_2 + SMOOTH * MEAN_3 NORMAL = NORMAL + SMOOTH
SMOOTH_2 = SMOOTH_2 / NORMAL
The Smooth functions (SMOOTH_FUNCTION) are as follows.
Square (that is, SMOOTHM="SQU"),
SMOOTH = 1.0
Triangular (that is, SMOOTHM="TRI")
if the input value X is negative or equal to zero
SMOOTH = ( X / HALF_KSIZE ) + 1.0
if the input value X is positive (that is, greater than zero)
SMOOTH = ( (-X) / HALF_KSIZE ) + 1.0
Exponential (that is, SMOOTHM="EXP")
SMOOTH = EXP( -3.0 * ABS( X / HALF_KSIZE ) )
where EXP() is the exponential function
and ABS() is the absolute value of ( X / HALF_KSIZE )
Gaussian (that is, SMOOTHM="GAU")
SMOOTH = EXP( -4.0 * SQUARE( X / HALF_KSIZE ) )
where EXP() is the exponential function
and SQUARE() is the square of ( X / HALF_KSIZE )
| Back to top |
PCI Geomatics received financial support from the Canadian Space Agency/L'Agence Spatiale Canadienne through the Earth Observation Application Development Program (EOADP) for the development of this software, under contract 9F028-0-4902/12.
| Back to top |
Datt, B. McVicar, T.R. et al. "Pre-processing EO-1 Hyperion Hyperspectral data to Support the Application of Agricultural Indexes", IEEE Transactions on Geoscience and Remote Sensing, June 2003, Volume 41, Issue 6 pp. 1246-1259.
F. A. Kruse, "Use of airborne imaging spectrometer data to map minerals associated with hydrothermally altered rocks in the Northern Grapevine Mountains, Nevada and California," Remote Sens. Environ., vol. 24, no. 1, pp. 31-51, 1988.
© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.