Learn R Programming

EGM

The purpose of {EGM} is to work with electrophysiology (EP) signal data to help understand and simplify the complexity of complex, multi-channel electrical signal data. The target audience is those working, in particular, with cardiac electrophysiology data, from intracardiac electrograms to surface electrocardiography. The package is heavily inspired by and gains additional functionality from the Waveform Database (WFDB) software package.

The goals and major arms of this software are…

  1. Adapt WFDB-compatible signal data to an R format that is interchangeable
  2. Provide simple visualization tools to work with short elements of raw signal data
  3. Allow for annotation of intracardiac electrograms in an interactive manner
  4. Train and allow development of learning algorithms for the evaluation of multi-channel time series data

Please see the vignettes for further details on usage.

Installation

You can install the released version of {EGM} from CRAN with:

install.packages("EGM")

And the development version from GitHub with:

# install.packages("devtools")
devtools::install_github("shah-in-boots/EGM")

Notably, the package software utilizes the WFDB software if it is available. You can expect errors in calling commands until the software is appropriately installed. Further installation instructions are available on the Github site.

Copy Link

Version

Install

install.packages('EGM')

Monthly Downloads

252

Version

0.1.1

License

GPL (>= 3)

Maintainer

Anish S. Shah

Last Published

October 14th, 2025

Functions in EGM (0.1.1)

extract_f_waves

Extract F wave features from ECG
egm

Electrogram data class from electrophysiology studies
ggm

Visualization of EGMs using ggplot
segmentation

Segmentation of electrical signal by wave specifications
header_table

Header Table
lapply.windowed

Apply a function to each element of a windowed object
muse

Read in ECG data from MUSE
wfdb_paths

WFDB path utilities
prucka

Read Prucka System Files
ecg

Electrocardiogram data class for 12-lead ECG studies
wfdb_io

I/O of WFDB-compatible signal & header files from EP recording systems
print.windowed

Print a windowed object
standardize_windows

Standardize windows of signal data
colors

Theming and color options for ggm objects
validate_ecg_data

Validate that signal data represents a standard 12-lead ECG
time_normalize_windows

Time normalize windows to a standard length
[.windowed

Subset a windowed object
signal_table

Signal tables
wfdb

Waveform Database (WFDB) Software Package
wfdb_annotations

Read WFDB-compatible annotation file
windowed

Create a windowed object containing a list of egm segments
is_windowed

Test if an object is a windowed object
interpolate_signal

Helper function to apply interpolation
window

Window signal data based on different methods
annotators

Annotator systems for WFDB objects
add_annotations

Add annotations to a ggm object
c.windowed

Concatenate windowed objects
bard

Read in ECG and EGM data from Bard (LabSystem Pro)
add_colors

Add color scheme to a ggm object
EGM-vctrs

Internal vctrs methods
as_ecg

Convert an egm object to an ecg object
analyze_atrial_signal

Analyze F waves in atrial fibrillation ECG
annotation_table

Annotation Table
color_channels

Identify the color for a channel based on palettes
detect_QRS

Detect QRS complexes in ECG signals
format.windowed

Format a windowed object for printing
extract_signal

Extract raw signal data from an egm object
calculate_dominant_frequency

Calculate Dominant Frequency of a time series
calculate_approximate_entropy

Calculate Approximate Entropy (Ap_en) of a time series
EGM-package

EGM: Intracardiac Electrograms