trsplit - break up waveform records at marked bad data
int trsplit ( Dbptr tr, int (*fill) (), int (*findbad) () );
trsplit takes an input trace table and looks through each waveform
for special values which indicate bad data. You may optionally
fill these points with some other value, by specifying a routine
which will patch up the gaps; the default, however, (when
fill is zero) is to break
up the waveform into multiple segments which contain no bad data.
Certain default bad values are recognized by the
default findbad routine, which is used if findbad is zero;
however, you may alternatively specify your own
findbad routine.
The fill routine is used to fill any part of the requested
time interval which is not actually in the data.
The calling sequence for fill is:
int fill ( Dbptr *dbp, float *data,
int *i0p, int *i1p, int *imaxp );
where:
-
db and fill_private are passed from the
trgetwf arguments.
-
data is a pointer to the entire
array of
*imaxp
floats which trgetwf will return.
-
*i0p and *i1p specify the range of values to fill:
*i0p <= i < *i1p
Note that the range does not include *i1p.
fill_private is a pointer to an arbitrary object which
might be useful to the actual fill routine.
See trfill_gap(3).
For the convenience of FORTRAN programmers, the arguments
dbp, i0p, i1p, and imaxp
are pointers rather than values.
$(TRLIBS)
-
trsplit requires the lowest level (ungrouped) traces
Contrary to the standard filter requirements, trsplit requires a plain
table as input, not a grouped table.
-
trsplit doesn't understand datatype '%s'
Bad values are dependent on the datatype; if the datatype is unrecognized,
trsplit cannot handle it.
trsplice(3)
It is essential that the values in the waveforms be the original
recorded values, not modified by (for example) multiplying by calib,
because the marked bad data is recognized by specific "bad" values.
Daniel Quinlan
Table of Contents
Antelope Release 4.8 Darwin 8.7.0 2006-09-26
Boulder Real Time Technologies, Inc
For more information, contact support@brtt.com