CCG_FM3x

Combines data lines using a fast median

Description:

This routine accepts an array consisting a series of (vectorised) lines of data. The data values in the lines are then combined to form a (fast) median line. This method uses no weights and returns no variances.

The method used is based on Wirth’s s algorithm for selecting the Kth value, which is very fast compared with a full sort.

The output medians are returned in the array RESULT.

Invocation

CALL CCG_FM3x( NPIX, NLINES, STACK, MINPIX, RESULT, WRK1, NCON, POINT, USED, NCON, NBAD, STATUS )

Arguments

NPIX = INTEGER (Given)
The number of pixels in a line of data.
NLINES = INTEGER (Given)
The number of lines of data in the stack.
STACK( NPIX, NLINES ) = ? (Given)
The array of lines which are to be combined into a single line.
MINPIX = INTEGER (Given)
The minimum number of pixels required to contribute to an output pixel.
RESULT( NPIX ) = ? (Returned)
The output line of data.
WRK1( NLINES ) = ? (Returned)
Workspace for calculations.
POINT( NLINES ) = INTEGER (Returned)
Workspace to hold pointers to the original positions of the data before extraction and conversion in to the WRK1 array.
USED( NLINES ) = LOGICAL (Returned)
Workspace used to indicate which values have been used in estimating a resultant value.
NCON( NLINES ) = DOUBLE PRECISION (Returned)
The actual number of contributing pixels from each input line to the output line.
NBAD = INTEGER (Returned)
The number of bad values in the output array created while forming the statistics. It excludes those bad values whose corresponding values along the collapse axis are all bad.
STATUS = INTEGER (Given and Returned)
The global status.

Notes: