Skip to content

MNE-Python upstream reuse (v0.0.3) #93

Description

@BabaSanfour

Track places where mne-denoise could remove duplicated infrastructure only after a corresponding public API/change lands in MNE-Python.

The idea inspire from #91 . With #92 landing a first phase of already public mne functions.

This is from a brainstorming with codex: TBD.

MNE-Python change mne-denoise target Change Impact Related
Public/generalized GED transformer dss/linear.py, DSS Reuse MNE's existing GED infrastructure for generic decomposition, whitening/rank handling, filters/patterns and inverse transform; keep DSS biases/selection local. Very high MNE #13392, related PR #14050
Annotations → sample spans/mask asr/_windowing.py Public API around _annotations_starts_stops() so MNE owns orig_time, cropping, first_samp, clipping and annotation→sample conversion. High New MNE issue needed
Array covariance API _covariance.py, DSS Generalize useful parts of _regularized_covariance() if needed by public GED; keep weighted/chunked mne-denoise-specific modes local. Medium–High Prefer discussing with GED work
Generic sensor pre-whitening dss/_whitening.py Factor reusable pre-whitening from ICA rather than exposing ICA private helpers directly. Medium New MNE issue if generally useful
Public/generalized _COLA _blending.py Investigate whether MNE overlap-add infrastructure can support mne-denoise's segmented/owned-window semantics. Medium New MNE issue if equivalent
Public/generalized _Interp2 asr/_reconstruction.py Investigate reuse for ASR raised-cosine reconstruction-matrix transitions. Low–Medium New MNE issue if exact semantics match

Priority

  • Finish SSP-SIR reconstruction upstream work.
  • Audit DSS against MNE's GED framework and coordinate with MNE #13392.
  • Propose a public annotation → sample-span/mask API.
  • Investigate covariance as part of GED.
  • Investigate pre-whitening, _COLA, and _Interp2 only if they are generally useful upstream.
  • mne.decoding.SpatialFilter for viz

Do not expose private MNE helpers directly just to reduce local LOC. The goal is to establish the right public abstraction in MNE first, then simplify mne-denoise. Not every function needs to be reused.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions