WFDB Software Package 10.6.2
(3,329 bytes)
file: README G. Moody 2 July 2010
Last revised: 6 October 2010
This directory contains software for interchange between WFDB native formats
and XML formats. It includes:
wfdb.dtd a DTD for WFDB-XML, an XML schema for
expressing the contents of WFDB
header and annotation files
wfdb.xsl an XSLT style sheet that a web browser
(or other XSLT engine) can use to transform
a WFDB-XML header or annotation file into
a human-readable representation of its
contents
heaxml.c a C program that converts a native
WFDB .hea file into a WFDB-XML file
annxml.c a C program that converts a native
WFDB annotation file into a WFDB-XML file
xmlhea.c a C program that converts a WFDB-XML header
file into a native WFDB .hea file
xmlann.c a C program that converts a WFDB-XML annotation
file into a native WFDB annotation file
xmlproc.h generic functions for processing XML files, shared by
xmlhea and xmlann
Makefile a 'make' description file for automating the
process of compiling and installing this software
A copy of the most recent version of wfdb.dtd is posted on PhysioNet at
http://physionet.org/physiobank/database/XML/wfdb.dtd
This on-line copy is referenced in WFDB-XML files generated by heaxml
and annxml.
Note that these programs require the WFDB library version 10.5.4 or
later, and that those that read WFDB-XML files also require libexpat
(http://expat.sourceforge.net/). To compile them, install gcc, make,
the WFDB software package, and libexpat if you have not already done so,
then run 'make' from within this directory. If you don't have 'make',
you can compile these programs manually; see 'Makefile' for the commands
needed to do so.
It is not necessary to download the native WFDB files in order to use
heaxml and annxml, since they can obtain their inputs directly from
the PhysioNet web server via HTTP.
For example, these commands:
heaxml mitdb/200
annxml mitdb/200 atr
produce the WFDB-XML files
mitdb-200.hea.xml
mitdb-200.atr.xml
in the current directory.
If you put a copy of wfdb.xsl in the same directory with these output
files, you should be able to view the HTML generated from them via
wfdb.xsl by opening them with Firefox or another web browser that
incorporates an XSLT engine.
Try running heaxml on a mimicdb or mimic2db record, for
example like this:
heaxml mimic2db/a40006/a40006
This command produces
mimic2db-a40006-a40006.hea.xml
which includes information about each segment in the
multi-segment record as well as a summary of the entire
record. The inverse operation, which can be performed by reading
the .xml file using xmlhea, generates a complete set of segment
headers together with the master header in this case.
Warning: the XML outputs generated by these commands are huge. There is a
good reason that I don't keep these data in XML format on PhysioBank!
There are no 'datxml' or 'xmldat' applications to convert signal files
to and from WFDB-XML format, because the standard 'rdsamp' and 'wrsamp'
can perform these conversions. Use rdsamp's '-X' option to generate
WFDB-XML output; wrsamp can recognize WFDB-XML input automatically, so
no special option is required. WFDB-XML signal format is the CSV format
that can be produced by rdsamp's '-c' option, wrapped within an XML header
and trailer.