Skip to content


Repository files navigation

PyPI version Build Status


Please refer to the project website at We kindly ask you to cite the accompanying article (see below), in case this package should prove useful for some work you are publishing.

Quick install

pip install coroICA

The developer documentation is available at

This repository holds the source of the coroICA package which implements the coroICA algorithm presented in Robustifying Independent Component Analysis by Adjusting for Group-Wise Stationary Noise by N Pfister*, S Weichwald*, P Bühlmann, B Schölkopf.

Furthermore, as a courtesy to other python users, this package contains implementations of

  • uwedge, an approximate matrix joint diagonalisation algorithm described here, and
  • uwedgeICA, which essentially—for the right choice of timelag parameters—amounts to an implementation of several second-order-statistics-based ICA algorithms such as SOBI/NSS-JD/NSS-TD-JD (please refer to the coroICA website and article mentioned above for more details on this),

which may be helpful in their own right independent of the confounding-robust ICA.