Multi-channel resting-state electroencephalogram signal automatic preprocessing system

By developing a multi-channel resting state EEGLAB-based automatic preprocessing system for EEGLAB, the problem of manual operation dependence in the existing technology is solved, and efficient automatic preprocessing of EEG data is realized, which is suitable for large-scale data processing.

CN120030283AInactive Publication Date: 2025-05-23SUN YAT SEN MEMORIAL HOSPITAL SUN YAT SEN UNIV +1
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202510484430.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-17
Publication Date
2025-05-23
Estimated Expiration
Not applicable · inactive patent

AI Technical Summary

Technical Problem

The prior art relies on manual operation in pre-processing of EEG signals, which has problems of subjectivity and low efficiency, making it difficult to meet the processing needs of large-scale data.

Method used

A multi-channel resting state EEGLAB-based automatic pre-processing system is developed to realize a fully automated pre-processing process by automatically loading data, cropping and removing useless electrodes, filtering and downsampling, identifying and processing bad leads and bad segments, performing ICA analysis and identifying and deleting noise components.

Benefits of technology

It improves the efficiency and automation of EEG data processing, ensures the objectivity and unity of data processing, and is suitable for the processing and analysis of large-scale EEG data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120030283A_ABST
    Figure CN120030283A_ABST
Patent Text Reader

Abstract

The invention relates to the field of multi-channel resting-state electroencephalogram signal preprocessing, and provides an EEG data automatic preprocessing system based on EEGLAB, the system completely replaces the processing process of the system on EEG data, a user only needs to operate and load an electroencephalogram file, the system automatically completes subsequent electroencephalogram signal preprocessing and saves file output, and the user experience is improved. The system is high in automation degree, the electroencephalogram processing efficiency can be improved, the objectivity and uniformity of data processing can be guaranteed, and therefore a foundation is laid for building a large language model based on large-scale electroencephalogram data.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention relates to the field of multi-channel resting-state electroencephalogram signal preprocessing. Background Art

[0002] With the advent of the era of artificial intelligence and big data, multi-disease diagnosis models based on big data have become a hot topic in the medical field and an important direction for the future application of artificial intelligence in the medical field. This also means that researchers have an increasing demand for the efficiency of large-scale data processing.

[0003] Electroencephalogram (EEG) is generated by brain nerve activity, reflects the spontaneous potential of the central nervous system, and carries rich information about brain activity. It has important applications in brain research, physiological research, and clinical diagnosis of brain diseases. However, EEG signals are highly non-stationary, random, and nonlinear, and the signal strength is weak. When using professional equipment (usually with multiple channels), EEG signals are easily interfered by electrooculogram (EOG), electromyography (EMG), electrocardiogram (EKG), and high-frequency noise. At the same time, there are also physical artifacts caused by sweating, poor electrode contact, electrode drift, and bad electrodes, which have a significant impact on the extraction and analysis of EEG signals. Therefore, the processing of EEG artifacts and noise signals is an important part of EEG research.

[0004] The basic steps of resting-state EEG preprocessing mainly include: locating channel positions, deleting useless channels, filtering, downsampling, interpolating bad conductors, removing bad segments, re-referencing, and independent component analysis (ICA). At present, the preprocessing of EEG components mainly relies on manual operations. The main reason is that the identification of bad conductors, the removal of bad segments, and the identification of noise components still rely on the subjective experience and judgment of data processing personnel. On the one hand, this leads to the subjectivity and heterogeneity of the preprocessed data, which affects the subsequent analysis results. On the other hand, manual processing is inefficient and difficult to meet the processing of large quantities of data.

[0005] EEGLAB is an open source EEG data processing toolbox used in neuroscience, psychology and other fields. It is mainly used for the preprocessing, analysis and visualization of EEG data. In recent years, EEGLAB has developed some algorithm-based preprocessing modules to improve the efficiency and objectivity of EEG preprocessing. Among them, the Clean Rawdata module judges the quality of lead signals by evaluating the correlation, standard deviation and flat state time of EEG signals. In addition, this module also removes poor quality EEG time segments by identifying burst pulse signals. Its ICLabel module performs multi-label prediction on the EEG components after ICA processing based on a deep learning model, thereby automatically filtering out noise components such as blinking, electromyography, and electrocardiogram. However, the currently disclosed method of implementing EEG data preprocessing through EEGLAB does not fully explain the processing process, and it is unclear whether it is fully implemented with the help of EEGLAB. In addition, the modules in EEGLAB are independent of each other, and there is a lack of automation in processing EEG signals. Summary of the invention

[0006] The object of the present invention is to provide a system for automatic preprocessing of EEG data based on EEGLAB.

[0007] The object of the present invention is achieved through the following technical solution: a multi-channel resting-state EEG signal automatic preprocessing system, which is developed based on EEGLAB and is configured to execute the following process:

