A2M(1)

NAME
a2m, ad2m, ahaconvert, ahaecg2mit, m2a, md2a - converting between AHA DB and WFDB formats

SYNOPSIS
To read from an AHA DB DVD:
    ahaecg2mit [ -s ] ahafile.ecg ...
To read from an AHA DB CD:
    ahaconvert ahafile.cmp ...
To read from an AHA DB floppy disk or 9-track tape:
    a2m -i ahafile -r record -a annotator [ options ... ]
    ad2m -i ahafile -r record [ options ... ]
To convert a WFDB record to AHA tape format:
    m2a -r record -a WFDB-annotator AHA-annotator [ options ... ]
    md2a -o ahafile -r record [ options ... ]

DESCRIPTION

The AHA Database for Evaluation of Ventricular Arrhythmia Detectors (AHA DB) has been distributed since 1983 by ECRI (http://www.ecri.org), in at least three formats:

single-file (.ecg) format
    Developed by ECRI for distributions of the AHA DB on DVDs (ca. 2008); this format can be read by ahaecg2mit.

compressed (.cmp and .ano) format
    Previously developed by ECRI for distributions of the AHA DB on floppy disks (ca. 1990) and CDs (ca. 1995); this format can be read by ahaconvert (using a2m and ad2m).

tape format
    Originally specified by the creators of the AHA DB at the Biomedical Computing Laboratory (BCL) at Washington University in St. Louis. This format was also used for tape distributions of the MIT-BIH Arrhythmia Database from 1980-1989; it can be read by a2m and ad2m, and written by m2a and md2a.

The AHA DB consists of a development set of 80 records (which were created by the BCL between 1976 and 1983 and have been distributed by ECRI since then) and a test set of 75 records (also created by the BCL between 1976 and 1983, but not distributed until about 20 years later). Each record contains two simultaneous ECG signals that have been digitized for three hours continuously, and beat annotations for the final 30 minutes of the signals in each record. The records have been distributed in two versions: a long version (records named n0nn and n1nn) containing the full three hours of signals, and a short version (records named n2nn and n3nn) containing only the final 35 minutes of signals (including all of the annotated beats).

ECRI currently supplies the AHA DB only on DVDs, so the tape and compressed formats are primarily of historical interest. The programs described below convert these formats into WFDB (also known as PhysioBank or MIT) format. Long version input files can be converted in their entirety, or these programs can create short version records from either long or short version inputs. The last two programs below convert WFDB records to AHA tape format (conversion to AHA DB DVD and CD/floppy disk distribution formats is not supported). All of these programs print a brief usage summary if invoked with no command-line arguments, or with a -h option.

Note that records in WFDB format can be excerpted and reformatted in more generally useful ways using snip(1) or xform(1).

DVD FORMAT

  ahaecg2mit

Use ahaecg2mit to convert .ecg files from the AHA DB DVD into WFDB-compatible records. One or more input filenames may be supplied as command-line arguments; each specified input file is converted into a WFDB record, including a .hea (header) file, a .dat (signal) file, and a .atr (reference annotation) file. If the first command-line argument is -s, then ahaecg2mit produces short-form records with the correct (n2nn or n3nn) record names. If the .ecg files are not in the current directory, give their full pathnames. The output files are always written to the current directory, so be sure that the current directory is writeable (it should not be the DVD) and that has sufficient free space (roughly 8 Mb per long version record, or 1.6 MB per short version record). If the DVD is accessible as /media/dvd/, the command
        ahaecg2mit -s /media/dvd/*.ecg
makes a complete set of short-version records in the current directory. (Omit the -s to make a set of long-version records instead.) Under Windows, within a Cygwin window, the DVD is accessible as /cygdrive/d/ (or /cygdrive/e/, etc., depending on the drive letter that Windows has assigned), so the same task can be done under Windows by
         ahaecg2mit -s /cygdrive/d/*.ecg

OLDER FORMATS

  ahaconvert

Use ahaconvert to convert one or more records from an AHA DB CD-ROM into WFDB format. Run ahaconvert without any command-line arguments for instructions, or see the examples below. Note: ahaconvert is a shell script; to use it successfully, you will need to have a shell (standard with all versions of Unix, and included in the free Cygwin package for MS-Windows) as well as ad2m and a2m, which perform the actual work of the conversion.

  a2m

Use a2m to convert AHA-format annotation files from tapes, floppy disks, or CDs into WFDB format. Options for a2m include:

-s time
    Shift annotations forward by the specified time (default: no shift for type 0 input files, 5 minutes for type 1, 2 hours and 30 minutes for type 2; for type 3, the default is 5 minutes if record is of the form n2nn or n3nn, or 2 hours and 30 minutes if record is of the form n0nn or n1nn).

-t type
    Convert an input file of the specified type (0: a file produced by a WFDB application using putann and WFDB_AHA_WRITE mode; 1: an AHA DB `short format' tape file; 2: an AHA DB `long format' tape file; 3: an AHA DB compressed (.ano) CD-ROM or floppy disk file). Input files of types 1, 2, and 3 are assumed to contain annotation times in milliseconds, which are converted to sampling intervals based on an assumed sampling frequency of 250 Hz. Default: type 3 is assumed if ahafile ends with .ANO or .ano; type 0 is assumed otherwise..SS ad2m

Use ad2m to convert AHA-format signal files from tapes, floppy disks, or CDs into WFDB format. Options for ad2m include:

-c  Convert an AHA DB compressed (.cmp) floppy disk file (this is the default if ahafile ends with .CMP or .cmp, otherwise ad2m assumes that the input is a file in AHA DB tape format).

-f time
    Begin converting at the specified time relative to the beginning of the input file (default: 0, i.e., at the beginning of the input file)

-t time
    Stop converting at the specified time relative to the beginning of the input file (default: 35 minutes after the starting time if record is of the form n2nn or n3nn, 3 hours if record is of the form n0nn or n1nn, or the end of the input file, whichever comes first).

  m2a

Use m2a to convert WFDB-format annotation files into AHA tape format. Options for m2a include:

-s time
    Shift annotation times backward by the specified time, and convert them from sample intervals to milliseconds.

  md2a

Use md2a to convert WFDB-format signal files into AHA tape format. Options for md2a include:

-n new-record
    Create a new header file for the AHA-format output signal file, so that it may be read as record new-record.

ENVIRONMENT

It may be necessary to set and export the shell variable WFDB (see setwfdb(1)).

EXAMPLES

  AHA Database DVD
See ahaecg2mit above.

  AHA Database CD
AHA DB CDs contain both long and short versions of each record. In most cases, you will want to convert only one version of each record. To convert the short-version records only, if the contents of the CD-ROM are available at /mnt/cdrom, type:
    ahaconvert /mnt/cdrom/?[23]??.cmp
(The pattern '?[23]??' matches the record names of the short-version records.)

To convert the long-version records only, type:
    ahaconvert /mnt/cdrom/?[01]??.cmp

  AHA DB floppy disk
To make a version of AHA DB record 1201 in WFDB format, given the distribution floppy disk, copy the files 1201.ano and 1201.cmp to the current directory, then type:
    ad2m -i 1201.cmp -r 1201 -c
    a2m -i 1201.ano -r 1201 -a atr -t 3
These commands produce files 1201.dat (the signal file), 1201.hea (the header file), and 1201.atr (the reference annotation file), all in the current directory. Run ad2m first, so that the new header file is available for the use of a2m. (In this example, note that the options '-r 1201', '-c', and '-t 3' are redundant unless you have renamed the input files, since ad2m and a2m recognize the record name and file types from the suffixes otherwise.)

  AHA DB short version tape

To obtain the same files given a `short version' 9-track distribution tape, copy the second and third files from the tape into files 1201.tap and 1201.ann in the current directory, then type:
    ad2m -i 1201.tap -r 1201
    a2m -i 1201.ann -r 1201 -a atr -t 1
The names for the files copied from the tape are arbitrary, but do not use names of files to be generated by ad2m or a2m (see the previous example). Note that the first and fourth files on the distribution tape contain an `id' block, which can be read by readid (a program included in the convert directory of the WFDB Software Package) to verify the record name. Distribution tapes that contain more than one record contain additional sets of four files, always in the same order within each set.

  AHA DB long version tape

To make a version of the three-hour AHA DB record 1001 in WFDB format, given the `long version' distribution tape, copy the second and third files from the tape into files 1001.tap and 1001.ann in the current directory, then type:
    ad2m -i 1001.tap -r 1001 -t 3:0:0
    a2m -i 1001.ann -r 1001 -a atr -t 2
The -t 3:0:0 option is necessary to prevent ad2m from truncating the signal file after the first 35 minutes.

  Converting AHA DB long version tapes to short version records

To make a version of AHA DB record 1201 in WFDB format, given a `long version' 9-track distribution tape containing the corresponding three-hour record 1001, copy the second and third files from the tape into files 1001.tap and 1001.ann in the current directory, then type:
    ad2m -i 1001.tap -r 1201 -f 2:25:0
    a2m -i 1001.ann -r 1201 -a atr -t 1
In this case, the -f option instructs ad2m to skip the first two hours and 25 minutes of the `long-version' AHA signal file, and to reformat the remainder (equivalent to the 35-minute `short-version' record). The -t 1 option is used with a2m even though its input file comes from a `long-version' tape, because the annotation times must be shifted only by the amount necessary for a `short-version' tape in this case.

  Sharing signal files for long version and short version AHA DB records

To keep both versions (1001 and 1201) on-line, make the long version first (see above), then type:
    a2m -i 1001.ann -r 1201 -a atr -t 1
to make a short version reference annotation file. Continue (under UNIX) by:
    cp 1001.hea 1201.hea
or (under MS-DOS) by:
    copy 1001.hea 1201.hea
and edit 1201.hea, replacing `1001' in the first line (only!) with `1201', and replacing `212' in the second and third lines by `212+6525000' (see the description of the `byte offset' field in header(5)). Although each version needs its own header and reference annotation files, the long-version signal file can be shared with the short version, allowing a substantial savings in storage requirements. Note that WFDB application programs that read the `short version' record 1201 signal file may report signal checksum errors at the end of the record, unless you also recalculate the signal checksums (easily done using snip(1) to copy the record; delete the copy once the checksums have been obtained).

AVAILABILITY
These programs are provided in the convert directory of the WFDB Software Package. Run make in that directory to compile and install them if they have not been installed already.

SEE ALSO
snip(1), xform(1), wfdb(3), header(5)

AUTHOR
George B. Moody (george@mit.edu)

SOURCES
http://www.physionet.org/physiotools/wfdb/convert/a2m.c
http://www.physionet.org/physiotools/wfdb/convert/ad2m.c
http://www.physionet.org/physiotools/wfdb/convert/ahaconvert
http://www.physionet.org/physiotools/wfdb/convert/ahaecg2mit.c
http://www.physionet.org/physiotools/wfdb/convert/m2a.c
http://www.physionet.org/physiotools/wfdb/convert/md2a.c