Backend selection in the AMICA and AMICAICA wrappers
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 35/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Active
- Tech stack
- python
- Domain
- backend, machine-learning
Research direction
Read pamica/amica.py and pamica/mne_compat/core.py:348-354 to trace how AMICA and AMICAICA select and expose their backend. Then review docs/api/mne-compat.md, backends.md, and the differences page. Done means the backend-selection decision is resolved and the resulting wrapper behavior and torch-only reality are documented, including the MNE export implications.
Written by the indexing model from the issue text.
Description
From the epic #278 integration-parity audit. Both convenience wrappers construct AMICATorchNG unconditionally: AMICA (pamica/amica.py) and, through it, AMICAICA (pamica/mne_compat/core.py:348-354). With the MLX backend now at full fitting + non-fitting parity (epic #278), every MLX user is by construction a raw-AMICAMLXNG user, losing the wrappers' conveniences (from_params_file, the #50 degenerate-fit usability contract, is_fitted_/converged_ surface), and — the sharpest case — an Apple-Silicon MNE user cannot get MLX-backed fits through AMICAICA at all without hand-reimplementing the to_mne_ica() export (mean/sphere/unmixing -> pca_mean_/pca_components_/unmixing_matrix_, including the rank-reduced SVD branch).
The torch-only nature of both wrappers is currently stated nowhere (checked docs/api/mne-compat.md, backends.md, changelog). Two separable decisions:
- Whether
AMICA(and therebyAMICAICA) grows a backend/engine selection parameter, or the raw-backend route stays the documented MLX path. - Either way, document the current torch-only wrapper reality explicitly (docs/api/mne-compat.md and the differences page), since the audit found it easy to over-read "no remaining MLX gaps" as covering the wrappers.
Relevant to the MLX audience specifically: individual experimenters on Apple hardware whose downstream is EEGLAB/MNE.
- Dominant language
- Python
- Stars
- 8
- Forks
- 3
- Avg merge
- 5h 37m
- Merged PRs (30d)
- 36
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.
More from sccn/pAMICA
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
-
Difficulty 3/5 1-2 days Newbie friendliness 68/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
bancolombia/sentinel#23 ·
-
test md OpenCI
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
integration:quickjs org:external priority:backlog topic:code-interpreter topic:middleware type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
langchain-ai/deepagents#6450 ·
-
bug client
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100