Package: EGM 0.3.0

EGM: Intracardiac Electrograms

A system for importing electrophysiological signal, based on the 'Waveform Database (WFDB)' software package, written by Moody et al 2022 <doi:10.13026/gjvw-1m31>. A R-based system to utilize 'WFDB' functions for reading and writing signal data, as well as functions for analysis, are provided. A stable and broadly compatible class for working with signal data, supporting the reading in of cardiac electrophysiological files such as intracardiac electrograms, is introduced.

Authors:Anish S. Shah [aut, cre, cph], Darren Seaney [ctb]

EGM_0.3.0.tar.gz
EGM_0.3.0.zip(r-4.7-x86_64)EGM_0.3.0.zip(r-4.7-arm64)EGM_0.3.0.zip(r-4.6-x86_64)EGM_0.3.0.zip(r-4.6-arm64)EGM_0.3.0.zip(r-4.5-x86_64)
EGM_0.3.0.tgz(r-4.6-x86_64)EGM_0.3.0.tgz(r-4.6-arm64)EGM_0.3.0.tgz(r-4.5-x86_64)EGM_0.3.0.tgz(r-4.5-arm64)
EGM_0.3.0.tar.gz(r-4.7-arm64)EGM_0.3.0.tar.gz(r-4.7-x86_64)EGM_0.3.0.tar.gz(r-4.6-arm64)EGM_0.3.0.tar.gz(r-4.6-x86_64)
EGM_0.3.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html✨
DESCRIPTION |NEWS
card.svg |card.png
EGM/json (API)

