Module record

Module record 

Source
Expand description

High-level API for reading WFDB records.

This module provides the primary interface for working with WFDB records, combining header parsing with signal reading in an ergonomic, modern Rust API.

§Examples

§Reading a single signal

use wfdb::Record;

// Open record (loads and parses header)
let record = Record::open("data/100")?;

// Access header information
println!("Record: {}", record.metadata().name());
println!("Signals: {}", record.signal_count());
println!("Sampling frequency: {} Hz", record.metadata().sampling_frequency());

// Create reader for first signal
let mut reader = record.signal_reader(0)?;

// Read 1000 samples as raw ADC values
let adc_samples = reader.read_samples(1000)?;

// Read 1000 samples as physical values (mV)
let physical_samples = reader.read_physical(1000)?;

§Reading multiple signals together (frames)

use wfdb::Record;

let record = Record::open("data/100")?;
let mut reader = record.multi_signal_reader()?;

// Read 1000 frames (each frame contains one sample per signal)
for _ in 0..1000 {
    let frame = reader.read_frame()?;
    // frame is Vec<Sample>, one per signal
    println!("Signal 0: {}, Signal 1: {}", frame[0], frame[1]);
}

Structs§

MultiSignalReader
Reader for multiple signals (frame-based).
Record
High-level API for working with WFDB records.
SegmentReader
Reader for multi-segment records with seeking support.
SignalReader
Reader for a single signal with three-level API.