MRG+1: BUG: info['bads'] order shouldn't matter in write_evokeds()#7954
Merged
agramfort merged 3 commits intomne-tools:masterfrom Jul 2, 2020
Merged
MRG+1: BUG: info['bads'] order shouldn't matter in write_evokeds()#7954agramfort merged 3 commits intomne-tools:masterfrom
agramfort merged 3 commits intomne-tools:masterfrom
Conversation
I ran into an issue where I created two Evokeds and their difference (via combine_evoked); say, `e1`, `e2`, and `diff`. I then wanted to write those Evokeds to a single file via `mne.write_evokeds([e1, e2, diff])`, which failed with a `ValueError`: "info['bads'] must match'". I looked into the `bads` lists and found that the order of bad channels in `diff` was different from the order in `e1` and `e2`; yet, the set of channels was identical. While it probably would make sense to figure out where this difference comes from, it also got me thinking that an altered `bads` order shouldn't be a stopper when using `write_evokeds()`, as long as all passed Evoked objects mark the same channels as bad. And this is exactly what this commit implements.
larsoner
approved these changes
Jul 1, 2020
Member
larsoner
left a comment
There was a problem hiding this comment.
LGTM +1 for merge, maybe needs latest.inc update?
Member
Author
|
@larsoner I've added a changelog entry. |
Member
|
Thx @hoechenberger |
larsoner
added a commit
to larsoner/mne-python
that referenced
this pull request
Jul 8, 2020
* upstream/master: (30 commits) MRG: Add remove_labels to _Brain (mne-tools#7964) Add get_picked_points (mne-tools#7963) ENH: Add OpenGL info to mne sys_info (mne-tools#7976) [MRG] Fix reject_tmin and reject_tmax for reject_by_annotation in mne.Epochs (mne-tools#7967) mrg: Add scalar mult and div operators for AverageTFR (mne-tools#7957) MRG, MAINT: Cleaner workaround for Sphinx linking issue (mne-tools#7970) MRG, ENH: Speed up epochs.copy (mne-tools#7968) MRG, BUG: Allow ref mags to have a comp grade (mne-tools#7965) do not forget to pass adjacency (mne-tools#7961) [MRG] fix Issue with stc.project after restricting to a label (mne-tools#7950) Only process nirx event file if present (mne-tools#7951) MRG+1: BUG: info['bads'] order shouldn't matter in write_evokeds() (mne-tools#7954) Fix some small glitches introduced via mne-tools#7845 (mne-tools#7952) Add time player (mne-tools#7940) MAINT: Clean up VTK9 offset array [circle front] (mne-tools#7953) MAINT: Skip a few more on macOS (mne-tools#7948) fix links [skip travis] (mne-tools#7949) MRG, MAINT: Tweak CIs (mne-tools#7943) MRG, BUG: Fix vector scaling (mne-tools#7934) MRG, VIZ, BUG: handle CSD channel type when topo plotting (mne-tools#7935) ...
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What does this implement/fix?
I ran into an issue where I created two Evokeds and their difference (via
combine_evoked()); say,e1,e2, anddiff.I then wanted to write those Evokeds to a single file via
mne.write_evokeds([e1, e2, diff]), which failed with aValueError: "info['bads'] must match'". I looked into thebadslists and found that the order of bad channels indiffwas different from the order ine1ande2; yet, the set of channels was identical.While it probably would make sense to figure out where this difference comes from, it also got me thinking that an altered
badsorder shouldn't be a stopper when usingwrite_evokeds(), as long as all passed Evoked objects mark the same channels as bad.And this is exactly what this PR implements.