Frequently Asked Questions#
Which Python versions are supported?#
amica supports Python 3.10 and newer.
Does amica require JAX?#
No.
amica runs out of the box using the NumPy backend. Installing the jax extra enables hardware acceleration on supported systems.
pip install "amica[jax]"
Does amica require a GPU?#
No.
The NumPy backend runs on any machine. If JAX with GPU support is installed, amica will automatically use the GPU.
Can I use amica with MNE-Python?#
Yes.
amica provides a high-level fit_ica function that returns a standard mne.preprocessing.ICA object, allowing you to use the full MNE visualization and artifact-rejection workflow.
What input format does amica expect?#
The core API expects a NumPy array with shape
(n_channels, n_samples)
When using the MNE interface, simply pass an mne.io.Raw object.
Can amica fit multiple ICA models?#
Yes.
AMICA supports fitting multiple ICA models (num_models > 1) to capture non-stationary data. See the examples and API documentation for details.
How does amica compare with the original MATLAB AMICA?#
amica is designed to reproduce the original AMICA algorithm while providing a native Python implementation, optional JAX acceleration, and seamless integration with the scientific Python ecosystem.
Validation experiments comparing amica with the original MATLAB implementation are available in the documentation.
Where can I find examples?#
See the Examples section of the documentation for:
MNE-Python integration
Pure NumPy/JAX workflows
Validation examples
HPC/Slurm execution
I found a bug. Where should I report it?#
Please open an issue on GitHub:
When possible, include:
your operating system
Python version
amica version
backend (NumPy or JAX)
a minimal reproducible example
Can I contribute?#
Absolutely!
Please read the Contributing Guide before opening a pull request.