pyedflib
pyedflib copied to clipboard
`'sample_rate'` is deprecated, but pyedflib still uses it internally
I am using highlevel.write_edf()
in my tests, and even though I am passing sample_frequency
instead of sample_rate
, I still get a DeprecationWarning
:
def test_read_shhs(tmp_path):
"""Basic sanity checks for records read via read_shhs."""
durations = [0.1, 0.2] # hours
valid_stages = {int(s) for s in SleepStage}
> _create_dummy_shhs(data_dir=tmp_path, durations=durations)
sleepecg/test/test_sleep_readers.py:157:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
sleepecg/test/test_sleep_readers.py:124: in _create_dummy_shhs
_dummy_nsrr_edf(f"{edf_dir}/{record_id}.edf", hours, ecg_channel="ECG")
sleepecg/test/test_sleep_readers.py:29: in _dummy_nsrr_edf
highlevel.write_edf(filename, ecg, signal_headers)
.direnv/python-3.10.10/lib/python3.10/site-packages/pyedflib/highlevel.py:486: in write_edf
f.setSignalHeaders(signal_headers)
.direnv/python-3.10.10/lib/python3.10/site-packages/pyedflib/edfwriter.py:351: in setSignalHeaders
self.update_header()
.direnv/python-3.10.10/lib/python3.10/site-packages/pyedflib/edfwriter.py:249: in update_header
self._calculate_optimal_record_duration()
.direnv/python-3.10.10/lib/python3.10/site-packages/pyedflib/edfwriter.py:922: in _calculate_optimal_record_duration
all_fs = [self._get_sample_frequency(i) for i,_ in enumerate(self.channels)]
.direnv/python-3.10.10/lib/python3.10/site-packages/pyedflib/edfwriter.py:922: in <listcomp>
all_fs = [self._get_sample_frequency(i) for i,_ in enumerate(self.channels)]
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <pyedflib.edfwriter.EdfWriter object at 0x7ff705cb0370>, channelIndex = 0
def _get_sample_frequency(self, channelIndex):
# Temporary conditional assignment while we deprecate 'sample_rate' as a channel attribute
# in favor of 'sample_frequency', supporting the use of either to give
# users time to switch to the new interface.
if 'sample_rate' in self.channels[channelIndex]:
> warnings.warn("`sample_rate` is deprecated and will be removed in a future release. \
Please use `sample_frequency` instead", DeprecationWarning)
E DeprecationWarning: `sample_rate` is deprecated and will be removed in a future release. Please use `sample_frequency` instead
Currently, users cannot really prevent that warning even if they have already switched to the new sample_frequency
.