Data decomposition using Independent Component Analysis (ICA). This object estimates independent components from :class:`mne.io.Raw`, :class:`mne.Epochs`, or :class:`mne.Evoked` objects. Components can optionally be removed (for artifact repair) prior to signal reconstruction. .. w
| 198 | |
| 199 | @fill_doc |
| 200 | class ICA(ContainsMixin): |
| 201 | """Data decomposition using Independent Component Analysis (ICA). |
| 202 | |
| 203 | This object estimates independent components from :class:`mne.io.Raw`, |
| 204 | :class:`mne.Epochs`, or :class:`mne.Evoked` objects. Components can |
| 205 | optionally be removed (for artifact repair) prior to signal reconstruction. |
| 206 | |
| 207 | .. warning:: ICA is sensitive to low-frequency drifts and therefore |
| 208 | requires the data to be high-pass filtered prior to fitting. |
| 209 | Typically, a cutoff frequency of 1 Hz is recommended. |
| 210 | |
| 211 | Parameters |
| 212 | ---------- |
| 213 | n_components : int | float | None |
| 214 | Number of principal components (from the pre-whitening PCA step) that |
| 215 | are passed to the ICA algorithm during fitting: |
| 216 | |
| 217 | - :class:`int` |
| 218 | Must be greater than 1 and less than or equal to the number of |
| 219 | channels. |
| 220 | - :class:`float` between 0 and 1 (exclusive) |
| 221 | Will select the smallest number of components required to explain |
| 222 | the cumulative variance of the data greater than ``n_components``. |
| 223 | Consider this hypothetical example: we have 3 components, the first |
| 224 | explaining 70%%, the second 20%%, and the third the remaining 10%% |
| 225 | of the variance. Passing 0.8 here (corresponding to 80%% of |
| 226 | explained variance) would yield the first two components, |
| 227 | explaining 90%% of the variance: only by using both components the |
| 228 | requested threshold of 80%% explained variance can be exceeded. The |
| 229 | third component, on the other hand, would be excluded. |
| 230 | - ``None`` |
| 231 | ``0.999999`` will be used. This is done to avoid numerical |
| 232 | stability problems when whitening, particularly when working with |
| 233 | rank-deficient data. |
| 234 | |
| 235 | Defaults to ``None``. The actual number used when executing the |
| 236 | :meth:`ICA.fit` method will be stored in the attribute |
| 237 | ``n_components_`` (note the trailing underscore). |
| 238 | |
| 239 | .. versionchanged:: 0.22 |
| 240 | For a :class:`python:float`, the number of components will account |
| 241 | for *greater than* the given variance level instead of *less than or |
| 242 | equal to* it. The default (None) will also take into account the |
| 243 | rank deficiency of the data. |
| 244 | noise_cov : None | instance of Covariance |
| 245 | Noise covariance used for pre-whitening. If None (default), channels |
| 246 | are scaled to unit variance ("z-standardized") as a group by channel |
| 247 | type prior to the whitening by PCA. |
| 248 | %(random_state)s |
| 249 | method : 'fastica' | 'infomax' | 'picard' |
| 250 | The ICA method to use in the fit method. Use the ``fit_params`` argument |
| 251 | to set additional parameters. Specifically, if you want Extended |
| 252 | Infomax, set ``method='infomax'`` and ``fit_params=dict(extended=True)`` |
| 253 | (this also works for ``method='picard'``). Defaults to ``'fastica'``. |
| 254 | For reference, see :footcite:`Hyvarinen1999,BellSejnowski1995,LeeEtAl1999,AblinEtAl2018`. |
| 255 | fit_params : dict | None |
| 256 | Additional parameters passed to the ICA estimator as specified by |
| 257 | ``method``. Allowed entries are determined by the various algorithm |
no outgoing calls