Description
The ICA plugin will apply differents algorithms to extract independent components from the signals.
The default and most used algorithm in EEG/MEG is infomax.
Two extras algorithm have been added, CCA and SOBI that seem to work better on EEG signals.
This plugin can be run using the command line.
Running the process
Select algorithm
Currently only two algorithms are available: infomax and sobi.
Note that depending on the selected algorithm the Extra parameters section of the GUI may vary.
Filter the data (or not)
You may apply high pass/low pass filters on data.
If the values are set to zeros, a warning message will appear requesting a confirmation that you will process on raw data.
The Decimate Data is off by default. Check it on to speed up computation by removing some data points.
Select the channels
You can process ICA on raw channels present on the current data file OR choose to compute only on channels present in the current Montage.
If you process SEEG data you can also restrict the computation to a particular SEEG Electrode.
Avoid artefacts and/or compute only on some part of the data
If the current file contains markers, you will see a Data Input Options appears in the GUI:
You may use the options to avoid marked artefacted data and or restrict the computation on some marked parts of data.
Ignore bad channels
That is the default behavior. If bad channels had been marked previously, they will be ignored during the computation.
Number of components
By default the maximum of components will be extracted from the data.
You can however reduce the dimensions of the data (using a PCA) to get less components.
Output
If you are currently working on data stored in a BIDS the output MATLAB file will be stored in the derivatives folder of your BIDS.
If you are not working with BIDS the output MATLAB file will be generated in the current data file folder.
The file name is BIDS alike providing useful information just by reading it.
MATLAB file description
If you develop your own ICA algorithm in MATLAB, you can create a compatible file to load with AnyWave to see the components time series.
To do so you must create a file like the one AnyWave generates.
variable name | type | description/values |
---|---|---|
modality | string | MEG, EEG, SEEG |
hpf | double | high pass filter used or 0. |
lpf | double | low pass filter used or 0. |
sr | double | data sampling rate in Hz. |
labels | cell array of strings | labels of electrodes |
mixing | matrix (m x ic) | used to reject component(s) and rebuild the signals |
unmixing | matrix (ic x m) | used to generate components time series |
m = number of channels.
ic = number of independent components.
IMPORTANT: labels must contains the electrodes used to compute. AnyWave will unmix those channels to get the ICA time series.
NOTE: the order of the labels must match the columns of matrix mixing.
The labels must exit in the data file (the names must match otherwise AnyWave will not be able to compute the time series by unmixing the original signals).
Each column of mixing is a component mapping for an electrode. The columns are used to compute components mappings.