Skip to content

Releases: MIT-LCP/wfdb-python

v4.2.0

21 Jan 20:45
6e27547
Compare
Choose a tag to compare

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

Full Changelog: v4.1.2...v4.2.0

v4.1.2

16 Jun 17:59
870d792
Compare
Choose a tag to compare

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

20 Apr 19:35
4fd577f
Compare
Choose a tag to compare
  • Removing upper bounds on dependencies (#448, #447)
  • Miscellaneous style and typing fixes (#445, #440)

v4.1.0

02 Dec 21:10
Compare
Choose a tag to compare
  • 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

29 Jun 05:15
225d2a2
Compare
Choose a tag to compare
  • 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 and rdsamp to read EDF and WAV files. #370
  • Renames edf2mit, mit2edf, wav2mit, mit2wav, and csv2mit to read_edf, wfdb_to_edf, read_wav, wfdb_to_wav, and csv_to_wfdb respectively. #370 See also this note.
  • Moves the above format conversion functions to the wfdb.io.convert submodule. #370

v3.4.1

14 Sep 17:02
b9c61aa
Compare
Choose a tag to compare

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

25 May 15:30
8c48534
Compare
Choose a tag to compare
  • Adds EDF+C support for edf2mit
  • Improves speed of resample_ann
  • Allows negative annotation subtypes
  • Adds rr2ann
  • Updates to Python 3.6+
  • Adds sharex and sharey to plot_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

v3.3.0

01 Mar 19:21
6e0271c
Compare
Choose a tag to compare
  • Adds CSV to WFDB file converter (also TSV, and any other valid delimiter)
  • Updates plotting labels functionality
  • Updates documentation to include more functions

v3.2.0

08 Jan 12:55
733f3e4
Compare
Choose a tag to compare
  • Removes the MNE package in replacement of direct binary file reading for EDF files for increased speed
  • EDF file reading bug fixes
  • Relaxing of requirements for pytz

3.1.2

18 Dec 22:27
323a0f0
Compare
Choose a tag to compare
  • Fixes some problems on Windows machines
  • Updates Pandas syntax for most recent version
  • Cleans some package requirements
  • Adds more efficient EDF header reader