WFDB Software Package 10.7.0
(15,450 bytes)
_________________________________________
Automated ECG Analyzer Evaluation Program
_________________________________________
The most recent version of this program can always be obtained as part of
the WFDB Software Package, from PhysioNet (http://physionet.org/).
If you have questions about this software, please contact:
PhysioNet
MIT Room E25-505A
Cambridge, MA 02139 USA
email: wfdb@physionet.org
This program constructs a script (batch) file which evaluates a set of
test annotation files by comparing them with reference annotation files
in accordance with American National Standards ANSI/AAMI EC38:1998 and
ANSI/AAMI EC57:1998 for ambulatory ECGs and for testing and reporting
performance results of cardiac rhythm and ST segment measurement
algorithms. For some questions, a default answer is provided in brackets.
Press RETURN (ENTER) to accept the default, or type the desired answer
followed by RETURN. After you have answered all of the questions, you
are given a chance to change any of your answers before beginning the
actual evaluation. At that time, you may exit from this program and
examine the evaluation script which it has generated before running that
script.
Press RETURN to begin:
Which database do you wish to use? (press RETURN for list) MIT DB MIT-BIH Arrhythmia Database
MITx DB MIT-BIH Arrhythmia Database (excluding paced records)
AHA DB AHA Database for Evaluation of Ventricular Arrhythmia Detectors
AHAx DB AHA Database (excluding paced records)
ESC DB European ST-T Database
NST DB Noise Stress Test Database
CU DB Creighton University Sustained Ventricular Arrhythmia Database
Enter a choice from the first column:
You must have a set of annotation files generated by the device under
test from its analysis of the signal files of the MIT DB. These files
are identified by the test annotator name (the part of the file name
that precedes the `.' and the record name).
If you don't yet have a set of test annotation files, you can add the
commands needed to create them to the evaluation script that will be
generated by this program.
What is the test annotator name?
To evaluate heart rate or HRV measurement error, you must have a set of
reference heart rate annotation files. These must be generated from the
reference (`atr') annotation files supplied with the MIT DB.
If you don't yet have a set of reference heart rate annotation files,
add the commands needed to create them to the evaluation script that
will be generated by this program.
What is the reference heart rate annotator name?
The next several questions refer to evaluation of optional ECG analyzer
outputs.
Test and reference heart rate annotation files may contain more than one
type of heart rate, HRV, or RRV measurement.
How many types are there? [1]: Do you wish to evaluate SVEB detection? [y]: Do you wish to evaluate VF detection? [y]: Do you wish to evaluate AF detection? [y]: Do you wish to evaluate ST analysis? [y]: Use both signals to define ST episodes? [y]:
Do you wish to change any of your answers? [y]:
Choose a name for the evaluation script [eval-qrs-mit]:
Choose a name for the evaluation report [qrs-mit-evaluation]: The next group of questions refers to the names of files in which
intermediate summary statistics are to be written. If any of these exist
already, new statistics will be appended, and the aggregate statistics
in `qrs-mit.out' will be based on the entire contents of these files.
Beat detection and classification file [bxb.out]: Analysis shutdown file [sd.out]: Ventricular ectopic run file [vruns.out]: Supraventricular ectopic run file [sruns.out]: Ventricular fibrillation file [vf.out]: Atrial fibrillation file [af.out]: ST analysis file [st.out]: ST measurement file [stm.out]: PostScript scatter plot of ST measurements [stm.ps]: The name given for the heart rate measurement file must contain `%d',
which is replaced by the measurement number.
Heart rate measurement file [hr%d.out]:
Do you wish to change any of these answers? [y]:
Generating `qrs-mit.bat' ... done
Do you wish to run the evaluation script now? [y]: Inspect and edit `qrs-mit.bat' as necessary, then type
sh ./qrs-mit.bat
to run the evaluation.
:
: Evaluate test annotator qrs on the MIT DB
: This file was automatically generated by ecgeval. Do not edit it
: unless you know what you are doing!
: Record 100
bxb -r 100 -a atr qrs -L bxb.out sd.out
rxr -r 100 -a atr qrs -L vruns.out sruns.out
mxm -r 100 -a thr qrs -L hr0.out -m 0
epicmp -r 100 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 101
bxb -r 101 -a atr qrs -L bxb.out sd.out
rxr -r 101 -a atr qrs -L vruns.out sruns.out
mxm -r 101 -a thr qrs -L hr0.out -m 0
epicmp -r 101 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 102
bxb -r 102 -a atr qrs -L bxb.out sd.out
rxr -r 102 -a atr qrs -L vruns.out sruns.out
mxm -r 102 -a thr qrs -L hr0.out -m 0
epicmp -r 102 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 103
bxb -r 103 -a atr qrs -L bxb.out sd.out
rxr -r 103 -a atr qrs -L vruns.out sruns.out
mxm -r 103 -a thr qrs -L hr0.out -m 0
epicmp -r 103 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 104
bxb -r 104 -a atr qrs -L bxb.out sd.out
rxr -r 104 -a atr qrs -L vruns.out sruns.out
mxm -r 104 -a thr qrs -L hr0.out -m 0
epicmp -r 104 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 105
bxb -r 105 -a atr qrs -L bxb.out sd.out
rxr -r 105 -a atr qrs -L vruns.out sruns.out
mxm -r 105 -a thr qrs -L hr0.out -m 0
epicmp -r 105 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 106
bxb -r 106 -a atr qrs -L bxb.out sd.out
rxr -r 106 -a atr qrs -L vruns.out sruns.out
mxm -r 106 -a thr qrs -L hr0.out -m 0
epicmp -r 106 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 107
bxb -r 107 -a atr qrs -L bxb.out sd.out
rxr -r 107 -a atr qrs -L vruns.out sruns.out
mxm -r 107 -a thr qrs -L hr0.out -m 0
epicmp -r 107 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 108
bxb -r 108 -a atr qrs -L bxb.out sd.out
rxr -r 108 -a atr qrs -L vruns.out sruns.out
mxm -r 108 -a thr qrs -L hr0.out -m 0
epicmp -r 108 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 109
bxb -r 109 -a atr qrs -L bxb.out sd.out
rxr -r 109 -a atr qrs -L vruns.out sruns.out
mxm -r 109 -a thr qrs -L hr0.out -m 0
epicmp -r 109 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 111
bxb -r 111 -a atr qrs -L bxb.out sd.out
rxr -r 111 -a atr qrs -L vruns.out sruns.out
mxm -r 111 -a thr qrs -L hr0.out -m 0
epicmp -r 111 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 112
bxb -r 112 -a atr qrs -L bxb.out sd.out
rxr -r 112 -a atr qrs -L vruns.out sruns.out
mxm -r 112 -a thr qrs -L hr0.out -m 0
epicmp -r 112 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 113
bxb -r 113 -a atr qrs -L bxb.out sd.out
rxr -r 113 -a atr qrs -L vruns.out sruns.out
mxm -r 113 -a thr qrs -L hr0.out -m 0
epicmp -r 113 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 114
bxb -r 114 -a atr qrs -L bxb.out sd.out
rxr -r 114 -a atr qrs -L vruns.out sruns.out
mxm -r 114 -a thr qrs -L hr0.out -m 0
epicmp -r 114 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 115
bxb -r 115 -a atr qrs -L bxb.out sd.out
rxr -r 115 -a atr qrs -L vruns.out sruns.out
mxm -r 115 -a thr qrs -L hr0.out -m 0
epicmp -r 115 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 116
bxb -r 116 -a atr qrs -L bxb.out sd.out
rxr -r 116 -a atr qrs -L vruns.out sruns.out
mxm -r 116 -a thr qrs -L hr0.out -m 0
epicmp -r 116 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 117
bxb -r 117 -a atr qrs -L bxb.out sd.out
rxr -r 117 -a atr qrs -L vruns.out sruns.out
mxm -r 117 -a thr qrs -L hr0.out -m 0
epicmp -r 117 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 118
bxb -r 118 -a atr qrs -L bxb.out sd.out
rxr -r 118 -a atr qrs -L vruns.out sruns.out
mxm -r 118 -a thr qrs -L hr0.out -m 0
epicmp -r 118 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 119
bxb -r 119 -a atr qrs -L bxb.out sd.out
rxr -r 119 -a atr qrs -L vruns.out sruns.out
mxm -r 119 -a thr qrs -L hr0.out -m 0
epicmp -r 119 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 121
bxb -r 121 -a atr qrs -L bxb.out sd.out
rxr -r 121 -a atr qrs -L vruns.out sruns.out
mxm -r 121 -a thr qrs -L hr0.out -m 0
epicmp -r 121 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 122
bxb -r 122 -a atr qrs -L bxb.out sd.out
rxr -r 122 -a atr qrs -L vruns.out sruns.out
mxm -r 122 -a thr qrs -L hr0.out -m 0
epicmp -r 122 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 123
bxb -r 123 -a atr qrs -L bxb.out sd.out
rxr -r 123 -a atr qrs -L vruns.out sruns.out
mxm -r 123 -a thr qrs -L hr0.out -m 0
epicmp -r 123 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 124
bxb -r 124 -a atr qrs -L bxb.out sd.out
rxr -r 124 -a atr qrs -L vruns.out sruns.out
mxm -r 124 -a thr qrs -L hr0.out -m 0
epicmp -r 124 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 200
bxb -r 200 -a atr qrs -L bxb.out sd.out
rxr -r 200 -a atr qrs -L vruns.out sruns.out
mxm -r 200 -a thr qrs -L hr0.out -m 0
epicmp -r 200 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 201
bxb -r 201 -a atr qrs -L bxb.out sd.out
rxr -r 201 -a atr qrs -L vruns.out sruns.out
mxm -r 201 -a thr qrs -L hr0.out -m 0
epicmp -r 201 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 202
bxb -r 202 -a atr qrs -L bxb.out sd.out
rxr -r 202 -a atr qrs -L vruns.out sruns.out
mxm -r 202 -a thr qrs -L hr0.out -m 0
epicmp -r 202 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 203
bxb -r 203 -a atr qrs -L bxb.out sd.out
rxr -r 203 -a atr qrs -L vruns.out sruns.out
mxm -r 203 -a thr qrs -L hr0.out -m 0
epicmp -r 203 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 205
bxb -r 205 -a atr qrs -L bxb.out sd.out
rxr -r 205 -a atr qrs -L vruns.out sruns.out
mxm -r 205 -a thr qrs -L hr0.out -m 0
epicmp -r 205 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 207
bxb -r 207 -a atr qrs -L bxb.out sd.out
rxr -r 207 -a atr qrs -L vruns.out sruns.out
mxm -r 207 -a thr qrs -L hr0.out -m 0
epicmp -r 207 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 208
bxb -r 208 -a atr qrs -L bxb.out sd.out
rxr -r 208 -a atr qrs -L vruns.out sruns.out
mxm -r 208 -a thr qrs -L hr0.out -m 0
epicmp -r 208 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 209
bxb -r 209 -a atr qrs -L bxb.out sd.out
rxr -r 209 -a atr qrs -L vruns.out sruns.out
mxm -r 209 -a thr qrs -L hr0.out -m 0
epicmp -r 209 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 210
bxb -r 210 -a atr qrs -L bxb.out sd.out
rxr -r 210 -a atr qrs -L vruns.out sruns.out
mxm -r 210 -a thr qrs -L hr0.out -m 0
epicmp -r 210 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 212
bxb -r 212 -a atr qrs -L bxb.out sd.out
rxr -r 212 -a atr qrs -L vruns.out sruns.out
mxm -r 212 -a thr qrs -L hr0.out -m 0
epicmp -r 212 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 213
bxb -r 213 -a atr qrs -L bxb.out sd.out
rxr -r 213 -a atr qrs -L vruns.out sruns.out
mxm -r 213 -a thr qrs -L hr0.out -m 0
epicmp -r 213 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 214
bxb -r 214 -a atr qrs -L bxb.out sd.out
rxr -r 214 -a atr qrs -L vruns.out sruns.out
mxm -r 214 -a thr qrs -L hr0.out -m 0
epicmp -r 214 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 215
bxb -r 215 -a atr qrs -L bxb.out sd.out
rxr -r 215 -a atr qrs -L vruns.out sruns.out
mxm -r 215 -a thr qrs -L hr0.out -m 0
epicmp -r 215 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 217
bxb -r 217 -a atr qrs -L bxb.out sd.out
rxr -r 217 -a atr qrs -L vruns.out sruns.out
mxm -r 217 -a thr qrs -L hr0.out -m 0
epicmp -r 217 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 219
bxb -r 219 -a atr qrs -L bxb.out sd.out
rxr -r 219 -a atr qrs -L vruns.out sruns.out
mxm -r 219 -a thr qrs -L hr0.out -m 0
epicmp -r 219 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 220
bxb -r 220 -a atr qrs -L bxb.out sd.out
rxr -r 220 -a atr qrs -L vruns.out sruns.out
mxm -r 220 -a thr qrs -L hr0.out -m 0
epicmp -r 220 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 221
bxb -r 221 -a atr qrs -L bxb.out sd.out
rxr -r 221 -a atr qrs -L vruns.out sruns.out
mxm -r 221 -a thr qrs -L hr0.out -m 0
epicmp -r 221 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 222
bxb -r 222 -a atr qrs -L bxb.out sd.out
rxr -r 222 -a atr qrs -L vruns.out sruns.out
mxm -r 222 -a thr qrs -L hr0.out -m 0
epicmp -r 222 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 223
bxb -r 223 -a atr qrs -L bxb.out sd.out
rxr -r 223 -a atr qrs -L vruns.out sruns.out
mxm -r 223 -a thr qrs -L hr0.out -m 0
epicmp -r 223 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 228
bxb -r 228 -a atr qrs -L bxb.out sd.out
rxr -r 228 -a atr qrs -L vruns.out sruns.out
mxm -r 228 -a thr qrs -L hr0.out -m 0
epicmp -r 228 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 230
bxb -r 230 -a atr qrs -L bxb.out sd.out
rxr -r 230 -a atr qrs -L vruns.out sruns.out
mxm -r 230 -a thr qrs -L hr0.out -m 0
epicmp -r 230 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 231
bxb -r 231 -a atr qrs -L bxb.out sd.out
rxr -r 231 -a atr qrs -L vruns.out sruns.out
mxm -r 231 -a thr qrs -L hr0.out -m 0
epicmp -r 231 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 232
bxb -r 232 -a atr qrs -L bxb.out sd.out
rxr -r 232 -a atr qrs -L vruns.out sruns.out
mxm -r 232 -a thr qrs -L hr0.out -m 0
epicmp -r 232 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 233
bxb -r 233 -a atr qrs -L bxb.out sd.out
rxr -r 233 -a atr qrs -L vruns.out sruns.out
mxm -r 233 -a thr qrs -L hr0.out -m 0
epicmp -r 233 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Record 234
bxb -r 234 -a atr qrs -L bxb.out sd.out
rxr -r 234 -a atr qrs -L vruns.out sruns.out
mxm -r 234 -a thr qrs -L hr0.out -m 0
epicmp -r 234 -a atr qrs -L -A af.out -V vf.out -S st.out stm.out
: Generate summary report
echo Beat detection and classification performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats bxb.out >>qrs-mit.out
echo >>qrs-mit.out
echo Analysis shutdowns >>qrs-mit.out
echo >>qrs-mit.out
sumstats sd.out >>qrs-mit.out
echo >>qrs-mit.out
echo Ventricular ectopic run detection performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats vruns.out >>qrs-mit.out
echo >>qrs-mit.out
echo Supraventricular ectopic run detection performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats sruns.out >>qrs-mit.out
echo >>qrs-mit.out
echo Heart rate measurement number 0 performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats hr0.out >>qrs-mit.out
echo >>qrs-mit.out
echo Ventricular fibrillation detection performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats vf.out >>qrs-mit.out
echo >>qrs-mit.out
echo Atrial fibrillation detection performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats af.out >>qrs-mit.out
echo >>qrs-mit.out
echo Ischemic ST detection performance >>qrs-mit.out
echo >>qrs-mit.out
sumstats st.out >>qrs-mit.out
echo >>qrs-mit.out
: Generate PostScript scatter plot of ST measurements
plotstm stm.out >stm.ps
echo The evaluation is complete. Print text file qrs-mit.out
echo and PostScript file stm.ps to get the results.
Evaluation of `qrs' on the MIT-BIH Arrhythmia Database