Skip to content

Commit

Permalink
BUGFIX: return events if provided when current = desired sfreq (#13070)
Browse files Browse the repository at this point in the history
Co-authored-by: Eric Larson <[email protected]>
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
Co-authored-by: Daniel McCloy <[email protected]>
  • Loading branch information
4 people authored Jan 24, 2025
1 parent aca4965 commit 7daecee
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 1 deletion.
1 change: 1 addition & 0 deletions doc/changes/devel/13070.bugfix.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Return events when requested even when current matches the desired sfreq in :meth:`mne.io.Raw.resample` by :newcontrib:`Roy Eric Wieske`.
1 change: 1 addition & 0 deletions doc/changes/names.inc
Original file line number Diff line number Diff line change
Expand Up @@ -258,6 +258,7 @@
.. _Roman Goj: https://romanmne.blogspot.co.uk
.. _Ross Maddox: https://www.urmc.rochester.edu/labs/maddox-lab.aspx
.. _Rotem Falach: https://github.com/Falach
.. _Roy Eric Wieske: https://github.com/Randomidous
.. _Sammi Chekroud: https://github.com/schekroud
.. _Samu Taulu: https://phys.washington.edu/people/samu-taulu
.. _Samuel Deslauriers-Gauthier: https://github.com/sdeslauriers
Expand Down
5 changes: 4 additions & 1 deletion mne/io/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -1386,7 +1386,10 @@ def resample(
sfreq = float(sfreq)
o_sfreq = float(self.info["sfreq"])
if _check_resamp_noop(sfreq, o_sfreq):
return self
if events is not None:
return self, events.copy()
else:
return self

# When no event object is supplied, some basic detection of dropped
# events is performed to generate a warning. Finding events can fail
Expand Down
10 changes: 10 additions & 0 deletions mne/io/fiff/tests/test_raw_fiff.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@
concatenate_events,
create_info,
equalize_channels,
events_from_annotations,
find_events,
make_fixed_length_epochs,
pick_channels,
Expand Down Expand Up @@ -1318,6 +1319,15 @@ def test_crop():
assert raw.n_times - 1 == raw3.n_times


@testing.requires_testing_data
def test_resample_with_events():
"""Test resampling raws with events."""
raw = read_raw_fif(fif_fname)
raw.resample(250) # pretend raw is recorded at 250 Hz
events, _ = events_from_annotations(raw)
raw, events = raw.resample(250, events=events)


@testing.requires_testing_data
def test_resample_equiv():
"""Test resample (with I/O and multiple files)."""
Expand Down

0 comments on commit 7daecee

Please sign in to comment.