Automatic EEG Independent Component Classification Using ICLabel in Python

Arnaud Delorme,Dung Truong,Luca Pion-Tonachini,Scott Makeig
2024-11-21
Abstract:ICLabel is an important plug-in function in EEGLAB, the most widely used software for EEG data processing. A powerful approach to automated processing of EEG data involves decomposing the data by Independent Component Analysis (ICA) and then classifying the resulting independent components (ICs) using ICLabel. While EEGLAB pipelines support high-performance computing (HPC) platforms running the open-source Octave interpreter, the ICLabel plug-in is incompatible with Octave because of its specialized neural network architecture. To enhance cross-platform compatibility, we developed a Python version of ICLabel that uses standard EEGLAB data structures. We compared ICLabel MATLAB and Python implementations to data from 14 subjects. ICLabel returns the likelihood of classification in 7 classes of components for each ICA component. The returned IC classifications were virtually identical between Python and MATLAB, with differences in classification percentage below 0.001%.
Signal Processing,Machine Learning,Neurons and Cognition
What problem does this paper attempt to address?
The main problem that this paper attempts to solve is to improve the compatibility of the ICLabel plugin on different computing platforms, especially to make it run in the Python environment, thereby expanding its application on high - performance computing (HPC) platforms. Specifically, the goals of the paper include: 1. **Develop a Python - version ICLabel**: In order to solve the limitations of the ICLabel plugin in the MATLAB environment, especially the problem that it cannot be used on HPC platforms without a MATLAB license, the author has developed a Python - version ICLabel. 2. **Ensure classification consistency**: By comparing the Python - version ICLabel with the original MATLAB version, ensure that the results of the two in independent component classification are highly consistent. ICLabel is used to classify the independent components (ICs) of EEG data into seven categories: brain signals, eye movements, muscle activities, electrocardiogram signals, line noise, single - channel signals and other signals. 3. **Verify and publish**: Provide a strictly verified Python - version ICLabel and support its accuracy and reliability through peer - reviewed articles. This step is crucial for ensuring the credibility of the new tool in the scientific community. ### Main problem summary: - **Cross - platform compatibility**: The existing ICLabel plugin can only run in the MATLAB environment, which limits its application in research that requires high - performance computing resources but lacks a MATLAB license. - **Classification consistency**: Ensure that the Python - version ICLabel can produce almost the same results as the MATLAB version when processing EEG data, so as to ensure the reliability and consistency of research results. - **Tool verification and promotion**: Develop and verify a Python - version ICLabel for more extensive application in the scientific research community, especially for researchers who process EEG data in the Python environment. Through these improvements, researchers can efficiently process and analyze EEG data on more platforms and promote the progress of electrophysiological research.