amica 0.1.0
Rank-aware fit_ica and chunked multi-model posteriors. This release ships the two defects disclosed against 0.0.1.
Enhancements
- Multi-model fits no longer materialise the full
(n_models, n_components, n_samples)source array when computing model posteriors or when likelihood-based sample rejection is enabled. Both paths now honourchunk_size, bounding peak memory on long recordings. Results are unchanged.
API Changes
fit_icanow validatesn_componentsinstead of silently reinterpreting it. Requesting more components than there are selected channels raisesValueError(matchingsklearn.decomposition.PCAandmne.preprocessing.ICA, which previously differed from this function), and requesting more than the estimated numerical rank of the data also raises. Withn_componentsunset the estimated rank is used and aRuntimeWarningreports the value chosen. Previously the default kept every channel: on average-referenced EEG the trailing PCA direction has near-zero variance, which made the unmixing matrix numerically singular, collapsedmixing_matrix_, and causedICA.apply()to return near-zero data with no warning.
Re-validation
Checked against the published benchmark before release. On three ds004505 participants at the published configuration, complete MIR agrees with the reported values to within 0.04% — largest deviation 1.5e-03 kbits/s, against a smallest reported between-method difference of 0.136 kbits/s. Retained rank, component count, iteration count and per-subject sample counts are identical, and fits are 40–44% faster on the same hardware class. The MNE interoperability suite passes 30/30.
Full Changelog: v0.0.1...v0.1.0