Code Monkey home page Code Monkey logo

brainstorm3's People

Contributors

agramfort avatar ajoshiusc avatar aliobaibk avatar annesodub avatar chinmaychinara91 avatar danielemarinazzo avatar dnacombo avatar edouard2laire avatar errollgarner avatar ftadel avatar gabri470 avatar guiomar avatar hosseinshahabi avatar jeremymoreau avatar jguillon avatar juangpc avatar lucwilson avatar moo-marc avatar mpompolas avatar pwdonh avatar rcassani avatar robbisg avatar silencer1127 avatar soheilasamiee avatar thomas-vincent avatar tmedani avatar tomitomi3 avatar vyoussofzadeh avatar ws1011001 avatar yaqijl 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  avatar  avatar  avatar

brainstorm3's Issues

Multi-electrode array support for Invasive Neurophysiology

Linear probes are perfectly supported. Users select the tip of the probe and the skull entry and Brainstorm takes care of the position assignment.

image


However, when multi-electrode ARRAYS (let's say a 10x10 array) are used, a new option should be introduced. Manufacturers give a diagram for each array they sell, that contains the electrode positioning on the array (the electrodes' indexing doesn't follow the traditional numbering 1,2,3,4... but is messed up based on how the wiring is implemented in the array).

So for this to work in Brainstorm:

Users should be able to:

  1. Select the size of their array (10x10, 8x8 etc...)
  2. Select a position on the cortex where the implant will be attached
  3. Manually add the indices of the electrodes on the array.

I already have code that does all these things, but it needs to be implemented in the main iEEG tab.
Check: https://github.com/mpompolas/e-Phys/blob/master/TUTORIAL_channel_manipulation_for_arrays.m

The idea behind this algorithm, is that it takes 3 points on the CORTICAL surface for each array and based on these 3 points it creates a plane. Then the algorithm takes the 2D array positioning and converts it to an orthonormal base that aligns it on the plane that was computed.

STA 2D-display shows wrong time selection

This should just be an issue of the 2D layout visualization.

In order to compute the STA, a time window needs to be selected around each spike e.g. [-150,150] ms.

After the computation, the STA signals are [-150,150].

However, when the STA is displayed on the 2D layout, the time window (bottom left values on the 2D-layout window) is shown as [-300, 300] ms.

BIDS Import: Read field AssociatedEmptyRoom

Proper import of BIDS-MEG datasets should use properly the field AssociatedEmptyRoom to match the MEG recordings with the corresponding empty-room measurements.

This can be tested using these two datasets:
https://openneuro.org/datasets/ds000247/versions/00002
https://openneuro.org/datasets/ds000117/versions/1.0.3
And possibly other datasets:
https://github.com/bids-standard/bids-examples

Guiomar complained that in the OMEGA tutorial (ds000247) the subject and noise recordings where not matched correctly.

The tutorial scripts should be modified accordingly:
https://github.com/brainstorm-tools/brainstorm3/blob/master/toolbox/script/tutorial_omega.m
https://github.com/brainstorm-tools/brainstorm3/blob/master/toolbox/script/tutorial_frontiers2018_single.m#L38
https://github.com/brainstorm-tools/brainstorm3/blob/master/toolbox/script/tutorial_visual_single.m#L38

The documentation might need to be edited too:
https://neuroimage.usc.edu/brainstorm/Tutorials/RestingOmega#Source_estimation

Inverse: Fix the dSPM averaging

April 2015: Scaling of dSPM values for averaged files (ERP/ERF) by the number of trials was added:
https://neuroimage.usc.edu/brainstorm/News#April_2015

July 2018: It was reverted it in this commit:
4b32f0f
It is now documented in this tutorial:
https://neuroimage.usc.edu/brainstorm/Tutorials/SourceEstimation#Averaging_normalized_values

November 2018: Dimitrios suggests to reimplement it again, maybe under a different format. Some important decisions have to be made here, as it impacts dramatically the output results.

SEEG Montage process_montage_apply.m

Case 1: SEEG subject with 185 monopolar recordings. I used the panel_montage > SEEG (Bipolar 2) auto-created montage file which will have lead to 162 referenced dataset. Then Standardize > Apply Montage process. I ended up to a " Dimension mismatch Error " in process_montage_apply.m at 139.

isChanBad = (double(sMontage.Matrix(iMatrixDisp,iMatrixChan) ~= 0) * double(DataMat.ChannelFlag(iChannels)' == -1) > 0);

workaround is the transposition of ChannelFlag(iChannels) mat in order to have 162x185 * 185x1 matrix multiplication.

Filter specifications: Notch and and band-stop

Hossein, Richard:

Francois:

  • Update section "Apply a notch filter" to add the transients in screen capture and text (after the documentation of the notch filter)

Add DICOM as export format for MRIs

Some programs only support DICOM input, and it would therefore be useful to be able to save MRIs (and overlays, via right click ->Snapshot -> Save overlay as MRI) as DICOMs directly from Brainstorm.

There is a built in Matlab function for writing DICOMs (Introduced before R2006a, but requires Image Processing Toolbox): https://www.mathworks.com/help/images/ref/dicomwrite.html
https://www.mathworks.com/help/images/create-new-dicom-series.html

I also found this GPL licenced toolbox, but it was designed with radiotherapy in mind: https://github.com/mwgeurts/dicom_tools

BIDS Import: Read the fiducials from the json files

I'm not sure what is the current stage of development for this.
Storing the anatomical landmarks should be implemented in all the OMEGA subjects at some point, and reading them in Brainstorm as well when importing a BIDS database.

Here is the last email I got from Guiomar on this topic:

Regarding the AnatomicalLandmarkCoordinates in the MEG json file, it refers to the actual anatomical landmarks (the coil positions should go at "HeadCoilCoordinates"). These coordinates will go in the MEG coordinate system used, in our case: CTF. This can be specified at the "AnatomicalLandmarkCoordinateSystem" field.
The equivalent coordinates of these points should also be in the t1w MRI json file, using the "AnatomicalLandmarkCoordinates" but this time in voxels, as you mention (using MRIcron for the moment, unless this has been updated in Bst).

We had some discussions related to the real-world coordinates, but not any conclusive decision that I'm aware of. So for now, we can cntinue using the "AnatomicalLandmarkCoordinateSystem" field to specify the coordinate system.

You can check more details of the BIDS here: https://bids-specification.readthedocs.io/en/latest/03-modality-agnostic-files.html

I will add soon the "world coordinates" display in the MRI Viewer, to make this task easier.

BIDS Importer Improvements

Submitted by Elizabeth Bock. Issues when importing many BIDS subjects at once.

  • is it possible to start import optionally at a specified subject. Example, I have the BIDS dataset imported and then I add more subjects. I would like it to start at subject 221 instead of 1. Currently it starts again at 1 and then skips through each one - which can take a really long time.
  • is it possible to skip a subject that has an error and continue to the next. Example, I have a corrupted .nii file that killed the import at subject 137. Then I had to re-start to get the rest of the subjects imported (the previous issue might be the same solution here). Maybe it could just report the error and skip to the next subject?
  • for emptyroom subjects (named sub-emptyroom), you can skip the anatomy and registration steps - there are no humans involved here
  • there is a message "Warning: Multiple .pos head shape points found..." but actually there is no .pos file in those recordings, so I'm not sure what it means
  • can we have all the output messages during the import be sent to a report?

BstDownload.java errors on first download attempt

BstDownload.java throws the error "Error: File is empty." the first time you try to download a file with gui_brainstorm's DownloadFile(). It works on subsequent attempts. Sadly, this is hard to reproduce as after deleting everything and restarting brainstorm + Matlab it still works the second time. However, this was reported by multiple users using WaveClus or Plotly. Did this error ever occur for downloading OpenMEEG?

I'm not sure how to fix this... We could let DownloadFile() try to download twice in a row (ugly solution), we could add a sleep delay in BstDownload before measuring the contentLength... Any ideas?

Connectivity: Update functions and tutorials

Waiting for updates from Richard and Hossein.

This tutorial was started a few years ago and never actually written:
https://neuroimage.usc.edu/brainstorm/Tutorials/Connectivity

There is also this page where I was trying to centralize the summary of some of the discussions:
https://neuroimage.usc.edu/brainstorm/ConnectivityAdmin
All the information in there should be either deleted (if of no interest anymore), moved to this issue (for topics that still need to be discussed), or moved to the connectivity tutorial (for info relevant for users).

A section "Connectivity" is also available in the general todo-list:
https://neuroimage.usc.edu/brainstorm/Next#Connectivity

TODO:

Band-pass filter transition bands are too large?

Sylvain:

We’re having issues with the filters produced in Brainstorm.
Please see attached screenshot of the filter properties GUI. When requesting a 0.5-100Hz bandpass, the high cutoff is actually at 107Hz.
It was verified when applied on data as well.

image

Optimize protocol autosave function

Possible improvements to db_save():

  1. Increase elapsed time delay to 30 minutes;
  2. Add a lock file to protocol.mat, release when software is closed and only save when there is no lock.

Moving Average

Hi.

is there a simple way to perform a moving average on a signal in Brainstorm ?

Best.
Edouard

Add basic MEG-BIDS exporter

Make sure to throw an error if not MEG. Do not export .BST files, try to find original raw file in History.
Add way for users to add their custom metadata in process options.

SEEG: Highlighted electrode contacts not supported with bipolar montages

Not a particularly pressing issue, but the feature where the electrode contact is highlighted in red (in the 3D MRI view) when you select a channel only works in average reference. When using a bipolar montage I would expect both channels of the pair to be highlighted when selecting a given bipolar channel. Also, the highlighted contact is sometimes hard to spot because of the default blue-red colour scheme for amplitude. Maybe a different colour for selected contacts would be better (i.e. not red or blue).

File search gets too slow with large databases

The issue is that all the file searches rely on comparing the filename with all the filenames in the database at every call. Function bst_get/findFileInStudies is bottleneck for processes that do a lot of operations with small files.
Issue reported by Emily: http://neuroimage.usc.edu/forums/t/processes-slowing-way-down/5280/4

Possible solution: manage a large hash table with all the filenames of the database?
(maybe this could be manage internally in bst_get.m)

Displaying averaged timefreq sources in MRI (3D) view returns an error

Steps to reproduce:

  1. Import a 10s segment of MEG data into Brainstorm database (downsample to 600Hz)
  2. Compute head model (MRI volume, overlapping spheres, whole-head 5mm isotropic grid) and noise covariance
  3. Compute sources (dSPM)
  4. Compute timefreq on sources (Welch's PSD, group in frequency bands)
  5. Repeat steps 1-4 for a second 10s segment in another run)
  6. Average both timefreq files
  7. Under "Intra-subject" node, right click on averaged timefreq result -> "Display on MRI (3D)"

"Display on MRI (MRI Viewer)" works fine

Error using cellfun
Non-scalar in Uniform output, at index 1, output 1.
Set 'UniformOutput' to false.

Error in bst_figures>GetChannelsForFigure (line 252)
        iChanZero = find(cellfun(@(c)(~isequal(size(c),[3,1]) | all(abs(c)<1e-5)), chanLoc));


Error in bst_figures>CreateFigure (line 217)
    [selChan,errMsg] = GetChannelsForFigure(iDS, iFig);


Error in bst_figures (line 59)
eval(macro_method);


Error in view_surface_data (line 271)
        [hFig, iFig, isNewFig] = bst_figures('CreateFigure', iDS, FigureId, 'AlwaysCreate');


Error in tree_callbacks>@(h,ev)view_surface_data(MriFile,filenameRelative) (line 1871)
                            gui_component('MenuItem', jPopup, [], 'Display on MRI   (3D)',
                            IconLoader.ICON_ANATOMY, [], @(h,ev)view_surface_data(MriFile,
                            filenameRelative), []);

Add a new default average referential EEG Montage with all left channels on top

Creating new bipolar montages in Brainstorm is easy, but average montages are not so obvious. I would like an additional default (automatically generated regardless of number of EEG electrodes) montage with all the left channels on top, followed by midline channels, and right channels (e.g. Fp1, F7, ..., Fz, Cz, ..., Fp2, F8, ...). This has many use cases, but lateralisation of epileptiform activity is one. A spacer between the three groups (left, midline, right) would be nice also.

OpenMEEG: cortex vertices outside of the inner skull

OpenMEEG was recently upgraded from version 2.2 to 2.4: c6a153b#diff-9e590703ce3a61a47c365d821b1164e6

The two versions handle differently the dipoles that are outside of the inner skull surface. In 2.2 it led to incorrect values in the gain matrix, in 2.4 these values are set to zero.

Until now, we were adjusting the BEM layers (inner skull, outer skull, scalp) so that they include all the vertices, but I disabled some of these constrains because it was altering too much the shape the skull. If we want to get rid of all these outliers, we need to adjust the position of the vertices and project them back inside the skull. This would change our workflow, as now the cortex surfaces are never modified after being imported from FreeSurfer/BrainVISA.

So we have two options:

  1. We modify the surfaces, but this require changes in various places in the code, and we need to discuss to define at what point in the workflow we should do this (computation of the BEM layers, computation of OpenMEEG...)
  2. We keep it this way and lose a few dipoles in our model (eg. 12 vertices in the epilepsy tutorial). Now OpenMEEG checks for these irregularities correctly. However, Maureen mentioned it could cause some issues in the weighted minimum norm to have columns of the leadfield entirely set to zero.

John, Sylvain: Could you share your point view on this problem?
Thanks

New labels

Labels = {...
1000, 'lh-unknown'; ...
1001, 'lh-bankssts'; ...
1002, 'lh-caudalanteriorcingulate'; ...
1003, 'lh-caudalmiddlefrontal'; ...
1004, 'lh-corpuscallosum'; ...
1005, 'lh-cuneus'; ...
1006, 'lh-entorhinal'; ...
1007, 'lh-fusiform'; ...
1008, 'lh-inferiorparietal'; ...
1009, 'lh-inferiortemporal'; ...
1010, 'lh-isthmuscingulate'; ...
1011, 'lh-lateraloccipital'; ...
1012, 'lh-lateralorbitofrontal'; ...
1013, 'lh-lingual'; ...
1014, 'lh-medialorbitofrontal'; ...
1015, 'lh-middletemporal'; ...
1016, 'lh-parahippocampal'; ...
1017, 'lh-paracentral'; ...
1018, 'lh-parsopercularis'; ...
1019, 'lh-parsorbitalis'; ...
1020, 'lh-parstriangularis'; ...
1021, 'lh-pericalcarine'; ...
1022, 'lh-postcentral'; ...
1023, 'lh-posteriorcingulate'; ...
1024, 'lh-precentral'; ...
1025, 'lh-precuneus'; ...
1026, 'lh-rostralanteriorcingulate'; ...
1027, 'lh-rostralmiddlefrontal'; ...
1028, 'lh-superiorfrontal'; ...
1029, 'lh-superiorparietal'; ...
1030, 'lh-superiortemporal'; ...
1031, 'lh-supramarginal'; ...
1032, 'lh-frontalpole'; ...
1033, 'lh-temporalpole'; ...
1034, 'lh-transversetemporal'; ...
1035, 'lh-insula'; ...
2000, 'rh-unknown'; ...
2001, 'rh-bankssts'; ...
2002, 'rh-caudalanteriorcingulate'; ...
2003, 'rh-caudalmiddlefrontal'; ...
2004, 'rh-corpuscallosum'; ...
2005, 'rh-cuneus'; ...
2006, 'rh-entorhinal'; ...
2007, 'rh-fusiform'; ...
2008, 'rh-inferiorparietal'; ...
2009, 'rh-inferiortemporal'; ...
2010, 'rh-isthmuscingulate'; ...
2011, 'rh-lateraloccipital'; ...
2012, 'rh-lateralorbitofrontal'; ...
2013, 'rh-lingual'; ...
2014, 'rh-medialorbitofrontal'; ...
2015, 'rh-middletemporal'; ...
2016, 'rh-parahippocampal'; ...
2017, 'rh-paracentral'; ...
2018, 'rh-parsopercularis'; ...
2019, 'rh-parsorbitalis'; ...
2020, 'rh-parstriangularis'; ...
2021, 'rh-pericalcarine'; ...
2022, 'rh-postcentral'; ...
2023, 'rh-posteriorcingulate'; ...
2024, 'rh-precentral'; ...
2025, 'rh-precuneus'; ...
2026, 'rh-rostralanteriorcingulate'; ...
2027, 'rh-rostralmiddlefrontal'; ...
2028, 'rh-superiorfrontal'; ...
2029, 'rh-superiorparietal'; ...
2030, 'rh-superiortemporal'; ...
2031, 'rh-supramarginal'; ...
2032, 'rh-frontalpole'; ...
2033, 'rh-temporalpole'; ...
2034, 'rh-transversetemporal'; ...
2035, 'rh-insula'; ...
};

Cursor stuck at start of page after opening a second figure/window

I am using Brainstorm 06-Dec-2017 on Ubuntu 16.04.3 with Matlab 2016b. My desktop environment is MATE 1.12.1 and I use the mutter 3.18.3 window manager. I have noticed an annoying bug where the red cursor is reset and stays stuck at the start of a page after opening a second window/figure and clicking anywhere one the first window. This does not affect only the latest version of Brainstorm (unfortunately, I do not know in which version this appeared), but seems to be platform dependent (I could not reproduce the problem on another workstation running an older version of Ubuntu MATE with a different window manager).

Steps to reproduce:

  1. Open a MEG recording time series view.
  2. Move the red cursor by clicking somewhere (e.g. at 5s)
  3. Open a second time series (e.g. EOG) or figure (e.g. topography)
  4. Click somewhere on the first time series as if to move the red cursor. The red cursor is reset to the start of the page, and won't move.
  5. If the second window that was opened is a time series (e.g. EOG), then it is still possible to move the red cursor by clicking on that window, but clicking anywhere on the first window resets the cursor position again. Moving the cursor with arrow keys or page up/down is also still possible.

Spike Field Coherence selects events that are not neurons

Follow the e-Phys tutorial to reproduce this issue. After loading the plexon file, import a set of trials (e.g. Stim On 1) and then compute the Spike field coherence on the folder.

The drop-down that selects the neuron after the spike-field-coherence is computed and visualized, should contain only labels that indicate neuronal activity (Spikes Channel AD01). However, other events appear as well (Event001, Event002 ...). This means the "process_spikesorting_supervised('GetChannelOfSpikeEvent', x)" function is producing indices that are not aligned with the events order on the link to raw file events.

Grid button in PSD and time series figures

In the PSD and time series figures, the Grid button still requires some work:

  • When switching between the two types of display modes (butterfly / columns), the selected properties should be maintained, both for the PSD and the time series plot
  • Use the fields TsInfo.ShowXGrid and TsInfo.ShowYGrid to record the expected status of this property for the plot - this way, it will be also compatible with the menus in the popup menu Figure > Show XGrid/YGrid
  • In "columns" mode: we only want to display the X grid, the Y grid is too dense and makes no sense.

Add support for basic boolean logic in filter search box

Adding support for basic boolean operators in the filter search box would be a nice feature. I know more complex file selection operations can be achieved by stacking "Select Files" processes (and with scripting of course), but I think it would enhance usability to make the filter search box a bit more powerful. Specifically, I would propose adding support for PubMed-style syntax to the filter box, because I expect it would be familiar to most Brainstorm users.

  1. Supported operators are: AND, OR, NOT
  2. Search terms are separated by a space.
  3. Search terms containing a space can be joined by enclosing them in double quotes.
  4. AND is the default operator. It is added between search terms if none are specified.
  5. Operations are processed left to right.
  6. The order of processing can be changed by nesting search terms in parentheses. The terms inside the parentheses will be processed as a unit first.

Some examples:

  • 20180109 AND somatosensory
  • resample AND ("left mn" OR noise)
  • (stim AND trial) NOT "stimulation 2"

Custom keyboard shortcut definition for EEG/MEG montages

Switching montages via keyboard shortcuts is currently possible via shift + A, B, C etc. There are a couple of issues with this setup, however:

  1. Deleting a bad EEG channel often results in all the keyboard shortcuts changing (because some montages become unavailable). This also means keyboard shortcuts are frequently different across runs...
  2. The only way to change the keyboard shortcut for a montage via the GUI is by deleting multiple montages, and adding them back in a different order. This also makes it annoying to get the same keyboard shortcuts on different computers.
  3. No keyboard shortcuts for montages >26 (which means only 8 custom montages on top of the defaults for CTF MEG).

It would be nice if it were possible to set the keyboard shortcut in the montage editor (even if they all still follow the "shift + letter" pattern).

Matlab 2018a: svd implementation changed and now crashes

The following functions now crash with some specific noise covariance matrices:
bst_inverse_linear_2016, line 915
bst_inverse_linear_2018, line 1093

Matlab 2017b:

K>> [Un,Sn2] = svd(Cov,'econ')
% Returns valid results 

Matlab 2018a:

K>> [Un,Sn2] = svd(Cov,'econ')
Error using svd
SVD did not converge.

Example file:
Cov.zip

The only documentation I could find about changes in this functions is the following, but it is about input parameters, it doesn't say anything about the algorithms changing.
https://fr.mathworks.com/help/matlab/release-notes.html?rntext=svd&startrelease=R2017b&endrelease=R2018a&groupby=release&sortby=descending&searchHighlight=

ICA: Store % of correlation with ECG/EOG

Extension of the IC sorting, implemented in: #67

To facilitate the selection of bad IC, the % of correlation could be shown to the user.
For instance, it could be stored in the SingVal field (as a cell array: Nx2, {correlation, channel_name}).

Some functions should be updated to consider a cell array as an ICA result:

  • panel_ssp_selection
  • in_fopen_bst
  • out_fopen_bst (problem: we can't store these new values correctly in this file format)
  • bst_report
  • panel_eegref
  • process_ssp2

Do not save link files in protocol.mat

Once sources are computed, the size of protocol.mat essentially doubles because every data file has a link added as a child. These could be computed on the fly instead.

Enlarge left panel of Montage Editor

Right now, with SEEG montages that have very long channel names, the left panel of the Montage Editor is too small to properly read them and their keyboard shortcut. Consider enlarging its fixed width or even making it extendable.

Page duration should remain the same across files with different sampling frequencies

I resample 1-70Hz bandpassed raw EEG/MEG recordings to 300Hz (acquired at 2400Hz) for visualisation and event marking to improve page flip speeds. However, I've noticed that the "Duration" value in the "Page settings" box of the "Record" tab seems to readjust the page duration based on the number of samples. For instance, if I have I have a run sampled at 2400Hz open with page duration set to 10s and open another run resampled at 300Hz, then the page duration switches to 80s. This seems like a bug; the page duration setting should stay constant no matter the sampling frequency (e.g. 10s at 2400Hz or 300Hz).

Presentation log file

Dear all,

when trying to import Presentation log files, I noticed that event names are read improperly (at least for the file I have).

here can be my suggested changes. (This works for me)

I will post pull-request

 % get correct col number
 [~,typeColIdxinHeader] = ismember('Event Type',headerFields);
 [~,codeColIdxinHeader] = ismember('Code',headerFields);
 [~,timeColIdxinHeader] = ismember('Time',headerFields);
 % Split line
 cellLine = str_split(strLine, sprintf(' \t'));
 % If the line contains enough entries: use it
 if (length(cellLine) >= 4) && ~isempty(str2num(cellLine{timeColIdxinHeader})) 
     mrkType{end+1} = strjoin([cellLine(typeColIdxinHeader),cellLine(codeColIdxinHeader)],'_');
     mrkTime(end+1) = str2double(cellLine{timeColIdxinHeader});
 elseif any(~ismember(cellLine,'Trial'))
     break
 end

Tree does not refresh after reloading moved protocol

I'm running Brainstorm 24-Oct-2017 in Matlab 2016b on Ubuntu 16.04.3. After I reload a protocol moved to a different location, the file tree in the main Brainstorm window no longer refreshes when switching protocol (e.g. if I try switching from protocol A to protocol B in the dropdown menu, the files in protocol A remain displayed in the file tree below). There are no error messages displayed in the Matlab console.

Steps to reproduce:
In a brainstorm database with more than 2 protocols,

  1. Move one of the protocols to a different location on the disk (in my case, this was after moving my data to a new computer)
  2. Open Brainstorm and try loading the protocol. The "Load protocol, The following folder has been moved..." dialog box will pop up.
  3. Select "Pick folder..." and choose the new protocol location. This loads the protocol as expected.
  4. Try switching to a different protocol using the dropdown menu. This does not work.

My current work-around is to close Brainstorm and open it again, after which switching protocols using the dropdown menu works again.

Error while opening color chooser

I get the following error when I click on "Set surface color":

Error using matlab.ui.internal.dialog.WebColorChooser/show (line 72)
Java exception occurred:
com.mathworks.html.BrowserCreationException:
com.mathworks.html.BrowserCreationException:
com.teamdev.jxbrowser.chromium.internal.ipc.IPCException: IPC process exited. Exit
code: 127
at
com.mathworks.mlwidgets.html.LightweightBrowserBuilder.buildBrowser(LightweightBrowserBuilder.java:86)
at
com.mathworks.mlwidgets.html.LightweightBrowserBuilder.buildDefaultBrowser(LightweightBrowserBuilder.java:52)
at
com.mathworks.mlwidgets.html.LightweightBrowserFactory.createLightweightBrowser(LightweightBrowserFactory.java:36)
Caused by: com.mathworks.html.BrowserCreationException:
com.teamdev.jxbrowser.chromium.internal.ipc.IPCException: IPC process
exited. Exit code: 127
at
com.mathworks.html.jxbrowser.chromium.LightweightChromiumBrowser.(LightweightChromiumBrowser.java:32)
at
com.mathworks.mlwidgets.html.LightweightBrowserBuilder.buildBrowser(LightweightBrowserBuilder.java:78)
... 2 more
Caused by: com.teamdev.jxbrowser.chromium.internal.ipc.IPCException: IPC process
exited. Exit code: 127
at com.teamdev.jxbrowser.chromium.internal.ipc.d.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Error in uisetcolor_helper>showDialog (line 67)
ccDialog.show;

Error in uisetcolor_helper (line 12)
selectedColor = showDialog(ccDialog);

Error in uisetcolor (line 33)
selectedColor = uisetcolor_helper(varargin{:});

Error in panel_surface>ButtonSurfColorCallback (line 488)
colorCortex = uisetcolor(TessInfo(iSurface).AnatomyColor(2,:), 'Select surface
color');

Brainstorm version: Version: 3.4 (26-Apr-2018), from github
Matlab version: 9.2.0.556344 (R2017a)
OS: ubuntu 17.10

Seems like it's coming from jxbrowser so I tried to use another html engine in matlab:

webutils.htmlrenderer('basic')

But no success, still same error...

Group analysis: recommended workflow and statistics

The pipeline currently described on the website is not giving acceptable results, and we could not publish any statistics at the group level in the recent Frontiers article. This needs to be addressed urgently.

Two online tutorials to fix:
https://neuroimage.usc.edu/brainstorm/Tutorials/Workflows#Constrained_cortical_sources
https://neuroimage.usc.edu/brainstorm/Tutorials/VisualGroup#Group_analysis:_Sources

Unconstrained sources must be addressed as well. We are now recommending most EEG users to use unconstrained dipole orientations, but we have no option at all to offer for group analysis.

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.