AMICA Algorithm Now Available in Python with Performance Boost

Scott Huberty, Christian O'Reilly· July 22, 2026 View original

Summary

A new Python implementation of the Adaptive Mixture Independent Component Analysis (AMICA) algorithm has been released, offering improved accessibility and integration with scientific Python pipelines. It includes an optional Anderson acceleration scheme that significantly reduces convergence time while maintaining numerical precision.

The Adaptive Mixture Independent Component Analysis (AMICA) algorithm, a widely used method in EEG research for blind source separation, has historically been limited by its reliance on a Fortran implementation within MATLAB's EEGLAB toolbox. This dependency restricted its use in modern scientific Python workflows. A new Python version, AMICA-Python, has been developed to address this, featuring a scikit-learn-conformant API for seamless integration. This implementation closely mirrors the original algorithm but incorporates contemporary software engineering practices. Furthermore, AMICA-Python introduces an optional Anderson acceleration technique, which has been shown to dramatically speed up the algorithm's convergence. Benchmarking against the original Fortran version on 14 EEG recordings demonstrated that AMICA-Python achieves comparable numerical precision and is notably faster, especially with the acceleration enabled.

Why it matters

Professionals in fields using advanced signal processing, particularly neuroscience and biomedical engineering, can now leverage a powerful algorithm within a more flexible and widely adopted programming environment. The performance improvements also mean faster analysis and development cycles.

How to implement this in your domain

  1. 1Integrate AMICA-Python into existing Python-based data analysis pipelines for EEG or similar signal processing tasks.
  2. 2Experiment with the Anderson acceleration feature to optimize processing times for large datasets.
  3. 3Develop new research tools or applications leveraging AMICA's capabilities within a modern Python ecosystem.
  4. 4Transition legacy MATLAB-based AMICA workflows to Python for improved maintainability and broader compatibility.

Who benefits

HealthcareAcademiaNeuroscienceBiomedical Engineering

Key takeaways

  • AMICA, a key signal processing algorithm, is now available in Python.
  • The Python implementation offers a scikit-learn-compatible API for easy integration.
  • An optional acceleration scheme significantly speeds up convergence.
  • Numerical precision is maintained, and runtime is competitive with the original Fortran version.

Original post by Scott Huberty, Christian O'Reilly

"arXiv:2607.18568v1 Announce Type: new Abstract: Adaptive Mixture Independent Component Analysis (AMICA) is widely used in EEG research and has long been associated with strong empirical performance for blind source separation. Despite its impact, practical use has historically de…"

View on X

Originally posted by Scott Huberty, Christian O'Reilly on X · view source

Want to go deeper?

Turn these trends into skills with Learnijoy's hands-on AI & tech courses.

Explore courses