Highlight bad Epochs instead of dropping them when preload=False upon plotting
Describe the new feature or enhancement
Hello! I am currently working on a feature to drop Epoch based on callables in #12195, and thought it would be a nice feature to be able to see which Epochs would be dropped (since you may have complicated callables) if preload=False in the Epochs constructor.
Describe your proposed implementation
I think this could be implemented by displaying the rejected epochs instead of dropping them when plotting. For instance:
epochs = mne.Epochs(
raw,
events,
tmin=-0.2,
tmax=0.5,
reject_tmax=0,
reject=reject_criteria,
flat=flat_criteria,
reject_by_annotation=False,
preload=False
)
epochs.plot()
Hypothetical output (Epochs in red will be dropped):
Describe possible alternatives
Maybe instead of this method. I can add another parameter, but I think this is too complicated.
Additional context
No response
Based on how Epochs works under the hood, I suspect this would be complicated to implement.
Another way to accomplish something similar using current API would be with something like
all_epochs = mne.Epochs(..., reject=None)
good_epochs = all_epochs.copy().drop_bad(reject=reject_criteria)
bad_epochs = all_epochs[np.setdiff1d(all_epochs.selection, good_epochs.selection)]
bad_epochs.plot()
It would only plot the bad ones but maybe it's good enough?