Jump to: navigation, search
ICLabel results shown using the Viewprops plugin.

EEGLAB plug-in for automatic independent component (IC) classifcation.


ICLabel Project

The ICLabel project's goal is to develop an EEG IC classifier which is reliable and accurate enough to use in large-scale studies in place of manual component selection or the 15% residual variance rule-of-thumb. The current classifier implementation is trained on thousands of labeled ICs and hundreds of thousands of unlabeled ICs. For more information on the ICLabel project, please visit http://labeling.ucsd.edu/tutorial/about. There you can also find a tutorial on how to label components yourself, labeling practice with feedback from prior labels othes have made, and a way to contribute to the ICLabel project by submitting more labels to the ICLabel database.



If you do not have ICLabel installed, install it through the EEGLAB plug-in manager. You can find this in the EEGLAB window under "File"->"Manage EEGLAB extensions"->"Data processing extensions". Once the new window opens, look through the list of plug-ins until you find the "ICLabel" plug-in and mark its checkbox on the left in the column labeled "Install". You will likely have to use the "Next page" button to progress through the list of plug-ins to find ICLabel. I suggest also downloading the Viewprops plug-in from this window for visualization purposes. Click "Ok" to download the selected plug-ins. You only have to do this once.

Graphical Usage

ICLabel in EEGLAB's "Tools" menu.

Once you finish installing ICLabel, of if you already have it installed, you need to load your EEG dataset. To run ICLabel, your dataset must already have been decomposed using independent component analysis.

With your dataset loaded, start ICLabel using the EEGLAB window by clicking on "Tools"->"ICLabel". You will see progress notes displayed on MATLAB's command window as ICLabel's pipeline progresses. When ICLabel finishes, it will display "Done" on MATLAB's command window and the Viewprops plug-in will open if available. If you do not have "Viewprops" installed, then nothing else will appear on the screen.

Command-line Usage

Assuming you have stored your ICA-decomposed EEG dataset in the variable EEG, you can use ICLabel by entering the following into MATLAB's command window:

EEG = iclabel(EEG)

Finding Results

Either way you use ICLabel, from the EEGLAB window or MATLAB's command window, the IC classification information is saved to the EEG structure in the matrix:

The labels are stored as a matrix in which each row is a label vector for the corresponding IC. A label vector is a row of seven numbers, summing to one, which represent the probabilities that an IC being in any of the seven ICLabel IC categories. For example, to find the label vector for the fifth IC, reference the fifth row of the matrix:

EEG.etc.ic_classification.ICLabel.classifications(5, :)

You can also find the class labels in the cell array of strings:


Each element of the cell array of strings indicates the category of the corresponding element in the label vectors. For example, to find the category of the third element in the label vector:


You will find the category is "eye."

Viewprops plug-in

The ICLabel plugin offers no built-in plotting or visualization; therefore, it is highly suggested that you also install the Viewprops plug-in. It will produce figures like the one shown at the top of this article. See the Installation section for directions on how to acquire the Viewprops plug-in and see its wiki page for information on how to use it.