A. Glossary
- AC-coupled signal
-
A signal, such as an ECG, for which only variations in level, rather
than absolute levels, are significant. Such signals are usually passed
through high-pass filters before they are digitized, in order to remove
any DC component (baseline offset), so that the gain can be chosen
optimally for the range of variation in the signal.
- ADC
-
Analog-to-digital converter.
- ADC resolution
-
The number of significant bits per sample. Typical ADCs yield between 8
and 16 bits of resolution.
- ADC zero
-
The value produced by the ADC given a 0 volt input. For bipolar ADCs,
this value is usually 0, but for the unipolar (offset binary) converter
used for the MIT DB, the ADC zero was 1024.
- adu
-
The unit of amplitude for samples.
- AHA DB
-
The American Heart Association Database for the Evaluation of Ventricular
Arrhythmia Detectors, consisting of 80 records identified by four-digit
record names.
- AHA format
-
The format used for interchange of AHA DB and MIT DB records on 9-track
tape between institutions, not used for on-line files because it is
relatively wasteful of storage space compared to MIT format
(q.v.).
- Annotation
-
A label, associated with a particular sample, which describes a feature
of the signal at that time. Most annotations are QRS annotations and
indicate the QRS type (normal, PVC, SVPB, etc.). Annotations are
written by
putann
and read by getann
.
- Annotation code
-
An integer in the range of 1 to
ACMAX
(defined in
`<wfdb/ecgcodes.h>') inclusive, which denotes an event type.
- Annotation file
-
A set of annotations in time order.
- Annotator name
-
A name associated with an annotation file. The annotation file name is
constructed from the record name by appending a `.' and the annotator
name. On CD-ROMs and MS-DOS file systems, the annotator name is restricted
to three characters.
- Annotator [number]
-
An integer by which an annotation file, once opened, is known. Input
annotators and output annotators each have their own series of annotator
numbers assigned in serial order beginning with 0.
- Application program
- In this guide, a program that uses the WFDB library to do
something.
- `atr'
-
The annotator name for the reference annotation files (originally,
`atruth', i.e., the "truth" annotations).
- Base counter value
-
The counter value (q.v.) that corresponds to sample 0. The base
counter value is read by
getbasecount
, and set by setbasecount
(or by any of the functions that read header files). If not
defined explicitly, the base counter value is taken to be 0.
- Base time
-
The time of day that corresponds to sample 0 in a given record. For
MIT, AHA, and ESC DB records, the base time was not recorded and is taken to
be 0:0:0 (midnight).
- Baseline [amplitude]
-
The sample value that corresponds to the baseline (isoelectric level or
physical zero level) in the signal. This quantity may drift during the
record for a variety of reasons, in which case the
baseline
field
of the WFDB_Siginfo
object that describes the signal is only an
approximation. The baseline is not the same as the ADC zero
(q.v.), which is a fixed characteristic of the digitizer.
- Calibration file
-
A file containing data used to build a calibration list (q.v.).
- Calibration list
-
A memory-resident linked list of
WFDB_Calinfo
objects
(see section 3.2 Calibration Information Structures).
Each such structure specifies the size and type of the calibration pulse,
and the customary plotting scale, for a particular type of signal.
- CD-ROM
-
A read-only medium used for distribution of the MIT-BIH and ESC
databases, among others. CD-ROMs are physically identical in appearance
to audio compact disks.
- Closing [a record]
- The process of completing I/O associated with a record.
- Counter frequency
-
The difference between counter values (q.v.) that are separated
by an interval of one second. The counter frequency is constant
throughout any given record. It may be undefined, in which case it is
treated as equivalent to the sampling frequency (q.v.) by the WFDB
library. The counter frequency is read by
getcfreq
,
and set by setcfreq
(or by any of the functions that read
header files).
- Counter value
-
A number that serves as a time reference, in a record for which a
counter frequency is defined. A counter value may be converted to the
time in seconds from the beginning of the record by subtracting the base
counter value (q.v.) and dividing the remainder by the counter
frequency. The units of `c'-prefixed
strtim
arguments are
counter values.
- Database files
- Those files (annotation files, header files, signal files, and
calibration files) that are accessed via the WFDB library.
- Database path
-
The names of the directories in which header, annotation, and calibration files
are kept. (Signal files may be located in these directories or elsewhere;
header files specify their locations.) To modify the database path, the
environment variable
WFDB
must be set by the user and exported
accordingly.
- DC-coupled signal
-
A signal, such as a blood pressure signal, for which absolute levels are
significant. Such signals must be digitized without being passed
through high-pass filters, in order to preserve absolute levels.
- ESC DB
-
The European ST-T Database, consisting of 90 records identified by
`e'-prefixed four-digit record names.
- Frame
-
A set of samples, containing all samples that occur within a given
frame interval. For an ordinary record, a frame contains exactly one
sample of each signal; for a multi-frequency record, a frame contains
at least one sample of each signal, and more than one sample of
each oversampled signal (q.v.).
- Frame interval
-
A time interval during which at least one sample exists for each signal.
For an ordinary record, the frame interval and the sampling interval are
identical. For a multi-frequency record, the frame interval is chosen
to be an integer multiple of each sampling frequency used.
- Frame rate
-
The basic sampling frequency defined for a multi-frequency record; the
reciprocal of the frame interval. The frame rate is usually the lowest
sampling frequency used for any signal included in the record.
- Gain
-
In this context, the number of adus (q.v.) per physical unit, referred to the
original analog signal. Gain in this sense is directly proportional to the
degree of amplification (the usual meaning of the word) of the analog
signal prior to digitization. Gain may vary between signals in a
record.
- `hea'
-
The suffix (extension) that designates a header file (originally
`header').
- header file
-
A file accessible via the WFDB library that describes the signal files
associated with a given database record. A header file has a name of
the form `record
.hea
', where record is the record name
(q.v.).
- High-resolution mode
-
An alternative mode for reading a multi-frequency record using
getvec
, that can be selected using setgvmode
. In
high-resolution mode, getvec
replicates samples of signals
digitized at less than the maximum sampling frequency, so that each
sample of any oversampled signals appear in at least one sample vector.
- Info string
-
Free text within a header file. Info strings can be read using
getinfo
and written using putinfo
.
- Local record
-
A record for which the signal files reside in the current directory,
typically used for user-created signals. Records `8l' and
`16l' are local records.
- Location [of an annotation]
-
Every annotation has both
time
and chan
attributes that
define its location within a virtual array of annotations. See
Canonical order of annotations.
- Canonical order of annotations
-
Normally, annotations are arranged in time order within an annotation file.
Annotations that have identical
time
attributes are arranged in
chan
order. Annotations that have identical locations (i.e.,
identical time
and chan
attributes) should not normally occur in
a single annotation file; if this does happen, the last annotation at any given
location is treated as a replacement of any previous annotations at that
location.
- Low-resolution mode
-
The default mode for reading a multi-frequency record using
getvec
. In low-resolution mode, getvec
returns one
sample per signal per frame, by decimating any oversampled signals
to the frame rate.
- MIT DB
-
The Massachusetts Institute of Technology--Beth Israel Hospital
Arrhythmia Database, consisting of 48 records identified by three-digit
record names.
- MIT format
-
The standard format for storage of WFDB records on CD-ROMs, used on the
MIT, ESC, and MGH DB CD-ROMs, among others, and on PhysioNet.
- Modification label
-
An "invisible" annotation at the beginning of an annotation file. A
modification label defines an annotation mnemonic and a corresponding
description. When
annopen
(or wfdbinit
) opens an annotation
file that contains modification labels, it automatically calls
setannstr
and setanndesc
to add the mnemonics and
descriptions to the translation tables used by annstr
,
strann
, and anndesc
. When annopen
(or
wfdbinit
) creates an annotation file, it automatically generates
modification labels, for each annotation code that has been (re)defined
using setannstr
or setanndesc
. For this reason, you
should normally make all of your calls to setannstr
and
setanndesc
before calling annopen
or wfdbinit
.
(An exception is if you are simply translating mnemonics and
descriptions into another language, rather than redefining them.)
Version 5.3 and later versions of the WFDB library support reading and
writing modification labels; earlier versions read modification labels
as NOTE
annotations.
- Multi-frequency record
-
A record containing signals sampled at two or more sampling frequencies.
Version 9.0 and later versions of the WFDB library support reading and
writing multi-frequency records.
- Multi-segment record
-
A composite record that is the concatenation of two or more ordinary
(single-segment) records. Multi-segment records do not have their own
signal files (the signal files of their constituent segments are read
when it is necessary to read signals of multi-segment records), but they
have their own header files (created using
setmsheader
),
and may have their own annotation files as well (annotation files for
the constituent segments of a multi-segment record are not
concatenated automatically when the record is read). The WFDB Software
Package includes wfdbcollate
, an
application that can create multi-segment records from sets of
single-segment records. Version 9.1 and later versions of the WFDB
library support reading and writing multi-segment records.
- Multiplexed signal file
-
A set of vectors in time order, each consisting of two or more integer
samples, thus representing an equal number of signals.
- NETFILES
-
WFDB files made available by an FTP or HTTP (web) server; readable
by applications linked with a NETFILES-enabled WFDB library. A
NETFILES-enabled WFDB library can be created by compiling the WFDB
library sources with the symbol
WFDB_NETFILES
defined (to anything;
its value is not important, only that it is defined) and then linking
them with the libwww
library available from the World Wide Web
Consortium (http://www.w3.org/Library/) or the libcurl
library available from http://curl.haxx.se/.
- 9-track tape
-
A medium used for archival storage of WFDB records, which was once nearly
universally available on minicomputers and larger systems. The
important parameters are tape density (typically 800 or 1600 bpi) and
block size (typically some multiple of 512 bytes). Higher tape density
and larger block size permit more data to be stored on a tape.
- Opening [a database record or a file]
- The process of making a database record or a file accessible, if
necessary by creating it.
- Oversampled signal
-
In a multi-frequency record, any signal recorded at a sampling frequency
greater than the frame rate (q.v.).
- Physical unit
-
The natural unit of measurement of the original analog signal (e.g.,
millivolts, liters per second, degrees). To convert samples into
physical units, subtract the ADC zero and divide the remainder by the
gain.
- Physical zero
-
The level (in physical units) that corresponds to the baseline (in adu),
normally zero physical units. For example, physical zero for a pressure
signal with units of mmHg is 0 mmHg.
- PhysioNet
-
The home of the WFDB library, and a source for recorded physiologic signals and
software for use with them. All materials on PhysioNet are freely available.
The main PhysioNet server is http://www.physionet.org/, located at
MIT in Cambridge, Massachusetts; PhysioNet mirror sites are located around the
world (see http://www.physionet.org/mirrors/ for a list).
- Piped record
-
A database record for which a signal file is designated as `-',
signifying that it is to be read from the standard input or written to
the standard output. Records `8' and `16' are piped
records, as are those defined within the `pipe' subdirectory of
the system-wide database directory (q.v.)
- Prolog
-
Extraneous bytes at the beginning of a signal file that are not to be
read as samples. Signal files created using the WFDB library do not
contain prologs, but signal files created using other means may contain
prologs. To read such a signal file using the WFDB library, provided that
the sample data are in a supported format, it is sufficient to record the
length of the prolog (in bytes) in the appropriate locations in a
header file that names the signal file. If you need to create
such a header file, refer to the description of the byte offset
field in header(5) (the specification of the header file
format in the WFDB Applications Guide) or
see section wfdbsetstart.
- Record
-
An extensible set of files that may include signal files, annotation
files, and a header file, all of which are associated with the
same original signals. Only the header file is mandatory.
Although records are sometimes called tapes for historical reasons,
records are now more commonly maintained on CD-ROMs or magnetic disks
than on tape.
- Record name
-
A character string that identifies a database record. Record names of
MIT DB records are 3-digit numerals, those of AHA DB records are 4-digit
numerals, and those of ESC DB records are 4-digit numerals with a
prefixed `e'. Record names may contain up to
WFDB_MAXRNL
(defined in `<wfdb/wfdb.h>') characters, including any combination of
letters, digits, and underscores. Case (the difference between `e'
and `E', for example) is significant in record names, even under
operating systems such as MS-DOS that do not treat case as significant
in file names.
- Reference annotation file
-
An annotation file supplied by the creator of a record to document its
contents as accurately and thoroughly as possible. The annotator name
`atr' is reserved for reference annotation files.
- Sample
-
An integer (of at least 16 bits) that corresponds to a voltage measured
at a given instant by an analog-to-digital converter. Samples are
written by
putvec
and read by getvec
.
- Sample interval
-
The unit of time; the interval between consecutive samples of a given
signal.
- Sample number
-
An attribute of a sample defined as the number of samples of the same
signal that precede it; thus the first sample of any signal has sample
number 0. Sample numbers are long integers (32 bits). Samples that
have the same sample number in different signals of a given record may
be treated as having been observed simultaneously.
- Sampling frequency
-
The number of samples of a given signal that represent one second of
the original analog signal. The sampling frequency is constant
throughout a signal file, and is the same for all signals in a given
record.
- Signal
-
A continuously varying function of time that is approximated by
discrete samples.
- Signal file
-
A set of samples in time order, which represent a signal or signal
group. Signal files usually have names of the form record
.dat
,
but this is only a convention and is not required.
- Signal group
-
A set of signals that are multiplexed together and stored in the same
file. It is possible to reset input pointers for all signals in a
given signal group
(see section isgsettime),
but not independently for individual signals within a signal group.
- Signal group number
-
A number by which a signal file, once opened, is known.
- Signal number
-
An integer by which a signal, once opened, is known. Input and output
signals each have their own series of signal numbers assigned in serial
order beginning with 0.
- Skew
-
The time difference between samples having the same sample number but
belonging to different signals. Ideally the skew is zero (or less than
one sample interval), but in some cases this is not so. For example, if
the signals were originally recorded on multitrack analog tape, very
small differences in the azimuth of the recording and playback heads may
result in measurable skew among signals. If the skew can be measured
(for example, by reference to features of two signals with a known time
difference), it can be recorded in the header file for a record;
once this has been done,
getvec
and getframe
correct for
skew automatically. If you need to correct for skew, see
skewedit(1) and header(5) (in the WFDB
Applications Guide), or see section wfdbsetskew. Prospectively, if you
anticipate that skew may be a problem, it is a good idea to apply an
easily identifiable synchronization pulse to all your inputs
simultaneously while recording; you can then locate this pulse in
each digitized signal and use these measurements to correct for skew.
- Standard time format
-
Any string format legal as an argument for
strtim
(see section [ms]timstr).
- System-wide database directory
-
The directory that contains local copies of the default WFDB calibration file,
WFDB sample record
100s
, and local, piped, and tape header files.
This directory is created when the WFDB Software Package is installed, and
by default it is included in the WFDB path (as the second component, following
the user's current directory). It is called the "system-wide" database
directory because it is shared by all users of the system on which it resides.
Under Unix, the system-wide database directory is usually `/usr/database'
or `/usr/local/database'; under MS-DOS or MS-Windows, it is usually
`c:\database'.
- Tape
-
A database record.
- Time
-
In this guide, synonymous with sample number (q.v.). Thus the "time of
an annotation" is the sample number of the sample to which the
annotation "points".
- WFDB library
- A set of functions (subroutines), able to read and write database files,
callable by C and C++ programs, and described in this guide.
- WFDB path
- The database path (q.v.).
George B. Moody
(george@mit.edu)