# Install 'EGM' in R:
install.packages('EGM', repos = c('https://shah-in-boots.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/shah-in-boots/egm/issues

Pkgdown/docs site:https://shah-in-boots.github.io

Uses libs:
  • c++– GNU Standard C++ Library v3
Datasets:
  • kors - Kors regression transformation matrix

On CRAN:

Conda:

cardiologyelectrophysiologysignal-processingquartocpp

6.67 score 2 stars 1 packages 20 scripts 436 downloads 68 exports 15 dependencies

Last updated from:4b9c250ab5. Checks:13 ERROR, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-arm64ERROR162
linux-devel-x86_64ERROR181
source / vignettesOK200
linux-release-arm64ERROR146
linux-release-x86_64ERROR177
macos-release-arm64ERROR213
macos-release-x86_64ERROR444
macos-oldrel-arm64ERROR262
macos-oldrel-x86_64ERROR337
windows-devel-arm64ERROR377
windows-devel-x86_64ERROR194
windows-release-arm64ERROR493
windows-release-x86_64ERROR176
windows-oldrel-x86_64ERROR166
wasm-releaseOK110

Exports:add_annotationanalyze_atrial_signalannotation_tableas_ECGbaseline_windowby_beatby_pwaveby_rhythmcalculate_approximate_entropycalculate_dominant_frequencycalculate_organization_indexcalculate_sample_entropycalculate_welch_spectrumcancel_ventricular_signalchange_frequencychannel_zerodetect_QRSECGecg_leadsEGMextract_f_wavesfeature_rangeget_annotationget_signalget_windowsheader_tableis_annotation_tableis_ECGis_EGMis_header_tableis_signal_tableis_templateis_window_setis_window_strategylabel_waveslandmarklead_factorlearn_templatelist_annotatorsmap_windowsmedian_windowmerge_annotationsnew_windowsnormalize_windowpad_windowread_annotationread_bardread_bard_headerread_bard_signalread_headerread_museread_pruckaread_prucka_headerread_prucka_signalread_signalread_wfdbsignal_tablesignal_unitstemplatevalidate_time_parametersvcgwarp_windowwfdb_annotation_decodewfdb_annotation_labelswindow_droppedwindow_strategywrite_annotationwrite_wfdb

Dependencies:base64encclicpp11data.tablegluelifecyclemagrittrMASSrlangS7signalstringistringrvctrsxml2

Getting Started
Reading in Data | Class Introduction

Last update: 2026-09-06
Started: 2024-05-09

Understanding WFDB Annotations
Electrocardiogram Annotations | WFDB Annotation Standards | Annotation Table Structure | Standard ECG Annotation Types | Beat Annotations | Waveform Boundary Annotations | Rhythm and Signal Quality Annotations | Specialized Annotations | Common Annotation File Types | Accessing All Standard Annotations | Example: Working with ECG Annotations | Working with Multiple Annotators | Reading Multiple Annotators | Reading Complete Records with Multiple Annotators | Helper Functions for Multi-Annotator Workflows | List Available Annotators | Extract Specific Annotators | Merge Multiple Annotators | Intracardiac Electrogram Annotations | Examples | ecgpuwave | Registration

Last update: 2026-09-06
Started: 2025-11-07

WFDB: An Introduction to the Waveform Database Software Package
Signal Data | Understanding the WFDB Storage Format | Reading Data in Different Units | Comparing Digital and Physical Values | Annotations

Last update: 2026-09-05
Started: 2025-11-08

Readme and manuals

Help Manual

Help pageTopics
Subset a 'windows' object[.windows
Add an annotation table to an 'EGM' objectadd_annotation
Analyse an isolated atrial signalanalyze_atrial_signal
Annotation Tableannotation_table is_annotation_table
Annotator systems for WFDB objectsannotators
Convert an EGM object to an ECG objectas_ECG
Read in ECG and EGM data from Bard (LabSystem Pro)bard read_bard read_bard_header read_bard_signal
Reference windows to their isoelectric baselinebaseline_window
Window a fixed span around each beatby_beat
Window the P waveby_pwave
Window by rhythmby_rhythm
Concatenate 'windows' objectsc.windows
Calculate Approximate Entropy (ApEn) of a time seriescalculate_approximate_entropy
Calculate the dominant frequency of a time seriescalculate_dominant_frequency
Calculate the organisation index of an atrial signalcalculate_organization_index
Calculate Sample Entropy of a time seriescalculate_sample_entropy
Welch power spectral density estimatecalculate_welch_spectrum
Cancel the ventricular contribution from a multi-lead ECGcancel_ventricular_signal
Change the sampling frequency of signal datachange_frequency
How the file behind an annotation table counts its signalschannel_zero
Per-lead annotations and the guiding channelchannels
Detect QRS complexes in ECG signalsdetect_QRS
Electrocardiogram data class for 12-lead ECG studiesECG is_ECG
The twelve surface leads, in the order they are displayedecg_leads lead_factor
Electrogram data class from electrophysiology studiesEGM is_EGM
Extract fibrillatory wave features from a surface ECGextract_f_waves
Diagnostics returned with every fibrillatory estimate, and where they came fromf_wave_diagnostics
Specify a range-valued annotation criterionfeature_range
Format a 'windows' object for printingformat.windows
Sampling frequency of signal datafrequency frequency.EGM frequency.header_table frequency.windows
Get annotation from 'EGM' objectget_annotation
Get raw signal data from an 'EGM' objectget_signal
Extract windows of signal from a recordget_windows
Header Tableheader_table is_header_table
Test whether an object is a templateis_template
Test if an object is a 'windows' collectionis_window_set
Test whether an object is a window strategyis_window_strategy
Kors regression transformation matrixkors
Label annotation waves positionallylabel_waves
A single template landmarklandmark
Learn a landmark template from EGM exampleslearn_template
List annotators in 'EGM' objectlist_annotators
Apply a function across a collection of windowsmap_windows
Collapse windows to a single median beatmedian_window
Merge multiple annotations into a single tablemerge_annotations
Read in ECG data from MUSEmuse read_muse
Create a 'windows' object containing a collection of EGM windowsnew_windows
Time-normalize windows to a fixed lengthnormalize_window
Pad windows to a common lengthpad_window
Print a 'windows' objectprint.windows
Read Prucka System Filesprucka read_prucka read_prucka_header read_prucka_signal
Signal tablesis_signal_table signal_table
Units a signal is recorded insignal_units
A template of ordered landmarkstemplate
Validate WFDB time parametersvalidate_time_parameters
Reconstruct a vectorcardiogram from the 12-lead ECGvcg
Landmark-warp windows onto a templatewarp_window
Waveform Database (WFDB) Software Packagewfdb
Standard WFDB annotation nomenclaturewfdb_annotation_decode wfdb_annotation_labels
Read WFDB-compatible annotation fileread_annotation wfdb_annotations write_annotation
I/O of WFDB-compatible signal & header files from EP recording systemsread_header read_signal read_wfdb wfdb_io write_wfdb
Candidate beats a windowing strategy did not returnwindow_dropped
A window extraction strategywindow_strategy