[0008] Data loading: upon receiving user instructions, read the EEG file in the specified folder, automatically determine the format of the EEG file, and then automatically call the corresponding loading function in EEGLAB to load the EEG data to be processed into EEGLAB, and assign it to the set variable EEG;

[0009] Electrode localization: ensure the presence of electrode localization information in variable EEG;

[0010] Data trimming and removal of useless electrodes: In order to reduce some current and disturbances before and after the start and end of EEG acquisition, call the function pop_select() in EEGLAB to trim the EEG data in the variable EEG, delete the data of the first n seconds and the last m seconds, and obtain the lead labels of useless electrodes stored in the pre-defined cell (a concept in MATLAB) unusedChannels. Use these labels to find the index of these leads in the EEG data, and then use the function pop_select() to delete the signals of these useless electrodes, and update the processed results to the variable EEG;

[0011] Filtering and downsampling: Call the function pop_eegfiltnew() in EEGLAB to filter the data, call the function pop_resample() in EEGLAB to reduce the sampling rate of the data, and update the processed results to the variable EEG;

[0012] Bad lead identification and interpolation replacement: Call the function pop_clean_rawdata() in EEGLAB to process the data in the variable EEG, identify and delete the bad lead signal, and store the processing result in the set variable cleanEEG. Then, by comparing the channels recorded in cleanEEG and EEG, mark the bad lead information in the set variable badChannels, and then call the spherical method in the function pop_interp() in EEGLAB to interpolate and replace the bad leads. The processed result is updated to the variable EEG.

[0013] Bad segment identification and deletion: Call the function pop_clean_rawdata() in EEGLAB to identify and delete the bad segments in the EEG data in the variable EEG, and update the processed results to the variable EEG;

[0014] Re-reference: Call the function pop_reref() in EEGLAB to perform re-reference, and update the variable EEG after processing;

[0015] ICA analysis and noise component identification and removal: Call the function pop_runica() in EEGLAB to perform ICA analysis on the EEG data using the extended infomax method. After completing the ICA analysis, call the function pop_iclabel() in EEGLAB to classify the EEG data into components, extract the classified labels and the probability of each component belonging to the label, remove the noise components whose predicted probability exceeds the set threshold, and update the variable EEG after processing;

[0016] Save and output: Call the function pop_saveset() in EEGLAB to save the variable EEG to the specified path and file name.

[0017] As a preferred embodiment: when loading data, if the EEG file is in mat format, first load the .mat file, then compare the sizes of the various files in the .mat, and select the largest file to load.

[0018] As a preference, the specific steps of electrode positioning are recommended as follows: first determine whether there is electrode positioning information in the EEG data, if not, call the function pop_chanedit() in EEGLAB to load the positioning file to load the electrode positioning information, and update it to the variable EEG.

[0019] As a preferred method: when performing bad lead identification and interpolation replacement, the number of bad leads and the total number of leads are recorded and then divided to obtain the proportion of bad leads, and the proportion is output to a file for subsequent evaluation of EEG quality.

[0020] Beneficial effects:

[0021] The present invention provides an automatic EEG data preprocessing system based on EEGLAB. The system fully explains its processing process of EEG data. The user only needs to load the EEG file, and the system automatically completes the subsequent preprocessing of EEG signals and saves the file output. The system of the present invention has a high degree of automation, which can not only improve the efficiency of EEG processing, but also ensure the objectivity and uniformity of data processing, thereby laying the foundation for building a large language model based on large-scale EEG data. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 It is a processing flow chart of a preferred embodiment of the multi-channel resting-state EEG signal automatic preprocessing system of the present invention;

[0023] Figure 2 It is the original EEG signal waveform;

[0024] Figure 3 This is the waveform of the EEG signal after filtering;

[0025] Figure 4 This is the waveform of the EEG signal after preprocessing. DETAILED DESCRIPTION

[0026] The present invention aims to provide an automatic EEG data preprocessing system based on EEGLAB, such as Figure 1 As shown, the scheme as a preferred embodiment is as follows:

[0027] A multi-channel resting-state EEG signal automatic preprocessing system, developed based on EEGLAB, is configured to perform the following process:

[0028] 1. Data loading

[0029] When receiving the user's instruction, read the EEG file in the specified folder, automatically determine the format of the EEG file, and then automatically call the corresponding loading function in EEGLAB to load the EEG data to be processed into EEGLAB. For different formats, the recommended functions to be called are as follows:

[0030] ①fdt format: pop_loadset()

[0031] ②vdhr format: pop_loadbv()

[0032] ③mff format: pop_mffimport()

[0033] ④bdf format: pop_biosig()

[0034] ⑤mat format: first load the .mat file, compare the sizes of the files in the .mat, select the largest file (the one that stores the longest EEG data), and load it using pop_importegimat()

