Description of the problem
Epochs.get_data(picks="eeg") excludes bad channels, but Evoked.get_data(picks="eeg") doesn't
Steps to reproduce
# %%
import mne
sample_dir = mne.datasets.sample.data_path()
sample_fname = sample_dir / "MEG" / "sample" / "sample_audvis_raw.fif"
raw = mne.io.read_raw_fif(sample_fname)
raw.crop(tmax=60)
events = mne.find_events(raw, stim_channel="STI 014")
raw.pick("eeg")
epochs = mne.Epochs(raw, events=events, preload=True)
evoked = epochs.average()
# %%
for inst_type, inst in zip(["epochs", "evoked"], [epochs, evoked]):
print(f"{inst_type}:")
print(f" bads: {inst.info['bads']}")
print(f" data shape: {inst.get_data(picks='eeg').shape}")
Link to data
No response
Expected results
Both methods should behave the same in regards to bad channel treatment.
Actual results
epochs:
bads: ['EEG 053']
data shape: (86, 59, 421)
evoked:
bads: ['EEG 053']
data shape: (60, 421)
As you can see, the data from Evoked contains the bad channel, while the data from Epochs does not.
Additional information
This is with main