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§
- Multi
Signal Reader - Reader for multiple signals (frame-based).
- Record
- High-level API for working with WFDB records.
- Segment
Reader - Reader for multi-segment records with seeking support.
- Signal
Reader - Reader for a single signal with three-level API.