Skip to content

docs: describe every module, and fix four broken README examples - #66

Open
snesmaeili wants to merge 2 commits into
mainfrom
docs/cover-all-modules
Open

docs: describe every module, and fix four broken README examples#66
snesmaeili wants to merge 2 commits into
mainfrom
docs/cover-all-modules

Conversation

@snesmaeili

Copy link
Copy Markdown
Contributor

Why

The code has moved ahead of the public-facing story. mne_denoise/ ships asr, dss, icanclean, sns, spectrum_interpolation and zapline, but:

  • the README did not contain the string "ASR" once — for a module with four estimator classes, 38 MATLAB parity fixtures and 15 gallery examples
  • pyproject.toml still described the project as "Denoising Source Separation (DSS) and ZapLine algorithms for MNE-Python"
  • docs/index.rst opened with "specializes in Denoising Source Separation (DSS)"

Counting mentions before this PR: DSS 20, ZapLine 17, ASR 0, iCanClean 0, spectrum_interpolation 0, SNS 0.

What changed

Reframed the README around choosing a method by contamination structure — a table mapping problem → method → the information that method uses — and covered all six modules. Same table now opens the docs landing page.

Four Quick Start examples were broken

These are exactly the lines a new user copy-pastes. Each is now fixed, and all seven snippets in the README were executed against synthetic data before committing (7 passed, 0 failed).

Was Result Now
zapline_plus.detected_freq_ AttributeError — attribute does not exist adaptive_results_["line_freq"]
dss.transform(epochs, return_type="epochs") TypeErrortransform takes only (self, X) return_type set on the constructor
BandpassBias(sfreq=..., freq=10, bandwidth=4) TypeError BandpassBias(freq_band=(8.0, 12.0), sfreq=...)
adaptive ZapLine example implied fit/transform work notes that adaptive mode requires fit_transform

Also added asr, artifact-removal, icanclean, line-noise to the packaging keywords so the project is findable by what it does.

Notes

  • No library code changes; docs and packaging metadata only.
  • The five documentation links in the README currently point at a 404 — the docs site is down for an unrelated reason. That is addressed in a separate PR.

snesmaeili and others added 2 commits August 10, 2026 13:34
The code has moved ahead of the public-facing story. The source tree ships
asr, dss, icanclean, sns, spectrum_interpolation and zapline, but the README
never mentioned ASR once, and the package description still read "Denoising
Source Separation (DSS) and ZapLine algorithms for MNE-Python".

Reframe the README around choosing a method by contamination structure, with
a table mapping problem -> method -> the information that method uses, and
cover all six modules.

Four Quick Start examples were broken. Each now executes; all seven snippets
in the file were run against synthetic data before committing.

  - ZapLine-plus printed `zapline_plus.detected_freq_`, which does not
    exist -> AttributeError. The detected frequency lives in
    `adaptive_results_["line_freq"]`.
  - `dss.transform(epochs, return_type="epochs")` -> TypeError. `transform`
    takes only (self, X); `return_type` is a constructor argument.
  - `BandpassBias(sfreq=..., freq=10, bandwidth=4)` -> TypeError. The
    signature is `BandpassBias(freq_band=(lo, hi), sfreq=...)`.
  - The adaptive ZapLine example did not say that adaptive mode calibrates
    and cleans together, so it requires fit_transform().

Also add asr, artifact-removal, icanclean and line-noise to the packaging
keywords, and replace the "specializes in DSS" opening of the docs landing
page with the same capability table.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6GFfnt85ZSjuRaDrETwpU
ruff 0.16 formats Python code blocks inside Markdown; 0.15 did not. CI
installs ruff unpinned, so it picked up the new behaviour and rejected
the aligned trailing comments and wrapped call in the DSS example.

Cosmetic only -- the example code itself is unchanged.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6GFfnt85ZSjuRaDrETwpU
@codecov

codecov Bot commented Aug 10, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 95.77%. Comparing base (f5b821c) to head (0e3e08b).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##             main      #66   +/-   ##
=======================================
  Coverage   95.77%   95.77%           
=======================================
  Files          68       68           
  Lines        8565     8565           
  Branches     1512     1512           
=======================================
  Hits         8203     8203           
  Misses        175      175           
  Partials      187      187           
Flag Coverage Δ
unittests 95.77% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant