GithubHelp home page GithubHelp logo

sccn / eeglab Goto Github PK

View Code? Open in Web Editor NEW
536.0 27.0 237.0 91.26 MB

EEGLAB is an open source signal processing environment for electrophysiological signals running on Matlab and developed at the SCCN/UCSD

Home Page: https://eeglab.ucsd.edu/

MATLAB 99.94% Shell 0.01% Batchfile 0.01% Objective-C 0.01% Scala 0.06%
eeglab eeg brain electrophysiology eeg-preprocessing eeg-signals-processing biosignal ecg ecog eda

eeglab's Introduction

GitHub issues Twitter Follow

What is EEGLAB?

EEGLAB is an open source signal processing environment for electrophysiological signals running on Matlab and Octave (command line only for Octave). This folder contains original Matlab functions from the EEGLAB (formerly ICA/EEG) Matlab toolbox, all released under the Gnu public license (see eeglablicence.txt). See the EEGLAB tutorial and reference paper (URLs given below) for more information.

Installing/cloning

Recommended: Download the official EEGLAB release from https://sccn.ucsd.edu/eeglab/download.php

Do not download a ZIP file directly from GIT as it will not contain EEGLAB submodules. Instead clone the reposity while pulling EEGLAB sub-modules.

git clone --recurse-submodules https://github.com/sccn/eeglab.git

If you forgot to clone the submodule, go to the eeglab folder and type

git submodule update --init --recursive --remote
git pull --recurse-submodules

Sub-directories:

  • /functions - All distributed EEGLAB functions (admin, sigproc, pop, misc)
  • /plugins - Directory to place all downloaded EEGLAB plug-ins. dipfit (1.0) is present by default
  • /sample_data - Miscellaneous EEGLAB data using in tutorials and references
  • /sample_locs - Miscellaneous standard channel location files (10-10, 10-20). See the EEGLAB web site http://sccn.ucsd.edu/eeglab/ for more.