[0035] Assign the loaded data to the set variable EEG and proceed to the next step.

[0036] 2. Electrode positioning

[0037] It is recommended to first determine whether the EEG data has electrode positioning information. If so, you can proceed directly to the next step. If not, call the function pop_chanedit() in EEGLAB to load the electrode positioning file to load the electrode positioning information, such as loading the electrode positioning file standard_1005.elc. The loaded electrode positioning information needs to be updated to the variable EEG before proceeding to the next step.

[0038] 3. Data trimming and removal of useless electrodes

[0039] In order to reduce some current and disturbances before and after EEG acquisition, the function pop_select() in EEGLAB is called to trim the data, delete the data of the first 10s and the last 10s, and define a cell as unusedChannels, fill in the lead labels of some useless electrodes such as reference electrodes, and then use these labels to find the index of these leads in the EEG data, and finally use pop_select() to delete the signals of these useless electrodes. After processing, update to EEG and enter the next step.

[0040] 4. Filtering and downsampling

[0041] First, call pop_eegfiltnew() in EEGLAB to perform filtering. During filtering, the upper and lower limits of filtering are determined according to the target frequency band of the user's research needs, and attention is paid to the power frequency interference signal.

[0042] Then, call pop_resample() in EEGLAB to reduce the sampling rate of the data. Reducing the sampling rate can reduce data memory and increase processing speed.

[0043] After processing, update the variable EEG and proceed to the next step.

[0044] 5. Bad conductor identification and interpolation replacement

[0045] The bad lead identification function calls pop_clean_rawdata() in EEGLAB, with the parameter FlatlineCriterion = 5, which means that a flat signal in the channel that lasts for more than 5 seconds is considered a bad lead. LineNoiseCriterion = 4 means that if the ratio of the line noise (i.e., frequency noise) of a channel relative to its signal exceeds the threshold of this standard deviation, the channel signal is considered to have a problem and is marked as abnormal. ChannelCriterion = 0.8 means defining the minimum correlation of the channel. If the correlation between a channel and the data estimated based on other channels is less than this threshold, it will be considered abnormal.

[0046] Because pop_clean_rawdata is used directly, the signals of the identified bad conductors (meeting any of the above three conditions) will be directly deleted from the EEG data, which is what we don’t want to see. This will result in a lot of loss of EEG and related position information.

[0047] Therefore, we choose to store the data after running pop_clean_rawdata() once in the set variable cleanEEG, then obtain all channel labels of cleanEEG and EEG (data without deleting bad leads), find the index of the channels (good channels) in cleanEEG in EEG, and finally mark the bad leads in the set variable badChannels. Bad leads are leads that exist in EEG but not in cleanEEG. Then call the spherical method in the EEGLAB function pop_interp() to interpolate and replace the bad leads.

[0048] At the same time, the system also records the number of bad leads length (badChannels), divides it by the total number of leads length (allChannels), obtains the proportion of bad leads, and outputs it to a txt file for subsequent evaluation of EEG quality.

[0049] After processing, it is updated to the EEG and proceeds to the next step.

[0050] 6. Bad segment identification and deletion

[0051] Call the function pop_clean_rawdata() in EEGLAB to identify and delete bad segments in the EEG data in the variable EEG.

[0052] The quality of the lead signal is judged based on the correlation, standard deviation and flat state time of the EEG electrode signal. The EEG time segments with poor quality are deleted by identifying the burst signal. The parameters used are BurstCriterion = 20, standard deviation threshold. If the variance of the data part is greater than the threshold, the system considers that the data contains artifacts and deletes them.

[0053] After processing, the results are updated to the EEG and proceed to the next step.

[0054] 7. Re-reference

[0055] Call the function pop_reref() in EEGLAB to perform re-reference, update the variable EEG after processing, and proceed to the next step. It is recommended to select full average reference for re-reference, and other reference methods can also be used.

[0056] 8. ICA analysis and noise component identification and removal

[0057] Call the function pop_runica() in EEGLAB to perform ICA analysis on the EEG data using the extended infomax method, with the parameters set to extended = 1, rndreset = yes. Also set a screening threshold [0 1] (depending on the requirements).

[0058] After completing the ICA analysis, call the function pop_iclabel() in EEGLAB to classify the EEG data into components, extract the classification labels and the probability of each component belonging to the label. The system will traverse all components, and for each component, first anchor the category labels belonging to the noise components in all output categories, such as 'Eye', 'Muscle', 'Heart', 'LineNoise', 'Channel Noise'. Then, the system will determine whether the predicted probability of these labels is greater than the screening threshold set in advance. If the label of a noise component is greater than this threshold, it is considered that the component belongs to this category of noise components, and the index of this component is marked and deleted.

