mne-tools / mne-tools/mne-python
ENH: decoding module 2017
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 3.5k
- Forks
- 1.6k
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 100
Description
This aims at keeping track of the development related to the Google summer of code 2016 on decoding analyses.
We have quite a lot ongoing PRs, so I thought I would try to organize them here to keep track of the big picture. I'll edit the post along the issue along the way.
The aim is to make transformers that follow the sklearn API:
pipe = make_pipeline(
CSP(sfreq=200, None, 30),
TimeFrequency(),
SlidingEstimator(make_pipeline(StandardScaler(), LogisticRegression())
)
score = cross_val_score(X=epochs.get_data(), y=epochs.event[:, 2])
For now, we're focusing on sklearn integration, not high level features (plotting, get_coefs_ etc).
-
Spatial filters:
- FIX: XdawnTransformer: #3245
- FIX: Xdawn refactoring: #3425
- FIX: CSP renaming of
epochs_dataintoX#3485 - ENH: CSP adding multiclass support see #3484, #3485
- ENH: CSP uwedge multiclass + example https://github.com/mne-tools/mne-python/issues/3495
- ENH: Unsupervised spatial filter https://github.com/mne-tools/mne-python/pull/3447
- ENH: EMS: #3427, #3446
- ENH: CSP transform into power or time course or #3583 #3586
- ENH: Mixin class to plot patterns_ and filters_? see https://github.com/mne-tools/mne-python/issues/3424
- FIX: Move Xdawn to decoding?
-
Freq - time/freq transformers:
- FIX: TemporalFilter: needs refactoring from
mne.decoding.FilterEstimatorto pass explicit args and notinfo+ BUG in FilterEstimator: #3395, #3471, #3472 - FIX: PSDEstimator
- ENH: TimeFrequencyDecomposer #3488
- ENH: SPoC #4144
- Time Frequency Decoding object based on covariances / CSP ...
- Power Decoding Estimator based on covariances / CSP: #4138 (example, but need to be converted in object)
- FIX: TemporalFilter: needs refactoring from
-
Continuous signals (raw not epochs)
- FIX: Xdawn overlap: to be integrated with the RERP code #2332, also see https://github.com/mne-tools/mne-python/blob/master/mne/stats/tests/test_regression.py#L124, PR in #3563
- FIX: ReceptiveField: started in #3310, done in #3728
-
FIX: combine rERP and STRF: e.g. float delays instead of list, discrete vs continuous regressors etc -
Optimize ReceptiveField for continuous regression
-
Search lights
- ENH: SlidingEstimator and GeneralizingEstimator: #3381 #4103
- ENH: n-dimensional search light #3481
- FIX: Refactor TimeDecoding & GeneralizationAcrossTime #4103
- ENH: 'scoring' param in SearchLight-like object #3475, #3502, #3833 #4103
- ENH: option to warm_start from one estimator to the next
- cross_val_multiscore #4103
- window_size and step parameter in SlidingEstimator
-
Preprocessing
- ENH: Scaler: scale channels over all time their corresponding time points to deal with issues related to mix channel types needs refactoring to comply to
XyAPI - ENH: Vectorizer: to pass from n-D
Xto 2DXto be reviewed in https://github.com/mne-tools/mne-python/pull/3409
- ENH: Scaler: scale channels over all time their corresponding time points to deal with issues related to mix channel types needs refactoring to comply to
-
Examples:
- RSA #3923
- TimeFrequency Example #4115
- PSD example #4138
- get_coef for SlidingEstimator
- Denoise tutorial
-
Frequency generalization #4019 - UnsupervisedSpatialFilter example
-
Other:
-
partial_fit #3483, #3591 -
get_coef(pipeline)to retrieve and/or invert_transform linear coefficients if they exist
-
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
This is a historical tracking issue covering multiple decoding components, including CSP, SlidingEstimator, FilterEstimator, and examples. Start by reviewing the unchecked entries and their linked issues, then choose a specific subtask with a defined scope. Done means the selected item is implemented and its referenced example or tests are updated, rather than completing this tracker as a whole.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, scikit-learn
- Domain
- machine-learning
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 15/100