To use EEGLAB:

  1. Start Matlab

  2. Use Matlab to navigate to the folder containing EEGLAB

  3. Type "eeglab" at the Matlab command prompt ">>" and press enter

  4. Open the main EEGLAB tutorial page (http://sccn.ucsd.edu/wiki/EEGLAB_Wiki)

  5. Please send feedback and suggestions to: [email protected]

In publications, please reference:

Delorme, A., & Makeig, S. (2004). EEGLAB: an open source toolbox for analysis of single-trial EEG dynamics including independent component analysis. Journal of neuroscience methods, 134(1), 9-21. (See article here)

Compiled version of EEGLAB

If you experience problems, try running EEGLAB as administrator.

Documentation:

EEGLAB documentation is available on the EEGLAB wiki (see http://sccn.ucsd.edu/wiki/EEGLAB_Wiki for more details).

eeglab's People

Contributors

allenbgruber avatar aminalam avatar amisepa avatar arnevdk avatar arnodelorme avatar behinger avatar bigdelys avatar bknakker avatar cll008 avatar cpernet avatar dellabellagabriel avatar dimitripapadopoulos avatar dpsarma avatar dungscout96 avatar jimatbrock avatar jiversen avatar lixiaomin328 avatar lucapton avatar neuromechanist avatar nirofir avatar nucleuscub avatar rgougelet avatar robertoostenveld avatar sccn-eeglab avatar sjeung avatar smakeig avatar tfernsle avatar tstenner avatar w222chen avatar widmann avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eeglab's Issues

Event codes error when imported as ASCII.

My EEG experiment is to show a visual stimulus to the subject. The subject do not need to give any response. They just need to look at the visual stimulus.
Stimulus:
A 'red' object displayed in random position on screen for time = 1, 2, 3, 5, 6, 8, 9, 11, 13, 14, 16, 17, 18 and 20 seconds -> Standard.
A 'Blue' object displayed in random position on screen for time = 4, 7, 10, 12, 15 and 19 -> Rare
The object changes to blue 6 times in the 20 seconds experiment.
Event codes: I have created one separate file for the events. I have attached it below (March13_Trial4_eventocdes.txt'). It contains 'Type' 'Latency' and 'Duration'.
After applying 'Create EEG Eventlist', I get this output of EVENTLIST attached as (March14_Trial1_elist.txt), which is very confusing because all the ecode value is -88 making me unable to create bin descriptor for further process. Where did I go wrong ?

March14_Trial1_elist.txt
March13_Trial4_eventcodes.txt

Manage plugin error

I've just attempted to open the manage extension from the EEGLAB (v2019.0) dropdown menu (File > Manage EEGLAB extensions) and it's throwing an error:
"EEGLAB error in function plugin_menu() at line 39:

Struct contents reference from a non-struct array object."

The following was printed to the MATLAB command window:
"Retreiving plugins with extensions...
Retreiving download statistics..."

Then there's the popup - attached
Screen Shot 2019-06-05 at 8 48 57 am

Having a look in the plugin_menu function, the 'plugin' structure variable created on line 36 doesn't have a '.downloads' field.

I'm running MATLAB 9.2.0.556344 (R2017a) on a Mac 10.12.6, and would like to be able to use the 'loadcurry' extension.

Happy to help if here's anything I can do.

can't read .mff EEG with no events (resting EEG)

Description

EEGlab cannot import resting EEG (no events) files in .mff format
Error message:
"EEGLAB error in function pop_mffimport() at line 88:
Not enough input arguments."


#### Steps to Reproduce
  1. Open EEGLab
  2. File - Import Data - Using EEGLab functions and plugins - Import Philips .mff file
  3. Navigate to the location of the Philips/EGI .mff recording and open it.

#### Expected behavior: Import the data file.
#### Actual behavior: The importing process starts, correctly detects file duration, montage configuration, and then stops after detecting no events in the data file.
#### Versions
OS version Mac OS 10.14
Matlab version 2019a
EEGLAB version 2019

screen flashes when selecting data during channel scroll

In Matlab 2018b, eeglab version 14.1.2, when viewing data with plot->channel scroll, the screen flashes whenever any data is selected with the mouse. it flashes once on first mouse click, then constantly while selecting data, and once more when the mouse button is released. This does not seem to affect functionality (the selected data can is apparently rejected fine), but it is more difficult to select data and is tough on the eyes.

Thanks for any help with this!

Plugin Update fails (new plugin manager)

Hi Arno,

I am getting around to trying the new plugin manager--it's really nice!

When attempting to update a plugin, I get an error in plugin_menu line 172 that function plugin_deactivate is undefined. I'm using the most recent eeglab version from git.

FYI. I see that this function was deleted in commit#

commit 10279decccae1bd387f180e7348fde4fd61e9e40
Author: arno <[email protected]>
Date:   Wed Apr 3 09:24:02 2019 -0700

    More changes before change in license

:100644 000000 98a69f62d... 000000000... D	functions/adminfunc/plugin_convert.m
:100644 000000 e8805416c... 000000000... D	functions/adminfunc/plugin_deactivate.m
:100644 000000 d4e1cf36c... 000000000... D	functions/adminfunc/plugin_managedeactivated.m
:100644 000000 d7dc3ac88... 000000000... D	functions/adminfunc/plugin_reactivate.m

Best,

John

pop_rejepoch.m: incorrectly calls pop_select if all trials are rejected

Using EEGLAB 14.1.2b, to reject specific trials, if all trials are marked for rejection, only 1 trial is removed. Searching on this issue brought up this older issue, which I think is similar: https://sccn.ucsd.edu/bugzilla/show_bug.cgi?id=832. I get the same results now using EEGLAB v2019.0 with MATLAB R2018a as described there when I run the code in Comment 5 on the epoched tutorial data:
EEG = pop_eegthresh(EEG,1,[1:32],-1,1,-1,1.9922,0,1);
It results in all 80 trials being marked for rejection, but only 1 trial being removed.

Thanks!

EEGLAB EDF+ annotations not properly loaded

Description

Hi

[For some reason when I import my .edf file to EEGLAB my annotations are all named 1. The file is able to be viewed perfectly with Polyman, all of the annotations load as named. However when I open it in EEGLAB, the annotations all are named 1, which means I cannot separate the data into individual sleep cycles. If anyone knows how to solve this problem, it would be greatly appreciated.]

Sample File: https://drive.google.com/open?id=1O_UCN6RLUYsvV1KZK-hcYhJPb2C69YwO

image

[As seen in image, the red annotations are all named 1]


#### Steps to Reproduce
  1. [Import file to EEGLAB]
  2. [Plot Data]

#### Expected behavior: [*Annotations to load as named*]
#### Actual behavior: [*Annotations load as 1*]
#### Versions

| Matlab version |[* R2019a*] |

Can't import bdf files in EEGLAB

To whoever can help,

I'm having issues importing BDF files using biosig in EEGLAB and I've never had this problem before. I have the latest versions of both Matlab and EEGLAB. Here are the steps that I am following and the errors I'm getting:

File > Import data > Using the BIOSIG interface > [select file]. Then a window asking to specify the channel list, start, and duration appears:
file-1

I've never seen this window before when importing data. 1) why is this new window appearing now, and what am I supposed to input? 2) No matter what I seem to input, I get the following error:
file1-1

Can someone please help me figure this out? It's probably really simple and I apologize in advance for my ignorance.

EEGLAB error in function pop_writeeeg()

Hi all,

I got this error when I tried to export my data in .edf . I tried to install the neuroscanio plugin, it didn't work.


  1. Open an EEG (epoched)
  2. File->export->data to EDF/etc
  3. This dataset contains epochs. Do you want to export the concatenated data epochs? YES (If NO, it doesn't do anything)

It give me the error:
EEGLAB error in function pop_writeeeg()


#### Actual behavior: [*What actually happened*]
OS version windows 10
Matlab version [R2018b]
EEGLAB version v2019.0

Error for plot ERSPs when no varialbles are selected in the study design

Hello,

When no variable selected in the study design I cannot plot my ERSPs, while I have no problem with EEGALAB 14. When I updated to 2019 version I have this problem.
the error is: EEGLAB error in function std_erspplot() at line 210:
I would be so thankful if you could solve it.

Best,
Hamed

Down-sampling antialiasing filter in pop_resample() still creates high-frequency noise as in bug 1757

Description

It seems that the anti-aliasing filter in the new pop_resample() still creates high-frequency noise in down-sampled data as reported in bug 1757. This happens for both sigproc version and nonsigproc version.
image
image

Please let me know if I am wrong and misunderstand something.


#### Steps to Reproduce
EEG = eeg_emptyset;
EEG.times = 1:1000;
EEG.data = sin(2 * pi * 260 * (0:0.001:0.999));
EEG.srate = 1000;
EEG.nbchan = 1;
EEG.trials = 1;
EEG.pnts = 1000;
TMP = pop_resample(EEG, 512);
z = abs(fft(TMP.data));

figure('Color','w');
plot(EEG.times,EEG.data);
hold on;
plot(TMP.times,TMP.data);
xlabel('Time point');
ylabel('Signal');
ylim([-1.5,1.5]);
legend({'Original Signal','Downsampled Signal'},'box','off','Location','best');

figure('Color','w');
plot(linspace(0, 256, 257), 20 * log10(z(1:257) * 2 / 512));
xlabel('Frequency (Hz)');
ylabel('Amplitude Spectrum of Downsampled Signal (dB)');

#### Expected behavior:

No high-frequency noise injection at the highest frequency edge of the resampled data.


#### Actual behavior:

There is still high-frequency noise injection at the highest frequency edge of the resampled data.


#### Versions
OS version Windows 10 1809
Matlab version R2019a
EEGLAB version 2019_0

STUDY statistics zoom

In the study statistics visualization options, I plotted ERPs indicating regions of significance. When I zoom in the ERPs plot, the regions of significance plot doesn't zoom in, and, accordingly, the temporal axis remains constant, and this could lead to wrong interpretations.

EEGLAB won't open - maximum recursion error

Running Matlab 2018a and EEGLab v 14_1_2b. It used to work fine but now won't open. The error I get is that it cannot access the local eeg_options file and maximum recursion limit of 500 reached. I've uninstalled and re-installed both Matlab and EEGLab with the same result. Thoughts?

image (1)

[Description of the bug or feature
Attach a link to Dropbox or Google Drive with screenshots and your data if possible.
]
image


#### Steps to Reproduce
  1. [First Step]
  2. [Second Step]
  3. [and so on...]

#### Expected behavior: [*What you expected to happen*]
#### Actual behavior: [*What actually happened*]
#### Versions
OS version [fill in]
Matlab version [fill in]
EEGLAB version [fill in]

Error while managing plugins

Description

I was not able to load .mat files, I tried to manage the extensions in order to get more file extensions to load. I'm using the latest version, just cloned from git, and also I've just included the sub-modules

Steps to Reproduce

  1. Start EEGLab
  2. Manage EEGLab extensions
  3. The error message pop-up: EEGLAB error in function plugin_menu()at line 41: attempts to reference field of non-structure arrays

#### Expected behavior:
#### Actual behavior: Error pop-up window appeard
#### Versions
OS version Linux 5.1.15-arch1-1-ARCH
Matlab version 2014b
EEGLAB version

Channel spectra and maps bao

Description

[Description of the bug or feature
Attach a link to Dropbox or Google Drive with screenshots and your data if possible.
]


#### Steps to Reproduce
  1. [First Step]
  2. [Second Step]
  3. [and so on...]

#### Expected behavior: [*What you expected to happen*]
#### Actual behavior: [*What actually happened*]
#### Versions
image

| OS version | [fill in] |
| Matlab version | [fill in] |
| EEGLAB version | [fill in] |
image
这一步出现以下错误
image

wrong number of arguments error while using GUI

Description

An issue just this last week started happening. I open EEGLAB in matlab as normal simply typing 'eeglab' on the command line. Then I try to open an ongoing study using the GUI and I get the following error message:
Screen Shot 2019-08-06 at 9 13 35 PM

This happens on both my laptop (Macbook Air 13", 2017 running Mojave) and my iMac (21.5inch, 2010 running Sierra). It started while using MATLAB 2017b (iMac) but also started occurring on MATLAB 2019a. I temporarily fixed the issue last week by uninstalling MATLAB on both machines and reinstalling the newest version. Then it began occurring again (oddly enough much later on the Mac Air). I am running EEGLAB v2019.0 on both machines.

Note that I run EEGLAB and all associated scripts/plugins using a dropbox account such that all scripts are synced across machines. I tried pulling the EEGLAB directory on to one of the machine's desktop and received the same error.

Weirdly as well, when I close MATLAB I see this pop up.
Screen Shot 2019-08-06 at 9 14 39 PM

Any thoughts?

Thanks,
Paul

std_spec spectopo using 1 trial

since it is currently impossible to create new accounts on BugZilla, I am reporting here an error in the std_spec function related to the application of “log trials” when using the “PSD” algorithm.

This error has already been reported here:
https://sccn.ucsd.edu/pipermail/eeglablist/2016/011614.html

As of EEGLab 14.1.2b the error has yet not been fixed:

The problem arise at lines 266-267 in std_spec:
[XX(:,:,iTrial), f] = spectopo(X(:,:,iTrial), size(X,2), EEG(1).srate, 'plot', 'off', 'boundaries', boundaries, 'nfft', g.nfft, spec_opt{:});
if iTrial == 1, XX(:,:,size(X,3)) = 0; end;

If there is only one trial, the output of spectopo “XX” will only contain two dimensions (and not three).
Hence, “XX(:,:,size(X,3)) = 0 “ actually remove all data.

You should then consider replacing the second line by:
if iTrial == 1, squeeze(XX); end; % XX(:,:,size(X,3)) = 0;

If by any reason the XX matrix is three dimensional, with last dimension size = 1, squeeze will remove that extra dimension.

Low threshold in std_findsameica causes false values in STUDY.cluster

Description

Problem already reported before (https://sccn.ucsd.edu/bugzilla/show_bug.cgi?id=1464) still affects the STUDY structure. std_editset, std_checkset, and std_createcluster use std_findsameica(ALLEEG) with the default threshold, which creates NaNs in STUDY.setind and leads to false values in STUDY.cluster.sets and STUDY.cluster.comps. A clear warning message would be useful (for example: check if the ICs within subjects are consistent across conditions; if so, increase the default threshold in std_findsameica?).


### Steps to Reproduce
  1. Create study using std_editset
  2. std_checkset(STUDY, ALLEEG)
  3. size(STUDY.setind)


### Expected behavior: For 25 subjects and 2 conditions, size(STUDY.setind) should be: 2 25 STUDY.cluster.comps should have 1510 components.

### Actual behavior: The size of STUDY.setind in my case is 2 29 when the threshold of std_findsameica is not adjusted inside std_checkset and std_editset. STUDY.cluster.comps has more than 1700 components.

### Versions
OS version [Mojave (10.14.5)]
Matlab version [2019a]
EEGLAB version [eeglab14_1_0b but I glanced over the 2019 version and the issue is likely to be still present there, too]

Extract epochs function ignores the first epoch

Hi,

Description

I want to process artifacts in a 1 second window and therefore, I create temporary epochs using eeg_regepoch function:
EEG = eeg_regepochs(EEG,'eventtype', 'temp', 'extractepochs', 'on', 'recurrence', 1, 'limits', [0 1]);
I find that, by doing so, I miss the first epoch (500 latency points as my Fs = 500 Hz) in the outcome.

Screenshots: https://drive.google.com/drive/folders/1poMQwW_M-uhVyeDmxLNanPEoXfs51Ee7?usp=sharing

Related bug report in the past: https://sccn.ucsd.edu/pipermail/eeglablist/2017/012607.html


#### Steps to Reproduce
  1. Load the continuous eeg data

  2. Plot the data and leave the figure open (to later compare)

  3. Run the function in the command line
    EEG = eeg_regepochs(EEG,'eventtype', 'temp', 'extractepochs', 'on', 'recurrence', 1, 'limits', [0 1]);

  4. Plot the data again and compare this figure with (2).

  5. Instead of (3), if I run this function,
    EEG = eeg_regepochs(EEG,'eventtype', 'temp', 'extractepochs', 'on', 'recurrence', 1, 'limits', [0.002 1]);
    I get the expected behavior.
    Note: 0.002 indicates the latency of my first event in the data.


#### Expected behavior: I expect, if I have, let's say [0-40] seconds of data, I get 40 epochs of 1 second each.
#### Actual behavior: Instead, I get 39 epochs
#### Versions
OS version Windows 10
Matlab version R2018b
EEGLAB version EEG development head

Kindly close this bug if this is the intended functionality. Thanks!

Can't switch from script to GUI - Error while evaluating UIControl Callback.

If I go back to the GUI and perform GUI operations, an error rises if I push a button.

Whenever I try to go back to the GUI, after performing script operations on the dataset, I can't push buttons in dialogue boxes, as the following error shows up:

Unable to use a value of type 'matlab.ui.control.UIControl' as an index.

Error using inputgui (line 218)
Error while evaluating UIControl Callback.


#### Example (I'll shorthand something to make it lighter)
  1. [ALLEEG, EEG, CURRENTSET, ALLCOM] = eeglab;
    EEG = pop_loadbv(rootfold, sprintf('MMM_000%i.vhdr',set));
    pop_newset(ALLEEG, EEG, 0,'setname', sprintf('s0%i_raw',set), 'gui','off');
    EEG = pop_resample( EEG, 250);
    EEG = pop_chanedit(EEG, 'lookup','filelocation');
    [ALLEEG, EEG, CURRENTSET] = pop_newset(ALLEEG, EEG, 1,'setname',sprintf('s0%i_1hpf',set),'gui','off'); % ICA dataset
    EEG = pop_eegfiltnew(EEG, 'locutoff',1);
    EEG = pop_cleanline(EEG, ... % parameters)
    oriEEG = EEG;
    EEG = clean_rawdata(EEG, 5, -1, 0.80, 'off', 8, 0.25);
    EEG = pop_interp(EEG, oriEEG.chanlocs, 'spherical');
    EEG = pop_reref( EEG, [29 30] ,'keepref','on');
    EEG = pop_eegchanoperator( EEG, {'ch65=ch31-ch32 label biVEOG'}); %bipolar ocular channels
    EEG = pop_eegchanoperator( EEG, {'ch66=ch57-ch58 label biHEOG'});
    command = '[EEG LASTCOM] = eeg_eegrej(EEG,eegplot2event(TMPREJ, -1));';
    eegplot(EEG.data, 'srate', EEG.srate, 'events', EEG.event, 'command', command, 'winlength', 100);
  2. [As the software plots the EEG data scroll, I can't push the Norm and Stack buttons on the right, as the error above appears.]
  3. [The same happens if I run > pop_runamica(EEG), where I can't press the button to run the algorithm.]

#### Versions
OS version [Windows 10]
Matlab version [Matlab 2019a]
EEGLAB version [eeglab2019_0]

EEGLAB does not respect proxy options set in MATLAB

Description

EEGLAB does not respect the proxy setting in Matlab 2018b on Windows. A quick reproduction of the error can be done using:
plugin_urlread('http://sccn.ucsd.edu/wiki/Plugin_list_import')

Requirements:

  1. Be on a network that requires an external proxy
  2. Be on a Windows platform.
  3. You have set a web proxy server in the Matlab preferences.

#### Steps to Reproduce
  1. Clone EEGLAB:
    git clone https://github.com/sccn/eeglab.git C:\TEMP\eeglab
  2. Start matlab 2018
  3. Check matlab version
    version
  4. Check that web proxy settings are not blank:
    s = settings;
    s.matlab.web.ProxyHost
    s.matlab.web.ProxyPort
  5. Change current directory
    cd C:\TEMP\eeglab
  6. Start EEGLAB:
    eeglab
    See error message below
  7. Verify that EEGLAB preferences have update checking enabled
    pop_editoptions()
  8. Turn off update checking by deselecting "If set, check for new version of EEGLAB at startup" in the dialog.
  9. Close EEGLAB window.
  10. Start EEGLAB
    eeglab
    NOTE: EEGLAB startup is no longer delayed by unsuccessful update checking
  11. In the EEGLAB menu, choose File/memory and other options or run command:
    plugin_extract(''import'', [])
  12. Observe this takes a long time (see below).
  13. For a simple test, just run:
    plugin_urlread('http://sccn.ucsd.edu/wiki/Plugin_list_import')

#### Expected behavior:
  1. MATLAB does not take a long time to startup because if fails on update checking

2.plugin_extract() does not take a long time and is succcessful. #### Actual behavior:
  1. EEGLAB startup takes a long time because it fails on update checking
  2. plugin_extract() takes a long time and is not succcessful. The error message is:
Retreiving URL with import extensions...
Retreiving download statistics...
Cannot connect to the Internet to retrieve statistics for extensions
Error using plugin_getweb (line 32)
Cannot connect to the Internet to retrieve extension list

Error in plugin_extract (line 15)
    plugin = plugin_getweb(type, pluginlist, 'newlist')

#### Comment

Versions

OS version [Windows 10]
Matlab version [ 9.5.0.1067069 (R2018b) Update 4]
EEGLAB version [14.1.1]

Cannot import fif format data by fileio

Description

I can't import the .fif format by using fileio function in EEGLAB

I was able to import fif format data in the previous version of fileio.

Here is the error message I saw below.

Undefined function or variable 'ft_error'.

Error in ft_hastoolbox (line 499)
ft_error(msg);

Error in ft_read_header (line 1862)
ft_hastoolbox('mne', 1);

Error in pop_fileio (line 133)
dat = ft_read_header(filename);

Error in remove_bad_channel (line 13)
EEG = pop_fileio(p2, 'dataformat','auto');


#### Versions fileio20191014
OS version [Mac OS Cataline]
Matlab version [R2018a]
EEGLAB version [EEGLAB development head]

Install/update of SASICA fails

Description

Installing SASICA plugin via GUI fails with error 'Invalid zip file "...\tmp.zip". Error occured in function unzip() at line 84.'
Installing SASICA (1.3.4) manually (i.e., downloading & extracting into plugin folder) works.
Installing other plugins via GUI also works.


Versions

OS version Windows 10
Matlab version 2017b
EEGLAB version v2019.0

Topoplot issue

Hi there,

Currently working with the latest version of EEGLAB and saw a strange addition. Namely, in topoplot.m line ~1000 there is a call to "dsaffsda".

Not sure exactly what this is for - but this call forces my script into the catch portion of the code and then gdatav4 fails.

For now I've commented the line out and everything seems to be back to normal.

Is this a known issue or is something off with my datastructures?

thanks!

pop_runica EEG structure mis-named

Description

The EEG data structure is given the wrong name 'data' on line 357 of pop_runica
Variable 'data' is not defined and the function thus throws an error, as below.

`Undefined variable "data" or class "data.chanlocs.type".

Error in pop_runica (line 357)
datatype = {data.chanlocs.type};`


#### Steps to Reproduce
  1. Run ICA from a script using FastICA option

#### Expected behavior: pop_runica will compute ICA and create ICA matrices in the EEG structure
#### Actual behavior: pop_runica throws 'undefined vairable "data"' error.
#### Versions
OS version Debian Linux
Matlab version r2019a
EEGLAB version development / latest from github

Warning: Adding folders named 'resources' to the path is not supported

Hi, after installing Matlab r2019a, am getting a path error when eeglab starts:

`
Warning: Adding folders named 'resources' to the
path is not supported:
C:\Users\hain\GIT\various\eeglab\functions\resources

In path (line 109)
In addpath (line 86)
In eeglab>addpathifnotinlist (line 2059)
In eeglab>myaddpath (line 2088)
In eeglab (line 304)
In eeglab (line 1127)
`

binica.m is buggy on Windows because of some system calls

  • the important function of binica.m is originally inperfect in these ways:
    • It contains a bug in line 320 that when executing system command !ICABINARY<pwd/scriptfile, it assumes that ICABINARY and pwd contain no space character, which is very likely wrong. Adding several double quotes will solve the problem of ICABINARY, but since binica.exe is also buggy and uses some other paths as parameters, the only way is to change the name of your working folder so that its path contains no space!!!
    • Other bugs in binica.m are relevant to system calls in Windows that are different with those LINUX, namely ls (for windows the alternative is dir) in line 303/349/351 and rm (for windows should be del) in line 366. However, the script contains other bugs with respect to the variables scriptfile weightsfile spherefile and datafile, where the paths are seperated by '/' (instead of '\\') and leads to erroneous parameter parsing on Windows. Fortunately, these commands are not so crucial and we can simply comment the lines 303/349/351/366 (and remove binicaNUM.xx manually afterwards).

Of course, it will be much more convenient if further version of binica.m can take them into consideration, and become completely compatible with Windows.

Thanks a lot!

Issue with rejection using abnormal spectra

In rejecting data based on abnormal spectra (rejecting data using ica -> reject data [all methods] -> find abnormal spectra), I was unable to 'update marks' and got this error:

"Conversion to logical from matlab.ui.Figure is not possible. Error while evaluating UIControl Callback"

It then saves the original calculation but does not allow me to update/adjust.

Undefined function or variable 'pop_loadbv'

Hi. I have installed the version of EEGLAB pointed at by the EEGLAB website (14 1 2b) in macOS Mojave (10.14.4) and running on MATLAB 2019a update 1. I downloaded it twice.

I got the error highlighted in the title.

I manually checked for the folder plugins/bva-io1.5.13 or similar but could not find it. That was previously the folder under which I could find the script pop_loadbv.m

Would it be possible to check the zip file to check that the folder has not been left behind by mistake provided that it was meant to be part of this version of EEGLAB?

Many thanks.

Channel Spectra and Maps with ERP plots unexpected Frequency Maps

Description

Bug described in the following pictures.

https://github.com/msseibel/EEGLAB
Images are called erp_bug.png and erp_bug_setting.png

Bug does only appear for the ERP selection. EEG selection works as expected.

Steps to Reproduce

  1. Get dataset with 2 types of events
  2. Plot -> Channel Spectra and Maps
  3. Apply to ERP see erp_bug_setting.png

Expected behavior:

Scalp maps for frequencies as specified in erp_bug_setting.png

Actual behavior:

Scalp maps for frequencies 0, 40/3, 80/3, 80/3

Versions

Plugins:
EEGLAB: adding "dipfit" v3.0 (see >> help eegplugin_dipfit) - new version 3.3 available
EEGLAB: adding "eegplugin_atisaio" v0.5 (see >> help eegplugin_atisaio)
EEGLAB: adding "firfilt" v2.1 (see >> help eegplugin_firfilt) - new version 2.4 available

OS version [Windows 10]
Matlab version [2015]
EEGLAB version [current version 2019]

Problem of importing data

Description

There were some issues related to import data, so I deleted eeglab and reinstalled it twice.
For importing, I used this path 'file - import data - using the FILE-IO interface'.
Then the notice 'Fileio extension is not installed. Do you want to download it now?' comes up, and when I click 'Yes'... there is an error,

'EEGLAB error in function plugin_askinstall() at line 78:

Struct contents reference from a non-struct array object.'

as same as the image below.
image

How can I fix it? I also installed another version of MATLAB(2019), it doesn't work.

Steps to Reproduce

  1. [First Step]
  2. [Second Step]
  3. [and so on...]

#### Expected behavior: [*What you expected to happen*]
#### Actual behavior: [*What actually happened*]
#### Versions
OS version [64-bit Operating System, x64-based processor]
Matlab version [R2017a]
EEGLAB version [2019, latest ver.]

Baseline removed twice in newtimef.m?

Here’s the relevant code:

Line 1216-1222:
% ----------------
% remove baseline
% ----------------
if strcmpi(g.scale, 'log') && ~any(isnan(g.powbase))g.powbase = 10.^(g.powbase/10); end; 
P = newtimeftrialbaseln(P, timesout, 'baseline', g.baseline, 'basenorm', g.basenorm, 'trialbase', g.trialbase);
[P, baseln, mbase] = newtimefbaseln(P, timesout, 'baseline', g.baseline, 'basenorm', g.basenorm, ...
                                   'verbose', g.verbose, 'powbase', g.powbase, 'trialbase', g.trialbase, 'singletrials','on');

It looks like ’singletrials’,’on’ is ignored by newtimeftrialbaseln but nevertheless, the other processing will still be performed twice. I.e. the P output of the first call is fed back in as the P input to the second call.


#### Versions
OS version 10.14.5
Matlab version 2017b
EEGLAB version v2019.0

Default plugins not loading with Octave

Description

Running Octave 5.2 with Ubuntu 18.04

myName@myName-PC:~/Desktop/eeglab_current/eeglab2019_0$ flatpak run org.octave.Octave --traditional --gui
Gtk-Message: 00:50:13.019: Failed to load module "canberra-gtk-module"
Gtk-Message: 00:50:13.019: Failed to load module "canberra-gtk-module"

graphics_toolkit("fltk")
eeglab
warning: findstr is obsolete; use strfind instead
warning: rmpath: /home/myName/Desktop/eeglab_current/eeglab2019_0/: not found
warning: function /home/myName/Desktop/eeglab_current/eeglab2019_0/functions/sigprocfunc/quantile.m shadows a core library function
warning: strmatch is obsolete; use strncmp or strcmp instead
eeglab: options file is ~/eeg_options.m
EEGLAB: error while adding plugin "eegplugin_dipfit"
uimenu: invalid parent handle.
EEGLAB: error while adding plugin "eegplugin_atisaio"
uimenu: invalid parent handle.
EEGLAB: error while adding plugin "eegplugin_firfilt"
uimenu: invalid parent handle.


Steps to Reproduce

  1. Download recent Octave version with flatpak install flathub org.octave.Octave
  2. Installed current eeglab version
  3. Followed your guide

Expected behavior:

Expected working plugins within the eeglab gui.


Actual behavior:

eeglab gui appears, but is empty


Notes

I also build Octave 4.4 from source to meet your guide, but with the same behavior.
Since this problem is reported multiple times e.g. here, I wanted to share this problem.

Should I try a different EEGLAB or what is the problem?
What does the "uimenu: invalid parent handle." error mean?
Is the "canberra-gtk-module" important for EEGLAB?

Versions

OS version Ubuntu 18.04 64bit
Octave version [4.4, 5.2]
EEGLAB version [2019]

Writing to EDF

Description

When attempting to export a file to EDF via the menu (File -> Export) with either the Biosig or Fileio plugin installed, EEGLAB crashes as the pop_writeeeg function is undefined.

In previous versions of EEGLAB, the functions pop_writeeeg and writeeeg were included as part of base EEGLAB. Perhaps it got removed by accident?

Thanks!


#### Versions
OS version Ubuntu 19.04
Matlab version 2019a
EEGLAB version Development Head

Error in event codes as a function of cnt file length

The event time is incorrect when importing large (> 1 Gig )( file storage type 3) in Neuroscan CNT files. In these files, events are stored as sample number and the offset for the header and channel description should not be removed. The subtraction creates an offset ( 22 milliseconds in our case with 66 channels) of event times and will be more or less depending on the number of channels on the cap. The timing is correct when the file size is below 1 gig. A fix is proposed as a pull request.

can't manage eeglab extensions

Description

Windows 10 fully updated as of June 2019, Matlab 8.6 (R2015b)
Error message:

EEGLAB error in function pop_menu() at line 39:

Struct contents reference from a non-struct array

[Description of the bug or feature
Attach a link to Dropbox or Google Drive with screenshots and your data if possible.
]
https://drive.google.com/open?id=1JJNMErJe02evRCxdsUgBIyEdNU56ygyT

Steps to Reproduce

  1. [First Step]
    Download latest version of EEGLAB (2019_0)
  2. [Second Step]
    Open Matlab

CD to folder with extracted EEGLAB
4.
type eeglab
5.
click on File>Manage EEGLAB extensions


#### Expected behavior: [*What you expected to happen*]
#### Actual behavior: [*What actually happened*]
#### Versions
OS version [fill in]
Matlab version [fill in]
EEGLAB version [fill in]

Bug when rereferencing to mathematically linked earlobes

Hi,

I am recording an EEG with a fixed reference (Afz in my case). After importing the files and adding channel locations in eeglab, I then want to re-reference the EEG to "A1 A2" using the pop up windows (mathematically linked earlobes). This works fine, "A1 A2" appears under "Reference".

However, when doing this, A2 disappears from the data locations windows. Only A1 is still present (with "Channel in data array" unchecked). This leads to the problem that, if I want to re-reference again (e.g. to average), I can only select A1 in the "Add current reference channel back to dataset" and A2 completly disappears from my dataset.

I can manually add A2 in the "channel location" window, but this completly messes up my whole data structure.

Is this a bug or am I missing something?

Malte

Latest EEGLAB compilation on Mac OS Catalina 10.15.1: "Symbol not found: _mecab_get_feature"

Successfully install the latest built just released.
Get this error message when launching the GUI from the terminal:

/Applications/EEGLAB/application/run_EEGLAB.sh /Applications/MATLAB/MATLAB_Runtime/v95

Setting up environment variables

DYLD_LIBRARY_PATH is /Applications/MATLAB/MATLAB_Runtime/v95/runtime/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/sys/os/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/bin/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/extern/bin/maci64
dyld: Symbol not found: _mecab_get_feature
Referenced from: /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
Expected in: /Applications/MATLAB/MATLAB_Runtime/v95/bin/maci64/libmecab.dylib
in /System/Library/PrivateFrameworks/CoreNLP.framework/Versions/A/CoreNLP
/Applications/EEGLAB/application/run_EEGLAB.sh: line 27: 41030 Abort trap: 6 "/Applications/EEGLAB/application/EEGLAB.app/Contents/MacOS/EEGLAB"

--

I reinstalled the matching 9.5 runtime directly from Matlab to be sure. Installed the runtime without errors. Still the same issue. Please help troubleshoot. For the reference, I ran the previous compiled EEGLAB on my Mac with no issues.

Thank you.

PS. run_EEGLAB.sh I call above is displayed below:

#!/bin/sh

script for execution of deployed applications

Sets up the MATLAB Runtime environment for the current $ARCH and executes

the specified command.

exe_name=$0
exe_dir=dirname "$0"
echo "------------------------------------------"
if [ "x$1" = "x" ]; then
echo Usage:
echo $0 <deployedMCRroot> args
else
echo Setting up environment variables
MCRROOT="$1"
echo ---
DYLD_LIBRARY_PATH=/Applications/MATLAB/MATLAB_Runtime/v95/runtime/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/sys/os/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/bin/maci64:/Applications/MATLAB/MATLAB_Runtime/v95/extern/bin/maci64;
export DYLD_LIBRARY_PATH;
echo DYLD_LIBRARY_PATH is ${DYLD_LIBRARY_PATH};
shift 1
args=
while [ $# -gt 0 ]; do
token=$1
args="${args} "${token}""
shift
done
eval ""${exe_dir}/EEGLAB.app/Contents/MacOS/EEGLAB"" $args
fi
exit

Warning about adding 'resources' to path

Description

I just started using Matlab 2019a. I ran eeglab from the eeglab directory and got the following two warnings:
1)
`Warning: Adding folders named 'resources' to the path is not supported:
D:\Research\FluencyProject\eeglab14_1_2b\functions\resources

In path (line 109)
In addpath (line 86)
In eeglab>addpathifnotinlist (line 2059)
In eeglab>myaddpath (line 2088)
In eeglab (line 293) `

`Warning: Adding folders named 'resources' to the path is not supported:
D:\Research\FluencyProject\eeglab14_1_2b\functions\resources

In path (line 109)
In addpath (line 86)
In eeglab>addpathifnotinlist (line 2059)
In eeglab>myaddpath (line 2088)
In eeglab (line 293)
In eeglab (line 1090)
`


#### Actual behavior: Just a warning ---- this must be new to R2019a
#### Versions
OS version [Windows 7]
Matlab version [R2019a]
EEGLAB version [14_1_2b]

eeg_checkset fills all empty fields

I have many fields on my epochs, and it's a pain to set them all to 0 so that eeg_checkset won't copy other values into these fields. In some instances (events) the fields are meaningless, and I would prefer not to even set a 0 value.
Apparently, this was removed and re-installed at some point.

                       % THIS WAS REMOVED SINCE SOME FIELDS ARE ASSOCIATED WITH THE EVENT AND NOT WITH THE EPOCH  
                       % I PUT IT BACK, BUT IT DOES NOT ERASE NON-EMPTY VALUES

Can we have a setting or option to disable this field copying?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.