Description:
IRQ_COMP
should be called before this routine to produce the compiled quality expression identified by IDQ. The
QUALITY component of the NDF to which the quality expression refers (see IRQ_COMP
argument LOCS) is mapped as a one-dimensional vector. The supplied array VEC must
correspond pixel-for-pixel with the mapped QUALITY vector. All pixels which hold a QUALITY
satisfying the quality expression are found. If HELD is true, then the corresponding pixels
in VEC are set to the ‘bad
’
value (other pixels are left unaltered). If HELD is false, the
corresponding pixels in VEC are left as they are, but all the other pixels in VEC are set to the ‘bad
’
value. ALLBAD and NOBAD indicate if the output VEC values are either all bad or all
good.
Note, if the QUALITY component of the NDF is mapped for WRITE or UPDATE access on entry to
this routine, an error is reported.
Invocation
CALL IRQ_SBADx( IDQ, HELD, SIZE, VEC, ALLBAD,
NOBAD, STATUS )
Arguments
IDQ = INTEGER (Given)
An identifier for a compiled quality
expression, produced by routine IRQ_COMP. This identifier determines the NDF to which the
expression refers.
HELD = LOGICAL (Given)
If true then those VEC pixels which hold a quality
satisfying the supplied quality expression are set ‘bad’
. Otherwise, those pixels which don’
t hold
such a quality are set ‘bad’
.
SIZE = INTEGER (Given)
The total number of pixels in VEC. An error
is reported if this is not the same as the total number of pixels in the NDF determined
by IDQ.
VEC( SIZE ) = ? (Given and Returned)
The data to be set ‘bad’
, depending
on the corresponding quality values stored in the NDF. It must be the same size as the
NDF, and must correspond pixel-for-pixel with the vectorised NDF. Pixels which are not
explicitly set ‘bad’
by this routine retain the values they had on entry.
ALLBAD = LOGICAL
(Returned)
Returned true if all pixels in VEC are returned with ‘bad’
values, and false if
any returned pixel values are not ‘bad’
.
NOBAD = LOGICAL (Returned)
Returned
true if no pixels in VEC are returned with ‘bad’
values. False if any ‘bad’
pixel values
are returned.
STATUS = INTEGER (Given and Returned)
The global status.
Notes:
-
There is a routine for each numeric data type: replace "
x"
in the routine name by D, R, I, W, UW, B or
UB as appropriate. The VEC array supplied to the routine must have the data type specified.
Copyright © 2009 Science and Technology Facilities Council.