[0059] After processing, it is updated to EEG and proceeds to the next step.

[0060] 9. Save and export

[0061] Call the pop_saveset() function in EEGLAB to save the EEG to the specified path and file name.

[0062] Figures 2 to 4 The processing effect changes of the system in this embodiment are shown, wherein: Figure 2 The original EEG signal is shown. Figure 3 The displayed signal is the EEG signal after filtering. Figure 4 The displayed image shows the EEG signal after preprocessing.

[0063] The above system of the present invention fully explains its preprocessing process of EEG data. The user only needs to load the EEG file, and the system will automatically complete the subsequent preprocessing of EEG signals and save the file output, with a high degree of automation.

[0064] It can be seen from the above that the use of the system of this embodiment can not only improve the efficiency of EEG processing, but also ensure the objectivity and uniformity of data processing, thereby laying the foundation for building a large language model based on large-scale EEG data.

[0065] In addition, the system of this embodiment can record and output the bad conductor ratio of each data in real time through statistics and calculation of the number of bad conductors, which can be used as a reference for EEG quality assessment later.

Claims

1. A multi-channel resting-state EEG signal automatic preprocessing system, characterized in that: It is developed based on EEGLAB and is configured to execute the following process: Data loading: upon receiving user instructions, read the EEG file in the specified folder, automatically determine the format of the EEG file, and then automatically call the corresponding loading function in EEGLAB to load the EEG data to be processed into EEGLAB, and assign it to the set variable EEG; Electrode localization: ensure the presence of electrode localization information in variable EEG; Data trimming and removal of useless electrodes: In order to reduce some current and disturbances before and after the start and end of EEG acquisition, the function pop_select() in EEGLAB is called to trim the EEG data in the variable EEG, delete the data of the first n seconds and the last m seconds, and obtain the lead labels of useless electrodes stored in the pre-defined cell unusedChannels. These labels are used to find the indexes of these leads in the EEG data, and then the signals of these useless electrodes are deleted through the function pop_select(), and the processed results are updated to the variable EEG; Filtering and downsampling: Call the function pop_eegfiltnew() in EEGLAB to filter the data, call the function pop_resample() in EEGLAB to reduce the sampling rate of the data, and update the processed results to the variable EEG; Bad lead identification and interpolation replacement: Call the function pop_clean_rawdata() in EEGLAB to process the data in the variable EEG, identify and delete the bad lead signal, and store the processing result in the set variable cleanEEG. Then, by comparing the channels recorded in cleanEEG and EEG, mark the bad lead information in the set variable badChannels, and then call the spherical method in the function pop_interp() in EEGLAB to interpolate and replace the bad leads. The processed result is updated to the variable EEG. Bad segment identification and deletion: Call the function pop_clean_rawdata() in EEGLAB to identify and delete the bad segments in the EEG data in the variable EEG, and update the processed results to the variable EEG; Re-reference: Call the function pop_reref() in EEGLAB to perform re-reference, and update the variable EEG after processing; ICA analysis and noise component identification and removal: Call the function pop_runica() in EEGLAB to perform ICA analysis on the EEG data using the extendedinfomax method. After completing the ICA analysis, call the function pop_iclabel() in EEGLAB to classify the EEG data into components, extract the classified labels and the probability of each component belonging to the label, remove the noise components whose predicted probability exceeds the set threshold, and update the variable EEG after processing; Save and output: Call the function pop_saveset() in EEGLAB to save the variable EEG to the specified path and file name.

2. The automatic pretreatment system according to claim 1, characterized in that: When loading data, if the EEG file is in mat format, first load the .mat file, then compare the sizes of the various files in the .mat, and select the largest file to load.

3. The automatic pretreatment system according to claim 1, characterized in that: The specific steps of electrode positioning are as follows: first determine whether there is electrode positioning information in the EEG data. If not, call the function pop_chanedit() in EEGLAB to load the positioning file to load the electrode positioning information and update it to the variable EEG.

4. The automatic pretreatment system according to claim 1, characterized in that: When performing bad lead identification and interpolation replacement, the number of bad leads and the total number of leads are recorded at the same time and then divided to obtain the proportion of bad leads and output it to the file.

Citation Information

Patent Citations

  • Automatic detection method for epilepsy electroencephalography (EEG) / magnetoencephalography (MEG) abnormal waves and positioning system

    CN112220485A

  • Cerebral apoplexy rehabilitation system brain-computer interface software key technology method based on deep learning

    CN113128384A

  • Multi-modal emotion recognition method and system based on video-smell combined induction

    CN116894206A

  • Electroencephalogram signal nonlinear analysis method and system

    CN118245904A

  • Method for realizing a multi-channel convolutional recurrent neural network EEG emotion recognition model using transfer learning

    US20230039900A1