mne-tools / mne-tools/mne-python

ENH: API for handling channel-specific annotations in epoching

Open
#8,951 2 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

ENH MEDIUM
Dominant language
Python
Stars
3.5k
Forks
1.6k
Avg merge
1d 6h
Merged PRs (30d)
100

Description

One nice pipeline is:

  1. Mark channel-specific annotations (#8947 / #8949)
  2. Epoch the data without throwing out epochs based on channel-specific annotations (this ENH request)
  3. Preserve the annotations from Raw->Epochs (#8376)
  4. Repair channel-specific bads (#8950)

To be able to do 4/#8950 we really want some API for creating epochs that probably does throw out epochs where a given time slice is marked as bad, but (optionally) does not throw out epochs where there are channel-specific BAD_ markings.

I actually don't think this one is too difficult, but it requires at least #8376 (and probably a preprocessing one like #8947 / #8949) to move forward.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the epoching API and the channel-specific annotation work described in issues #8947, #8949, #8376, and #8950. Determine how epoch rejection currently handles time slices marked bad, then define and test an option that preserves epochs containing only channel-specific BAD_ markings while retaining rejection for general bad annotations.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
data
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.