Skip to content

pyAMICA 0.1.2

Latest

Choose a tag to compare

@neuromechanist neuromechanist released this 14 Jul 17:21
0ef9428

Patch release adding NumPy-backend outlier-rejection parity, repo-wide type-checking enforcement, and the full validation-evidence documentation. Correctness remains defined as parity with the reference Fortran binary, validated only on real sample EEG.

Highlights

  • NumPy outlier rejection (do_reject): the Fortran outlier-rejection path is ported to AMICA_NumPy via the same good_idx mechanism as the PyTorch backend, so the NumPy reference now drops per-sample outliers on the rejstart/rejint/maxrej schedule (#123).
  • Rejection robustness: a non-finite log-likelihood is now distinguished from an over-aggressive rejsig, so an over-tight rejection threshold fails with a clear message instead of a silent non-finite result (#127).
  • Type checking enforced repo-wide: all ty diagnostics fixed (496 to 0) and ty added to CI alongside a pre-commit config (ruff + ty) (#124, #125).
  • Comprehensive validation docs: the validation guide is now a full evidence page covering source-density bit-exactness, cross-platform device/precision invariance (cross-backend equivalence matrix + IC topomaps), the EEGLAB drop-in round-trip, and the other validated behaviors (#108).

Changelog

The changelog now also backfills the previously missing 0.1.1 entry. See the full changelog.

Install

```bash
git clone https://github.com/sccn/pyAMICA.git
cd pyAMICA
uv sync
```

Full diff: v0.1.1...v0.1.2