Releases: MIT-LCP/wfdb-python
v4.2.0
What's Changed
Add support for Numpy 2.0
Fixes were added to address changes to type promotion that led to overflow errors (e.g. #493).
Fix UnboundLocalError in GQRS algorithm
Fixes the GQRS algorithm to address an UnboundLocalError
.
Support write directory in csv_to_wfdb
write_dir
can now be specified when calling csv_to_wfdb
.
Use uv for for package management
Moves package management from poetry to uv.
Fix misordered arguments in util.lines_to_file
Fixes misordered arguments in util.lines_to_file
.
Allow signals to be written with unique samples per frame
Adds capability to write signal with unique samps_per_frame to wfdb.io.wrsamp
.
Allow expanded physical signal in calc_adc_params
Updates calc_adc_params
to allow an expanded physical signal to be passed. Previously only a non-expanded signal was allowed.
Allow selection of channels when converting to EDF
Fixes the wfdb-to_edf()
function to support an optional channels argument.
Migrates Ricker wavelet from SciPy to WFDB after deprecation
The Ricker wavelet (scipy.signal.ricker
) was removed in SciPy v1.15, so the original implementation was migrated to the WFDB package.
Miscellaneous style and typing fixes
Various fixes were made to code style and handling of data types.
New Contributors
- @ajadczaksunriselabs made their first contribution in #459
- @tecamenz made their first contribution in #465
- @SnoopJ made their first contribution in #472
- @dependabot made their first contribution in #477
- @agent3gatech made their first contribution in #514
- @SamJelfs made their first contribution in #519
- @wenh06 made their first contribution in #526
Full Changelog: v4.1.2...v4.2.0
v4.1.2
What's Changed
- Handle more than 8 compressed signals in wrsamp by @bemoody in #450
- Add a test to check if wrsamp can write more than 8 channels to format 516 by @alistairewj in #451
- Use int64 instead of int for ann2rr by @bemoody in #454
Full Changelog: v4.1.1...v4.1.2
v4.1.1
v4.1.0
- Converting a record into a Pandas DataFrame (#380)
- Locating signals in a multi-segment record (#403)
- Writing custom annotation symbols (#404)
- Performance improvements when writing annotations (#406)
- Correct rounding when converting floating-point signal data (#419)
- Writing signals in compressed format (#420)
- Decoding non-ASCII text in EDF files (#429)
- Bug fixes when writing signal metadata (#424)
- Documentation updates (#401, #407, #433, #437)
- Internal refactoring (#396, #400)
- Test suite improvements (#416, #422)
v4.0.0
- Supports reading WFDB records that contain FLAC signal files. #372
- Switches to Poetry for package management. #356
- Sets Python support to >=3.7
- Supports reading multi-frequency multi-segment records. #331
- Supports plotting multi-frequency data using
plot_wfdb
. #348 - Plots annotations on top of signals in plot functions. #345
- Aligns signals horizontally in
plot_wfdb
if possible by default. #390 - Correctly handles sample numbers > 2**31 in annotation files. #328
- Fixes bugs when reading formats 8, 310, and 311. #327
- Removes the ability for
rdrecord
andrdsamp
to read EDF and WAV files. #370 - Renames
edf2mit
,mit2edf
,wav2mit
,mit2wav
, andcsv2mit
toread_edf
,wfdb_to_edf
,read_wav
,wfdb_to_wav
, andcsv_to_wfdb
respectively. #370 See also this note. - Moves the above format conversion functions to the
wfdb.io.convert
submodule. #370
v3.4.1
This release makes the following changes:
- Fix axes indexing issue when plotting a single channel: bugfix: unable to plot single channel record #308
- Update matplotlib version and import only when used: This updates the Matplotlib version to avoid segmentation faults on Macs running Big Sur. #310 and Lazily import matplotlib #314
- Performance improvements to smooth_frames=False: Optimize smooth_frames=False #318
- List only direct dependencies in requirements.txt: Remove transitive dependencies #322
- Correct an error in the calculation of the signals length for certain cases: Correctly infer length of record when unspecified #323
- Speed up import time by removing the dependency on scikit-learn when it isn't required: Remove dependency on scikit-learn #321
v3.4.0
- Adds EDF+C support for
edf2mit
- Improves speed of
resample_ann
- Allows negative annotation subtypes
- Adds
rr2ann
- Updates to Python 3.6+
- Adds
sharex
andsharey
toplot_items
- Adds
wfdbdesc
- Adds
wfdbtime
- Adds conversion for CSV to WFDB-annotations
- Adds
rdedfann
- Adds information about WFDB header format in
wfdb/io/_header.py
- Adds
mrgann
- Adds
sigavg