; TAFLG
;---------------------------------------------------------------
;! Flags data in a Table extension file
;# TASK TABLE EDITING
;-----------------------------------------------------------------------
;; Copyright (C) 1995, 2008-2009
;; Associated Universities, Inc. Washington DC, USA.
;;
;; This program is free software; you can redistribute it and/or
;; modify it under the terms of the GNU General Public License as
;; published by the Free Software Foundation; either version 2 of
;; the License, or (at your option) any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.
;;
;; You should have received a copy of the GNU General Public
;; License along with this program; if not, write to the Free
;; Software Foundation, Inc., 675 Massachusetts Ave, Cambridge,
;; MA 02139, USA.
;;
;; Correspondence concerning AIPS should be addressed as follows:
;; Internet email: aipsmail@nrao.edu.
;; Postal address: AIPS Project Office
;; National Radio Astronomy Observatory
;; 520 Edgemont Road
;; Charlottesville, VA 22903-2475 USA
;-----------------------------------------------------------------------
TAFLG LLLLLLLLLLLLUUUUUUUUUUUU CCCCCCCCCCCCCCCCCCCCCCCCCCCCC
TAFLG Flags data in a Table extension file
INNAME Input file name (name)
INCLASS Input file name (class)
INSEQ 0.0 9999.0 Input file name (seq. #)
INDISK 0.0 9.0 Input file disk unit #
INEXT Input table type.
INVERS 0.0 46655.0 Input table version #.
OUTVERS 0.0 46655.0 Output table version #.
BCOUNT 0.0 99999.0 Beginning row to flag
ECOUNT 0.0 99999.0 Last row to flag: 0 => end
OPTYPE Type of comparison:'>','>='
'=','<>','<=','<'
APARM Column selection parameters:
1: L-side col A, no default
2: L-side col A subscript
3: L-side col B, no default
4: L-side col B subscript
5: L-side function type
SEE the HELP !
6: R-side col A, no default
7: R-side col A subscript
8: R-side col B, no default
9: R-side col B subscript
10: R-side function type
BPARM Control parameters:
1: > 0 => use constant for
R-side
2: This constant
3: Okay uncertainty in = and
<> tests.
4: > 0 => remove previous
flagging
9: Exponent for L-side
10: Exponent for R-side
CPARM 1: L-side col A factor
2: L-side col A offset
3: L-side col B factor
4: L-side col B offset
5: R-side col A factor
6: R-side col A offset
7: R-side col B factor
8: R-side col B offset
9: L-side overall factor
10: L-side overall offset
----------------------------------------------------------------
TAFLG
Type: Task
Use: Copies data from an AIPS table-format extension file to a new
table extension file flagging rows having specified parameters.
It can write over the input table file. The decision about
flagging is made in rows BCOUNT - ECOUNT by computing a function
of one or two columns (the "L-side") and comparing the result
with an OPTYPE comparison to a constant (BPARM(1) > 0) or to a
2nd function of one or two more columns (the "R-side"). If the
result of the comparison is true, then the row is flagged or
unflagged (BPARM(4) > 0).
If all you want to do is flag rows BCOUNT through ECOUNT, set
OPTYPE='>'; APARM=0; BPARM=1,0 and decide what you want with
INVERS and OUTVERS.
Adverbs:
INNAME.....Input file name (name) Standard defaults.
INCLASS....Input file name (class) Standard defaults.
INSEQ......Input file name (seq. #) 0 => highest.
INDISK.....Disk drive # of input file. 0 => any.
INEXT......Type of input table extension. ' ' = 'CC'
INVERS.....Version number of input table extension.
0 => highest.
OUTVERS....Version number of output table extension.
0 => highest + 1.
BCOUNT.....Beginning row number to be included in flagging.
ECOUNT.....Last row number included in flagging. 0 = highest.
All rows are copied however.
OPTYPE.....The logical result of OPTYPE determines whether a row is flagged. OPTYPE
may be '> ', '>= ', '= ', '<> ' (not equal),
'<= ', or '< '.
APARM......Column selection parameters:
1 = L-side logical column number A: 0 => row number.
< 0 => use absolute value of col. abs(APARM(1))
2 = L-side subscript of column A data to use if the
column is an array. 0 => 1.
3 = L-side logical column number B: 0 => row number.
< 0 => use absolute value of col. abs(APARM(1))
4 = L-side subscript of column B data to use if the
column is an array. 0 => 1.
5 = L-side function number: Various functions may be
performed on column A only or on a pair of columns A
and B before comparison. Functions which use column A
only are 0 = no function, 1 = sum, 2 = asin, 3 = Log10,
4 = ln, 5 = exp, 6 = sin, 7 = cos, 8 = tan, 9 = atan.
In these cases, APARM(3) and (4) are ignored. Sum
includes those rows which are not flagged due to
BCOUNT. Functions which use both columns are
10 = +, 11 = -, 12 = *, 13 = /, 14 = **, 15 = mod,
16 = Modulus, 17 = atan2, 18 = max, and 19 = min.
6 = R-side logical column number A: as for L-side.
7 = The subscript of the R-side column A data to use if the
column is an array. 0 => 1.
8 = R-side logical column number B: as for L-side.
9 = The subscript of the R-side column B data to use if the
column is an array. 0 => 1.
10 = R-side function number: as for L-side. The R-side
parms 6-10 are ignored if BPARM(1) > 0.
BPARM......Control parameters:
1 = Flag to set R-side to a constant: > 0 use BPARM(2) as a
constant R-side; <= 0 compute the function specified in
APARM(6) - APARM(10) as the R-side.
2 = The constant comparison value for the R-side (used only
if (BPARM(1) > 0).
3 = For '=' and '<>' tests on floating-point columns or
floating-point function results, the allowed difference
between the L-side value and the R-side value to be
regarded as "equal", i.e. if ABS(L-side - R-side) <
BPARM(3) then L-side and R-side are considered equal.
4 = <= 0 implies flag the row having the specified parms.
> = implies remove flagging from those rows previously
flagged which have the specified parms.
9 = The exponent to which to take the L-side result value
before final scaling and comparison. 0 => 1.
10 = The exponent to which to take the R-side result value
before comparison. 0 => 1.
CPARM......After the value or absolute value of a column is
found, it may be scaled and offset before other
functions are applied to it. Similarly, the result
on the L side (only) may also be scaled and offset
before comparison with the R-side.
1 = L-side logical column number A scale factor: 0 -> 1.
2 = L-side logical column number A offset.
3 = L-side logical column number B scale factor: 0 -> 1.
4 = L-side logical column number B offset.
5 = R-side logical column number A scale factor: 0 -> 1.
6 = R-side logical column number A offset.
7 = R-side logical column number B scale factor: 0 -> 1.
8 = R-side logical column number B offset.
9 = L-side OVERALL result scale factor. 0 -> 1.
10 = L-side OVERALL result offset. 0 -> 1.
----------------------------------------------------------------
TAFLG
FUNCTION
TAFLG applies some function to one or two columns of an
input table extension file and compares the results to some
constant given in BPARM(2) or to the result of some other
function of one or two more rows. Those rows for which the
comparison is true in the desired way (OPTYPE) are flagged in
the output file written by the task.
For example: we wish to flag all rows in a CC (clean
components) table which have negative flux:
GETN nnn
INEXT = 'CC'; INVERS = 1; OUTVERS = 2
APARM = 1, 1, 0, 0, 0 ; OPTYPE = '<'
BPARM = 1, 0, 0, -1 ; CPARM = 0
GO TAFLG
To reverse the process for components less than -1 mJy:
INEXT = 'CC'; INVERS = 2; OUTVERS = 3
APARM = 1, 1, 0, 0, 0; OPTYPE = '<'
BPARM = 1, -0.001, 0, 1 ; CPARM = 0
GO TAFLG
To give an unrealistic example to illustrate the possibilities,
Let us flag all rows for which the component radius converted
to arc seconds is greater than or equal twice the square root
of the product of the row number minus one and the absolute
component flux:
GETN nnn
INEXT = 'CC'; INVERS = 1; OUTVERS = 2
OPTYPE = '>='
APARM = 2, 1, 3, 1, 16, 0, 1, -1, 1, 12
BPARM = -1, 0, 0, -1; BPARM(10) = 0.5
CPARM = 3600, 0, 3600, 0, 1, -1, 1, 0, 2, 0
GO TAFLG