WFDB SWIG 1.0.0
(1,624 bytes)
// File: rdann.java I. Henry February 18 2005
//
// Minimal WFDB annotator reader written in Java, based on rdann.c
//
// Copyright (C) 2005 Isaac C. Henry (ihenry@physionet.org)
import wfdb.*;
public class rdann {
public static void main(String argv[]) {
int stat;
String record = null, annotator = null;
if ( argv.length < 4 ) {
usage();
System.exit(2);
}
for (int i = 0; i < argv.length; i++) {
if (argv[i].equals("-r")) {
record = argv[++i];
} else if (argv[i].equals("-a")) {
annotator = argv[++i];
} else {
usage();
}
}
if (record == null || annotator == null) {
usage();
System.exit(2);
}
WFDB_AnninfoArray aiarray = new WFDB_AnninfoArray(1);
WFDB_Annotation annot = new WFDB_Annotation();
WFDB_Anninfo ai = aiarray.getitem(0);
ai.setName(annotator);
ai.setStat(wfdb.WFDB_READ);
aiarray.setitem(0, ai);
stat = wfdb.annopen(record, aiarray.cast(), 1);
if (stat < 0) {
usage();
System.exit(1);
}
while (wfdb.getann(0, annot) == 0) {
System.out.println(wfdb.mstimstr(-annot.getTime()) + "\t" +
annot.getTime() + "\t" +
wfdb.annstr(annot.getAnntyp()) + "\t" +
annot.getSubtyp() + "\t" +
annot.getChan() + "\t" +
annot.getNum() + "\t" +
// print the aux string, excluding the first
// char, which is the length of the string
(annot.getAux() == null ? "" :
annot.getAux().substring(1)));
}
wfdb.wfdbquit();
}
public static void usage() {
System.out.println("Usage: rdann -r record -a annotator");
}
}