23546
Comment:
|
25794
|
Deletions are marked like this. | Additions are marked like this. |
Line 6: | Line 6: |
== Current topics == ==== Source modeling ==== * Implementation of a new unified minimum norm/beamformer framework (work in progress) ==== Documentation ==== * Standard workflows for different types of data and experiments (work in progress) * Cross-validation with MNE and FieldTrip: <<BR>>http://martinos.org/mne/dev/auto_tutorials/plot_brainstorm_auditory.html ==== Functional connectivity ==== * Significance thresholding of the connectivity matrices (not started) ==== Computation ==== * Removing the dependence to the Java interface to run in headless mode (not started) <<BR>><<BR>> |
|
Line 23: | Line 7: |
* 2D topographies: * Nicer topographies with circle around 2DDisc (similar to EEGLAB plots) * Standardized plots (using FieldTrip .lay files?) * Aligned on the midline at least * Contour lines sometimes messed up with Elekta recordings * Make the surface on which the values are interpolated simpler |
* Default montages for EEG (sensor selection) * Sleep scoring wish list (Emily C): * Configurable horizontal lines (for helping detecting visually some thresholds) * Mouse ruler: Measure duration and amplitude by dragging the mouse. * Automatic spindle detector * https://neuroimage.usc.edu/forums/t/page-overlap-while-reviewing-raw-file-a-way-to-set-to-0/11229/13 * RAW file viewer: * Downsample before filtering? (attention to the filter design) * Add parameter to make the visual downsampling more or less aggressive * Pre-load next page of recordings * Keep the filter specifications in memory instead of recomputing for every page * Bad trials: When changing the status of bad to good: remove the bad segments as well, otherwise it is not processed by processes like the PSD. * Review clinical recordings: Reduce the dimensionality of the data with a simple inverse problem, similar to what we do for the magnetic extrapolation ("Regional sources" in BESA, cf S Rampp) |
Line 30: | Line 21: |
* Montages: * Separators (" : MLC11" already works, could be just " : "), should add an empty space. * 2DLayout: * Use the same standard positions, too much space between sensors (Recordings + TF) * Overlay multiple conditions * RAW files: Doesn't work when changing page => need refresh of GlobalData.Preferences.TopoLayoutOptions.TimeWindow * Same shortcuts as the raw file viewer (right-click + move for gain) * Add support for montages * RAW file viewer: * Pre-load next page of recordings * Faster display: Downsample time series before plotting * Add field "comment" to markers: For clinicians to add notes (Marcel) * Events: Change the category of a selected event easily, instead of deleting/marking new * Events: Advanced process for recombining.<<BR>>Example: http://www.erpinfo.org/erplab/erplab-documentation/manual/Binlister.html |
* Create heat maps: Maybe with matlab function heatmap? * BioSemi: Add menu "Convert naming system" to rename channels into 10-10 (A1=>FPz) |
Line 46: | Line 25: |
* Start Brainstorm without Java (-nodesktop) * Move code to github * Allow FieldTrip functions in compiled version |
* Add a warning when computing a forward model with > 100000 sources (check selection) * Snapshot: Save as image / all figures (similar to Movie/all figure) |
Line 52: | Line 30: |
* Create a colormap similar to MNE, where extrema are bright | |
Line 54: | Line 31: |
* Open new figures as tab (docked in the Figures window) | |
Line 56: | Line 32: |
* Removing all the CTRL and SHIFT in the keyboard shortcuts * Display warning before opening files that are too big |
|
Line 60: | Line 34: |
* Contact sheets: Allow explicit list of times in input (+ display as in MNE-Python with TS) * Display CTF coils: Show discs instead of squares * Use boundary() instead of conhull() in all the display functions (ie. 2DDisc) * Progress bar: Add a "Cancel" button * Error message: Add a link to report directly the bug on the forum * Reorganize menus (Dannie's suggestion): {{attachment:dannie_menus.png||width="382",height="237"}} |
|
Line 63: | Line 44: |
* Connectivity on unconstrained sources: how to group the three orientations? * Review by Jan-Mathijs: http://journal.frontiersin.org/article/10.3389/fnsys.2015.00175/full * Connectivity based on band limited power (Sylvain): * Compute Hilbert/Bandpass + correlation of the envelopes * Bandpass envelopes before computing correlations? * Compute Hilbert(sensors) and then project to source space? |
* Connectivity on unconstrained sources: "Default signal extraction for volume grids should be the time series of the first principal component of the triplet signals after each has been zero-meaned" (SB) * Display of connectivity graphs: * Display as straight lines * Recode 2D graphs * 3D display with anatomical constrains * Display using real position of EEG electrodes * Use new band-pass filters in bst_connectivity ('bst-hfilter' instead of 'bst-fft-fir') * Matrix view of NxN graphs: Add legend of the elements along X and Y axis * Weighted Phase Lag Index (WPLI) |
Line 81: | Line 65: |
* Granger: * Crashes sometimes: improve stability * Check for minimum time window (Esther: min around 500-1000 data points) * Re-write and optimize code * Add progress bar |
* Granger: Check for minimum time window (Esther: min around 500-1000 data points) |
Line 93: | Line 73: |
* PAC: * Add input TF , to disconnect TF decomposition and PAC computation (Peter) * Refine frequency vector of low frequencies * How many central frequencies to use in bst_pac? * Change filters: no chirplet functions * bst_freqfilter: Use nfcomponents like in bst_pac * Esther recommended a larger frequency binning of the PAC estimation * PAC maps: Display all sensors at once (like TF and DynamicPAC) * Hui-Ling's PAC: * https://bsp.hackpad.com/Cross-Frequency-Coupling-cChe95lhDHz * https://github.com/NCTU-BSP/MEEG |
|
Line 105: | Line 74: |
* Other metrics: * Coherence by bands: bst_coherence_band_welch.m * Granger by bands: bst_granger_band.m * Inter-trial coherence |
|
Line 113: | Line 78: |
* Explore Matlab-Python bridge:<<BR>> https://mail.python.org/pipermail/neuroimaging/2016-June/001001.html | * Decoding/Classifiers: Implement Dimitrios and scikit-learn algorithms |
Line 115: | Line 80: |
* Add MNE-Python functions: * scikit-learn classifiers * https://neuroimage.usc.edu/forums/t/best-way-to-export-to-mne-python/12704/3 * Reproduce other tutorials / examples * Point-spread functions (PSFs) and cross-talk functions: https://mne.tools/stable/auto_examples/inverse/plot_psf_ctf_vertices.html#sphx-glr-auto-examples-inverse-plot-psf-ctf-vertices-py * Spatial resolution metrics in source space:<<BR>>https://mne.tools/stable/auto_examples/inverse/plot_resolution_metrics.html#sphx-glr-auto-examples-inverse-plot-resolution-metrics-py * Change the graphic renderer from Matlab |
|
Line 116: | Line 88: |
* ft_sourceanalysis: * Check noise covariance * Check all the options of all the methods * Single trial reconstructions + noise covariance? * Filters?? http://www.fieldtriptoolbox.org/example/common_filters_in_beamforming * Beamformers: Save ftSource.avg.mom <<BR>>http://www.fieldtriptoolbox.org/workshop/meg-uk-2015/fieldtrip-beamformer-demo * http://www.natmeg.se/ft_beamformer/beamformer.html * http://www.fieldtriptoolbox.org/tutorial/beamformingextended * Baseline? Two inputs? * ft_prepare_sourcemodel: Compute MNI transformation (linear and non-linear) => Peter * ft_prepare_heamodel: Add support from BEM surfaces from the Brainstorm database * Freqanalysis: ITC * ft_read_atlas('TTatlas+tlrc.BRICK'); * ft_volumereslice: http://www.fieldtriptoolbox.org/faq/how_change_mri_orientation_size_fov |
|
Line 118: | Line 104: |
* ft_volumesegment * ft_computeleadfield * ft_prepare_heamodel |
* Optimization: * Use CUDA for speeding up some operations (filtering, wavelets, etc) * Use Matlab Coder to optimize: Wavelets, bandpass filter, sinusoid removal |
Line 122: | Line 108: |
* Optimize speed: Opening the window and the showing menu "Add process" are slow | * Bug: After "convert to continuous", the time of the following processes should change |
Line 124: | Line 110: |
* PLS: * https://www.rotman-baycrest.on.ca/index.php?section=84 * meg-pls dot weebly dot com * Krishnan 2011: http://www.ncbi.nlm.nih.gov/pubmed/20656037 * Cheung 2015: http://www.sciencedirect.com/science/article/pii/S1053811915007648 * McIntosh 2012: http://www.ncbi.nlm.nih.gov/pubmed/22804773 * McIntosh 2004: http://www.ncbi.nlm.nih.gov/pubmed/15501095 |
* Events: Allow selection from a drop-down list (similar to option "channelname" in panel_process_selection) * When computing sources from the pipeline editor: doesn't reselect the options if you click twice on "edit" (works for minnorm, but not for lcmv) * ITC: Inter-trial coherence (see MNE reports for group tutorial)<<BR>>http://www.sciencedirect.com/science/article/pii/S1053811916304232 |
Line 133: | Line 115: |
* Add methods: SOBI, Fastica, AMICA/CUDICA/CUDAAMICA (recommended by S Makeig) * Why doesn't the ICA process converge when using 25 components in the EEG tutorial? * Add an option to resample the signals before computing the ICA decomposition |
|
Line 136: | Line 121: |
* Add methods: SOBI, Fastica, AMICA/CUDICA (recommended by S Makeig) | * Use faster methods (MNE-Python?) |
Line 140: | Line 125: |
* Use FastICA (algo crashing) * Understand why EEG/Epilepsy tutorial data crashes if we don't limit the number of components * Add components preselection: Correlation with EOG/ECG |
|
Line 145: | Line 127: |
* ICA+machine learning: https://www.ncbi.nlm.nih.gov/pubmed/28497769 * Automated artifact rejection: https://arxiv.org/abs/1612.08194 * Use EYE-EEG: EEGLAB toolbox for eye-tracker guided ICA (Olaf Dimigen): http://www2.hu-berlin.de/eyetracking-eeg/ * Other EEGLAB functions: * Step function detection: https://github.com/lucklab/erplab/wiki/Artifact-Detection:-Tutorial |
|
Line 147: | Line 134: |
* Show where the attenuation is projected:<<BR>>(sum(IK,2)-sum(SSP(k,:)*IK,2)./sum(IK,2) * SSS/tSSS: Get implementation from MNE * Bandpass: * Mark with an event the possible edge effects * Offer option: bst_bandpass_fft / bst_bandpass_filter * Rewrite without the forced low-pass filter at Fs/3 * Show warning when using inappropriate high-pass filter (precision too high) * Use FIR filter |
|
Line 161: | Line 140: |
* Use the progress bar | * Allow display of Avg+StdErr |
Line 163: | Line 142: |
* Use Matlab Coder to optimize some processes: Wavelets, bandpass filter, sinusoid removal * Reports: Click on link reopens exactly the figure |
|
Line 166: | Line 143: |
* Multi-tapers | * Optimization: bst_timefreq (around l.136), remove evoked in source space: Average should be computed in sensor space instead of source space (requested by Dimitrios) |
Line 180: | Line 157: |
* Allow baseline normalization of files computed with time bands | |
Line 181: | Line 159: |
* Review continuous files in time-frequency space (for epilepsy) * Bug when computing TF on constrained and unconstrained scouts at the same time (in mixed head models for instance): uses only the constrained information and doesn't sum the 3 orientations for the unconstrained regions. |
|
Line 185: | Line 165: |
* Co-registration of MEG runs: * SSP: Group projectors coming from different files * Finish validation of the method * Apply to continuous recordings for correcting head movements * Other processes: * Moving average * Max * Median |
|
Line 194: | Line 166: |
* Fix units in simulation processes => no *1e-9 in "simulate recordings" * Use "add noise" process from Hui-Ling (in Work/Dev/Divers) |
* EEGSourceSim: https://www.sciencedirect.com/science/article/pii/S0165027019302341 |
Line 200: | Line 171: |
* Add buttons to sort files: by name, by comment, by date | |
Line 202: | Line 172: |
* Navigator: Use F2/F3 to explore the entire database (right now F2 works in a weird way) | |
Line 205: | Line 174: |
* Add notes in the folders (text files, visible as nodes in the tree) * Screen captures: save straight to the database |
|
Line 213: | Line 178: |
* protocol.mat can be too big: do not store the results links in it (and recreate when loading) | * Auto-save: * protocol.mat can be too big: do not store the results links in it (and recreate when loading)- http://neuroimage.usc.edu/forums/t/abnormally-slow-behavior/2065/10 * Improve auto-save: add tracking file next to protocol.mat, do not save all the time, only when closing app, and reload protocol at stratup if tracking file is still there |
Line 226: | Line 194: |
* Unconstrained to flat: Default PCA for stat and connectivity? * Sensitivity maps: https://mne.tools/stable/auto_examples/forward/plot_forward_sensitivity_maps.html * Reproduce results in "Simultaneous human intracerebral stimulation and HD-EEG, ground-truth for source localization methods": https://www.nature.com/articles/s41597-020-0467-x * Use eLORETA instead of sLORETA? <<BR>>https://neuroimage.usc.edu/forums/t/compute-eeg-sources-with-sloreta/13425/6 * "eLORETA algorithm is available in the MEG/EEG Toolbox of Hamburg (METH)": https://www.biorxiv.org/content/biorxiv/early/2019/10/17/809285.full.pdf * Point-spread and cross-talk functions (code in MNE-Python): * https://www.biorxiv.org/content/biorxiv/early/2019/06/18/672956.full.pdf * https://github.com/olafhauk/EEGMEGResolutionAtlas * Dipoles: * Project individual dipoles files on a template * panel_dipoles: Doesn't work with multiple figures * Project sources: Very poor algorithm to project sub-cortical regions and cerebellum (algorithm to fit surfaces should be imrpoved) * Menu head model > Copy to other conditions/subjects (check if applicable first) * Menu Sources > Maximum value: Doesn't work with volume or mixed head models |
|
Line 227: | Line 209: |
* Project to templates (scouts or source maps) * Create scout form maximum doesn't work (menu Sources > Max value) * Display in MRI doesn't work * Smooth display: do not smooth subcortical structures * Export as .nii volume: doesn't work |
|
Line 233: | Line 210: |
* Project individual dipoles files on a template * Dipoles: * panel_dipoles: Doesn't work with multiple figures * Panel Get coordinates: Add button "find maximum" * BEM single sphere: Get implementation from MNE * Stenroos 2014 paper: Include the following methods * Inner and outer skull surfaces generator from FieldTrip (needs SPM) * Nolte corrected-sphere model (good model re:Alex) * Fast BEM models * Visualize Beamformer results: * Read CTF SAM .svl * Display as layers in the MRI viewer * Unconstrained sources: * Stat and connectivity: what to do? (re-send email John+Sylvain) * Overlapping spheres: improve the estimation of the spheres for the frontal lobes |
* Bug when displaying interpolated in MRI viewer |
Line 249: | Line 212: |
* Test volume sources with all the subsequent processes (timefreq, stat...) | |
Line 252: | Line 214: |
* Magnetic extrapolation: Do the same thing with EEG * Noise covariance matrix: * Display with figure_image() * Storage of multiple noise covariance matrices (just like the head models) * Always save as full, then at inversion time, we can decide between full, heteroskedastic (diagonal) or homoskedastic (i.i.d, scalar) * Problem of having inividual trials + averages in the condition => Display warning or not? * Save nAvg in noisecov file, to make it easier to scale to other recordings * Sources on surface: Display peak regions over time (time = color) => A.Gramfort * Calculate ImagingKernel * Gain for a scout * Beamformers from FieldTrip (LCMV, SAM) * Time-frequency beamformers: * Band-pass everything in different frequency bands + Source estimation + TF * Ask data to Sarang where he sees effects that cannot be extracted with MN followed by TF * Process "Extract scouts time series": Add PCA option (replace isnorm with choice PCA/Norm) * BEM: Fix unstable results when one vertex is too close from the layers (5mm ?) * Hui-Ling beamformers: * More explanations about what is in NAI and Spatial filters * Explain that is this is better to study effects extended in time (Ntime > Nsensors) * Group LCMV+MCB * Condition LEFT median nerve: very bad results |
|
Line 275: | Line 217: |
* Keep options for inverse computation | * Panel Get coordinates: Add button "find maximum" * BEM single sphere: Get implementation from MNE * Unconstrained sources: * Stat and connectivity: what to do? (re-send email John+Sylvain) * Sources on surface: Display peak regions over time (time = color) => A.Gramfort * Process "Extract scouts time series": Add PCA option (replace isnorm with choice PCA/Norm) * Add eyes models to attract eye activity |
Line 278: | Line 226: |
* MNI coordinates: * Extend to non FreeSurfer volumes (BrainSuite volumes that are not 256x256x256) * Compute with FieldTrip: ft_prepare_sourcemodel (linear and non-linear) => Peter * Project all sub-cortical structures to default anatomy (check code from Denis S) * FreeSurfer: * Do not save "mid" surface unless specified explicitely with the process version * Add cerebellum to default model generated with "Import FS anatomy" * Import MRIs with different resolutions: re-interpolate automatically * Edit fiducials: Replace 6 text boxes with 1 for easy copy-paste (see fiducials.m) * BrainVISA: Add support for MarsAtlas (Guillaume A) |
* Keep ASEG volume + display region name in MRI viewer * '''SimNIBS''': Replace HEADRECO with CHARM (headreco will be removed in SimNIBS 4) * Infant templates: Add electrodes positions (at least 10-10) * Multi-Scale Brain Parcellator (Lausanne2008): * [[https://github.com/sebastientourbier/multiscalebrainparcellatorhttps://hub.docker.com/r/sebastientourbier/multiscalebrainparcellator|https://github.com/sebastientourbier/multiscalebrainparcellator]] * [[https://github.com/sebastientourbier/multiscalebrainparcellatorhttps://hub.docker.com/r/sebastientourbier/multiscalebrainparcellator|https://hub.docker.com/r/sebastientourbier/multiscalebrainparcellator]] * https://multiscalebrainparcellator.readthedocs.io/en/latest/ * MNI transformation: Use SPM non-linear MNI transformation y_... * Registration: * Getting electrode positions from 3D scanners: https://sccn.ucsd.edu/wiki/Get_chanlocs * GARDEL: http://meg.univ-amu.fr/wiki/GARDEL:presentation * Use the same registration for multiple recording sessions that have already re-registered previously (eg. with MaxFilter) * When linking multiple EEG recordings including 3D positions, do the registration only once and copy it to all the runs * Compute non-linear MNI registration instead of linear * Select and remove bad digitized head points before automatic coregistration * Load the MNE -transf.fif: http://neuroimage.usc.edu/forums/showthread.php?2830 * MRI Viewer: * Pan in zoomed view (shift + click + move?) * Zoom in/out with mouse (shift + scroll?) * Ruler tool to measure distances * Display scouts as additional volumes * Render surface envelope in the MRI as a thin line instead of the full interpolation matrix<<BR>>Or use inpolyhedron to get a surface mask and then erode it to get the volume envelope * Edit fiducials: Replace 6 text boxes with 1 for easy copy-paste (see fiducials.m) * Optimize computation interpolation MRI-surface (tess_tri_interp) => spm_mesh_to_grid |
Line 290: | Line 254: |
* Use BrainSuite inner skull for surface generation | * Add new labels to all BrainSuite anatomy templates |
Line 292: | Line 256: |
* Warping: Scale option has to be fixed, it is currently very unstable | * Use for volume coregistration (rigid / non-rigid) * USCBrain: Add default electrodes positions * FEM templates for different ages: * Pediatric head atlases: https://www.pedeheadmod.net/pediatric-head-atlases-v1-2/ * https://iopscience.iop.org/article/10.1088/2057-1976/ab4c76 * https://www.biorxiv.org/content/biorxiv/early/2020/02/09/2020.02.07.939447.full.pdf * John Richards: https://www.nitrc.org/frs/?group_id=1361 |
Line 296: | Line 268: |
* Sort scouts by region in process options | |
Line 297: | Line 270: |
* Sort scouts by region in process options * Menu head model > Copy to other conditions/subjects (check if applicable first) * Generate mixed density surfaces * Optimize computation interpolation MRI-surface (tess_tri_interp) * Render surface envelope in the MRI as a thin line instead of the full interpolation matrix |
* Project from one hemisphere to the other using registered spheres/squares (http://neuroimage.usc.edu/forums/t/how-to-create-mirror-roi-in-the-other-hemisphere/5910/8) * Parcellating volume grids: scikit-learn.cluster.Ward |
Line 303: | Line 273: |
* Smooth surface: Fix little spikes due to irregularities in the mesh * Add eyes models to attract eye activity * tess_mrimask: Not robust enough to major holes in the brain |
* Surface>Volume interpolation: Use spm_mesh_to_grid * Bug: Hide scouts in the preview of the grid for volume head models * Geodesic distance calculations:<<BR>>https://www.mathworks.com/matlabcentral/fileexchange/6110-toolbox-fast-marching |
Line 308: | Line 278: |
* Electrodes models: Import / export | |
Line 309: | Line 280: |
* Import/export electrodes positions in MNI/SCS/MRI coordinates * Co-register MRI and CT for electrodes marking in the MRI Viewer<<BR>>=> Mutual information: BrainVISA > Outils > Recalage rigide * Automatic segmentation of CT scans: See project of Rodrigo Paz (Marseille/Timone) * Import from FreeSurfer/FreeView: Problem of difference between RAS and TkRegRAS: http://neuroimage.usc.edu/forums/showthread.php?1958-SEEG-electrodes-and-subject-s-anatomy-are-not-alligned |
* New option: Align on none|inner|cortex to replace ECOG-mid |
Line 314: | Line 282: |
* ECOG: How to handle cases where not all the grid contacts are in the channel file? (Marcel) * Project contact positions across subjects (Marcel) |
* Project contact positions across subjects or templates (Marcel) * Add menu to import implantation channel file in imported recordings * SEEG/ECOG: Identify contacts in resected areas / identify ROIs for each contact * SEEG/ECOG: Identify contacts in a give anatomical region (volume scout, surface mesh, or label in a volume atlas) / allow extracting the signals from all the contacts in an ROI * Automatic segmentation of CT: * GARDEL: http://meg.univ-amu.fr/wiki/GARDEL:presentation * Arnulfo: https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-015-0511-6 * MAP07 / SPM: https://www.epi.ch/_files/Artikel_Epileptologie/Huppertz_2_13.pdf * ECOG: * Project and display contacts on cortex surface should consider the rigidity of the grids: Contacts cannot rotate, and distance between contacts should remain constant across runs * Method for contacts projection: https://pdfs.semanticscholar.org/f10d/6b899d851f3c4b115404298d7b997cf1d5ab.pdf * ECOG: Brain shift: When creating contact positions on a post-implantation image, the brain shift should be taken into account for creating images of the ECOG contacts on the pre-op brain => iELVis (http://ielvis.pbworks.com/w/page/116347253/FrontPage) |
Line 317: | Line 295: |
* Display SEEG+ECOG contacts at the same time * Better way to represent ECOG strips that are not in contact with the skull (new type?) * SEEG length: count from the most superficial contact * SEEG default view: transparent cortex instead of MRI viewer (Marcel) * ECOG: Project on cortex instead of inner skull, just for display (Marcel) * Color each strip/grid differently |
|
Line 324: | Line 296: |
* ECOG: Topography display without the 3D coordinates (Marcel) * 2DLayout: Should not try to use the actual position of the sensors, just the grids/strips. |
|
Line 327: | Line 297: |
* Alternatives to OpenMEEG: SimBio/FieldTrip? Matti Stenroos? NFT/NIST? * Prepare tutorial with public dataset (Marcel) |
* Display curved SEEG electrodes * Export list of contacts with a probability of anatomical regions from various atlases: https://neuroimage.usc.edu/forums/t/seeg-contacts-anatomical-location/14756 * Detection CEEP stim artifacts: Use ImaGIN code ImaGIN_StimDetect |
Line 332: | Line 303: |
* Use LENA functions(?) | * Which functions to use? * Write panel similar to Process1 and Process2 to allow the |
Line 335: | Line 307: |
* New process to test for Gaussianity using swtest * PLS: Partial Least Squares * Simulate recordings with specific properties, for stat validation |
|
Line 341: | Line 309: |
* Export to R or SPSS for advanced stat | |
Line 343: | Line 312: |
* Bug import multiple files: use same "time" for all files * BIDS import: * Read real fiducials (OMEGA) * Read associated empty room * Test all the BIDS examples * BIDS Export: * Add events tsv, channel tsv, EEG, iEEG * '''XDF import''': Use FieldTRip or the EEGLAB plugin, contact Martin Bleichner (Oldenburg)<<BR>>https://github.com/sccn/xdf/blob/master/xdf_sample.xdf * DICOM converter: * Add dcm2nii (MRICron) * Add MRIConvert * FieldTrip: Import/Export time-frequency: * Export: http://neuroimage.usc.edu/forums/t/export-time-frequency-to-fieldtrip/1968 * Import: http://neuroimage.usc.edu/forums/t/import-time-frequency-data-from-fieldtrip/2644 |
|
Line 345: | Line 329: |
* NYU: Add sensor #6002 (reference magnetometer) | |
Line 348: | Line 331: |
* Validate with phatom recordings that noise compensation is properly taken into account * References at too far from the head sensors in Marseille 4D system |
* Validate with phantom recordings that noise compensation is properly taken into account |
Line 352: | Line 334: |
* Export to EDF | |
Line 354: | Line 335: |
* Nihon Koden * Nicolet EEG: Get from from MNE |
|
Line 358: | Line 337: |
* XLTEK: https://github.com/danielmhanover/OpenXLT * Persyst .lay: https://github.com/ieeg-portal/Persyst-Reader * Nervus .eeg: https://github.com/ieeg-portal/Nervus-Reader * Biopac .acq: https://github.com/ieeg-portal/Biopac-Reader * gTec EEG recordings: Read directly from the HDF5 files instead of the Matlab exports. |
|
Line 359: | Line 343: |
* EEGLAB import: * Support for binary AND epoched files (now it's one or the other) * Allow epoched files with recordings saved in external files * BST-BIN: Add compressionto .bst * BIDS-MEG: Automatic loading of BIDS-structured databases |
* BST-BIN: Add compression to .bst |
Line 365: | Line 345: |
* gTec EEG recordings: Read directly from the HDF5 files instead of the Matlab exports. * Use new Matlab functions readtable/writetable (2006b): for Excel and text files |
* SPM .mat/.dat: Fix the import of the EEG/SEEG coordinates * Get acquisition date from files: Missing for 4D * Support for OpenJData / JNIfTI: https://github.com/brainstorm-tools/brainstorm3/issues/284 |
Line 369: | Line 350: |
* Tutorial OMEGA/BIDS: * Update the organization of derivatives folder (same for ECOG tutorial) * Add review of literature for the resting state MEG * Download example datasets directly from the OMEGA repository * Tutorial iEEG: * Rename _coordsystem/_electrodes => space_other * New tutorials: <<BR>> * Other public datasets: [[https://github.com/INCF/BIDS-examples/tree/bep008_meg|https://github.com/INCF/BIDS-examples/tree/bep008_meg/]] * EEG/research * FieldTrip ECOG tutorial: http://www.fieldtriptoolbox.org/tutorial/human_ecog * FieldTrip cortico-muscular coherence tutorial: http://www.fieldtriptoolbox.org/tutorial/coherence * Reproduce tutorials from MNE-Python: https://martinos.org/mne/stable/tutorials.html * Cam-CAN database: https://camcan-archive.mrc-cbu.cam.ac.uk/dataaccess/<<BR>>(download new datasets, including maxfiltered files and manual fiducial placements) * MEG steady-state / high-gamma visual / frequency tagging * BIDS-EEG example datasets * Reproduce results from "Simultaneous human intracerebral stimulation and HD-EEG, ground-truth for source localization methods": https://www.nature.com/articles/s41597-020-0467-x * Stand-alone ICA tutorial * Move all the files to download to the cloud for faster download everywhere in the world * Provide secure way of sending password over HTTPS for: * Account creation * Forum exchanges * org.brainstorm.dialog.CloneControl |
|
Line 370: | Line 374: |
* Reference tutorials on Google scholar + ResearchGate * Cleaning threads on the forum * Update the list of features and link in the Introduction page * Google Analytics: Create template and update the section of the Community page * Finish existing tutorials: * EEG/Epilepsy: Rewrite scripts + update contents (with Geneva2015 walkthrough) * Dipoles * Group MEM/Epilepsy + Epilepsy tutorials |
* Count GitHub clones in the the download stats |
Line 379: | Line 376: |
* New tutorials: * MEG steady-state / high-gamma visual * Intra-cranial recordings * MEG connectome (impossible without the head shapes) * Coherence (cortico-muscular ?) * Co-register MEG runs (Beth) * Missing in the introduction tutorials: * SSP: Create projector from any topography figure (right-click > Create SSP) * Description of the .pos files (different folder when in .ds folder or when imported after) * Volume scouts * Time-frequency: Description of "log freq scale" option * Scripting: Modify a structure manually: Export to Matlab/Import from Matlab * Scripting: File manipulation: file_short, file_fullpath, in_bst_*... * Detect bad channels: Peak-to-peak * Script tutorials: ask what folder contains the tutorial datasets * Missing in tutorial "Export to SPM": Add section "Compare with Brainstorm" * Missing in page "Cite Brainstorm": Add all the methods used in the software |
* Clean up the wiki: * Remove all the wiki pages that are not used * Check all the links in all the pages * Check that all the TODO blocks have been properly handled * Remove useless images from all tutorials * Update page count on the main tutorials page |
Line 398: | Line 384: |
* Screen capture: * Bug on Win8/Win10: doesn't capture the correct part of the screen * Window managers with fading effect: captures the top window |
* MacOS 10.14.5 (Mojave): * Toggle buttons do not show their status * Panel Record: Text is too large for text boxes |
Line 405: | Line 391: |
* (TF) Images are too far apart with EEG 20 channels | |
Line 408: | Line 393: |
* (time series) Sometimes the lines are not visible * (time series) Does not work when DC offset is not removed |
|
Line 417: | Line 400: |
* Matlab bugs: * Interface looks small on screens with very high resolutions: Reduce the resolution * Event markers are not visible anymore with the sequence: Open MEG, open EOG, close MEG * in_bst_data_multi: If trials have different sizes, output is random (the one of the first file) * Edit scout in MRI: small modifications cause huge increase of the scout size |
|
Line 423: | Line 401: |
* Change of default anatomy does not reset the interpolation matrices in all the subjects. * After projecting sources once from subject to default anat, the interpolation is saved and not updated. Interpolations need to be removed manually before projecting again on a new template. |
|
Line 427: | Line 403: |
* Replace all calls to inpolyhd.m with inpolyhedron.m * bst_bsxfun: After 2016b, we can use directly the scalar operators (./ .* ...) instead of bsxfun. Update bst_bsxfun to skip the use of bsxfun when possible. * Interface scaling: Rewrite class IconLoader to scale only once the icons at startup instead of at each request of an icon (might improve the speed of the rendering of the tree) |
|
Line 435: | Line 414: |
* Progress bar: * Add different levels (to handle sub-processes) * Make work correctly with RAW on resting tutorial * Uniformize calls in bst_process/Run * Add a "Cancel" button |
|
Line 441: | Line 415: |
* Error message: Add a link to report directly the bug on the forum |
What's next
A roadmap to the future developments of Brainstorm.
Contents
Recordings
- Default montages for EEG (sensor selection)
- Sleep scoring wish list (Emily C):
- Configurable horizontal lines (for helping detecting visually some thresholds)
- Mouse ruler: Measure duration and amplitude by dragging the mouse.
- Automatic spindle detector
https://neuroimage.usc.edu/forums/t/page-overlap-while-reviewing-raw-file-a-way-to-set-to-0/11229/13
- RAW file viewer:
- Downsample before filtering? (attention to the filter design)
- Add parameter to make the visual downsampling more or less aggressive
- Pre-load next page of recordings
- Keep the filter specifications in memory instead of recomputing for every page
- Bad trials: When changing the status of bad to good: remove the bad segments as well, otherwise it is not processed by processes like the PSD.
- Review clinical recordings: Reduce the dimensionality of the data with a simple inverse problem, similar to what we do for the magnetic extrapolation ("Regional sources" in BESA, cf S Rampp)
- MEG/EEG registration: Apply the same transformation to multiple runs
- Create heat maps: Maybe with matlab function heatmap?
BioSemi: Add menu "Convert naming system" to rename channels into 10-10 (A1=>FPz)
Interface
Add a warning when computing a forward model with > 100000 sources (check selection)
- Snapshot: Save as image / all figures (similar to Movie/all figure)
Generalize the use of the units (field .DisplayUnits): Rewrite processes to save the units correctly
- Colormaps:
- Allow brightness/contrast manipulations on the custom colormaps
- Global colormap max: Should get the maximum across all the open files
- Copy figures to clipboard (with the screencapture function)
- Smooth display from figure_image (ERPimage, raster plot...)
Contact sheets & movies: use average of time windows instead of single instants, for each picture.
- Contact sheets: Allow explicit list of times in input (+ display as in MNE-Python with TS)
- Display CTF coils: Show discs instead of squares
- Use boundary() instead of conhull() in all the display functions (ie. 2DDisc)
- Progress bar: Add a "Cancel" button
- Error message: Add a link to report directly the bug on the forum
Reorganize menus (Dannie's suggestion):
Connectivity
- Thresholding and stat tests the connectivity matrices
- Connectivity on unconstrained sources: "Default signal extraction for volume grids should be the time series of the first principal component of the triplet signals after each has been zero-meaned" (SB)
- Display of connectivity graphs:
- Display as straight lines
- Recode 2D graphs
- 3D display with anatomical constrains
- Display using real position of EEG electrodes
- Use new band-pass filters in bst_connectivity ('bst-hfilter' instead of 'bst-fft-fir')
- Matrix view of NxN graphs: Add legend of the elements along X and Y axis
- Weighted Phase Lag Index (WPLI)
- Graph view:
- Does not display negative values correctly (correlation or difference of coherence)
- Re-write using pure Matlab code and smoothed graphics
- Fixed scales for intensity sliders
- Text bigger
- Too much data in appdata
- Fixed scales for intensity sliders
- Add "=" shortcut for having graphs with similar configurations
- Disable zoom in one region (serious bugs)
- NxN on sensors: does not place the sensors correctly in space
- Coherence:
Average cross-spectra instead of concatenating epochs (to avoid discontinuities)
Explore inter-trial approaches (Esther refers to chronux toolbox)
- Granger: Check for minimum time window (Esther: min around 500-1000 data points)
- PLV:
- Add p-values
- Remove evoked
- Optimize code
- Add time integration
- Unconstrained sources
- Add warning when running of short windows (because of filters)
- Time-resolved correlation/coherence: Display as time bands
Tutorial coherence [1xN] : Reproduce FieldTrip results?
Connect NxN: Display as time series > Display warning before trying to open too many signals
Processes
- Decoding/Classifiers: Implement Dimitrios and scikit-learn algorithms
- Allow processes in Python and Java
- Add MNE-Python functions:
- scikit-learn classifiers
https://neuroimage.usc.edu/forums/t/best-way-to-export-to-mne-python/12704/3
- Reproduce other tutorials / examples
Point-spread functions (PSFs) and cross-talk functions: https://mne.tools/stable/auto_examples/inverse/plot_psf_ctf_vertices.html#sphx-glr-auto-examples-inverse-plot-psf-ctf-vertices-py
Spatial resolution metrics in source space:
https://mne.tools/stable/auto_examples/inverse/plot_resolution_metrics.html#sphx-glr-auto-examples-inverse-plot-resolution-metrics-py- Change the graphic renderer from Matlab
Add FieldTrip functions:
- ft_sourceanalysis:
- Check noise covariance
- Check all the options of all the methods
- Single trial reconstructions + noise covariance?
Filters?? http://www.fieldtriptoolbox.org/example/common_filters_in_beamforming
Beamformers: Save ftSource.avg.mom
http://www.fieldtriptoolbox.org/workshop/meg-uk-2015/fieldtrip-beamformer-demohttp://www.fieldtriptoolbox.org/tutorial/beamformingextended
- Baseline? Two inputs?
ft_prepare_sourcemodel: Compute MNI transformation (linear and non-linear) => Peter
- ft_prepare_heamodel: Add support from BEM surfaces from the Brainstorm database
- Freqanalysis: ITC
- ft_read_atlas('TTatlas+tlrc.BRICK');
ft_volumereslice: http://www.fieldtriptoolbox.org/faq/how_change_mri_orientation_size_fov
- ft_freqanalysis
- ft_combineplanar
- ft_sourceanalysis:
- Optimization:
- Use CUDA for speeding up some operations (filtering, wavelets, etc)
- Use Matlab Coder to optimize: Wavelets, bandpass filter, sinusoid removal
- Pipeline editor:
- Bug: After "convert to continuous", the time of the following processes should change
- Add loops over subjects/conditions/trial groups
- Events: Allow selection from a drop-down list (similar to option "channelname" in panel_process_selection)
- When computing sources from the pipeline editor: doesn't reselect the options if you click twice on "edit" (works for minnorm, but not for lcmv)
ITC: Inter-trial coherence (see MNE reports for group tutorial)
http://www.sciencedirect.com/science/article/pii/S1053811916304232- ICA:
- Add methods: SOBI, Fastica, AMICA/CUDICA/CUDAAMICA (recommended by S Makeig)
- Why doesn't the ICA process converge when using 25 components in the EEG tutorial?
- Add an option to resample the signals before computing the ICA decomposition
- Exploration: Add window with spectral decomposition (useful for muscle artifacts)
- Export IC time series (and then compute their spectrum): solves the problem above
Comparison JADE/Infomax:
http://journals.plos.org/plosone/article?id=10.1371/journal.pone.0030135- Use faster methods (MNE-Python?)
Dimension reduction with PCA adds artifacts: Not done by default in EEGLAB
Contact: Stephen Shall Jones ( shall-jones@infoscience.otago.ac.nz )
Student Carl Leichter detailed this in his thesis- S Makeig: Use ICA to select the IC of interest instead of only removing artifacts
- Display of spectrum for components (PSD/FFT)
- Import ICA matrices available in EEGLAB .set files
EEGLAB recommends ICA + trial rejection + ICA again: Impossible right now with Brainstorm
(http://sccn.ucsd.edu/wiki/Chapter_09:_Decomposing_Data_Using_ICA)ICA+machine learning: https://www.ncbi.nlm.nih.gov/pubmed/28497769
Automated artifact rejection: https://arxiv.org/abs/1612.08194
Use EYE-EEG: EEGLAB toolbox for eye-tracker guided ICA (Olaf Dimigen): http://www2.hu-berlin.de/eyetracking-eeg/
- Other EEGLAB functions:
Step function detection: https://github.com/lucklab/erplab/wiki/Artifact-Detection:-Tutorial
- SSP:
Display warning if changing the ChannelFlag while there is a Projector applied
- Spectral flattening (John):
- ARIMA(5,0,1): Apply on the signal before any frequency/connectivity/PAC analysis
- PSD:
- Rewrite to have the same input as coherence (frequency resolution instead of window length)
Allow display of Avg+StdErr
Remove line noise: http://www.nitrc.org/projects/cleanline
- Time-frequency:
- Optimization: bst_timefreq (around l.136), remove evoked in source space: Average should be computed in sensor space instead of source space (requested by Dimitrios)
Short-time Fourier transform: http://www.mikexcohen.com/lectures.html
Matching pursuit: http://m.jneurosci.org/content/36/12/3399.abstract?etoc
- Bug: Display logs as negative
- Bug: 3D figures: Colormaps with "log" option doesn't work
- Bug: Difference of power displayed in log: problems (Soheila)
- 2D Layout in spectrum
- Make much faster and more memory efficient (C functions coded by Matti ?)
- TF scouts: should display average of TF maps
- Impossible to keep complex values for unconstrained sources
- Pad short epochs with zero values for getting lower frequencies
- Hilbert with time bands very slow on very long files (eg. 3600s at 1000Hz) because the time vector is still full (10^7 values): save compressed time vector instead.
- Extend clusters tab to display of TF to overlay TF signals (Svet)
- When normalizing with baseline: Propagate with the edge effects marked in TFmask
- Allow baseline normalization of files computed with time bands
- Allow running TF on montages
- Review continuous files in time-frequency space (for epilepsy)
- Bug when computing TF on constrained and unconstrained scouts at the same time (in mixed head models for instance): uses only the constrained information and doesn't sum the 3 orientations for the unconstrained regions.
- Artifact detection:
- Artifact rejection like SPM: if bad in 20%, bad everywhere
- Test difference between adjacent samples
- Events detection: Add option "std" vs "amplitude"
- Simulation:
- Use field process field "Group" to separate Input/Processing/Output options
- Use new Matlab functions: movmean, movsum, movmedian, movmax, movmin, movvar, movstd
Database
- MEG protocols: More flexible organization of the database; sub-conditions to allow different runs X different conditions.
- Matrix files: Allow to be dependent from other files
- Rename multiple files
- Default headmodel lost when reloaded: Keep selection on the hard drive (in brainstormstudy.mat)
- Auto-save:
protocol.mat can be too big: do not store the results links in it (and recreate when loading)- http://neuroimage.usc.edu/forums/t/abnormally-slow-behavior/2065/10
- Improve auto-save: add tracking file next to protocol.mat, do not save all the time, only when closing app, and reload protocol at stratup if tracking file is still there
Distributed computing
Options from FieldTrip:
Loose collection of computers: https://github.com/fieldtrip/fieldtrip/tree/master/peer
Alternative, with less limitations: http://research.cs.wisc.edu/htcondor/
Single multicore machine: https://github.com/fieldtrip/fieldtrip/tree/master/engine
Batch system: https://github.com/fieldtrip/fieldtrip/tree/master/qsub
Documentation: http://fieldtrip.fcdonders.nl/faq#distributed_computing_with_fieldtrip_and_matlab
Various initiatives: http://samirdas.github.io/Data_sharing.html#/
Source modeling
- Unconstrained to flat: Default PCA for stat and connectivity?
Sensitivity maps: https://mne.tools/stable/auto_examples/forward/plot_forward_sensitivity_maps.html
Reproduce results in "Simultaneous human intracerebral stimulation and HD-EEG, ground-truth for source localization methods": https://www.nature.com/articles/s41597-020-0467-x
Use eLORETA instead of sLORETA?
https://neuroimage.usc.edu/forums/t/compute-eeg-sources-with-sloreta/13425/6"eLORETA algorithm is available in the MEG/EEG Toolbox of Hamburg (METH)": https://www.biorxiv.org/content/biorxiv/early/2019/10/17/809285.full.pdf
- Point-spread and cross-talk functions (code in MNE-Python):
- Dipoles:
- Project individual dipoles files on a template
- panel_dipoles: Doesn't work with multiple figures
- Project sources: Very poor algorithm to project sub-cortical regions and cerebellum (algorithm to fit surfaces should be imrpoved)
Menu head model > Copy to other conditions/subjects (check if applicable first)
Menu Sources > Maximum value: Doesn't work with volume or mixed head models
- Mixed head models:
- Set loose parameter from the interface
- Bug when displaying interpolated in MRI viewer
- Volume grid:
- Optimize: 3D display (better than 9x9 cubes)
- Optimize: vol_dilate (with 26 neighbors)
Menu Sources > Simulate recordings:
- Do not close the 3D figures after generating a new file
- Add a process equivalent to this menu
- Panel Get coordinates: Add button "find maximum"
- BEM single sphere: Get implementation from MNE
- Unconstrained sources:
- Stat and connectivity: what to do? (re-send email John+Sylvain)
Sources on surface: Display peak regions over time (time = color) => A.Gramfort
- Process "Extract scouts time series": Add PCA option (replace isnorm with choice PCA/Norm)
- Add eyes models to attract eye activity
Anatomy
- Keep ASEG volume + display region name in MRI viewer
SimNIBS: Replace HEADRECO with CHARM (headreco will be removed in SimNIBS 4)
- Infant templates: Add electrodes positions (at least 10-10)
- Multi-Scale Brain Parcellator (Lausanne2008):
- MNI transformation: Use SPM non-linear MNI transformation y_...
- Registration:
Getting electrode positions from 3D scanners: https://sccn.ucsd.edu/wiki/Get_chanlocs
Use the same registration for multiple recording sessions that have already re-registered previously (eg. with MaxFilter)
- When linking multiple EEG recordings including 3D positions, do the registration only once and copy it to all the runs
- Compute non-linear MNI registration instead of linear
- Select and remove bad digitized head points before automatic coregistration
Load the MNE -transf.fif: http://neuroimage.usc.edu/forums/showthread.php?2830
- MRI Viewer:
- Pan in zoomed view (shift + click + move?)
- Zoom in/out with mouse (shift + scroll?)
- Ruler tool to measure distances
- Display scouts as additional volumes
Render surface envelope in the MRI as a thin line instead of the full interpolation matrix
Or use inpolyhedron to get a surface mask and then erode it to get the volume envelope- Edit fiducials: Replace 6 text boxes with 1 for easy copy-paste (see fiducials.m)
Optimize computation interpolation MRI-surface (tess_tri_interp) => spm_mesh_to_grid
BrainSuite:
Add new labels to all BrainSuite anatomy templates
- Use same colors for left and right for anatomical atlases
- Use for volume coregistration (rigid / non-rigid)
- USCBrain: Add default electrodes positions
- FEM templates for different ages:
- Scouts:
- Display edges in the middle of the faces instead of the vertices
- Display scouts in a tree: hemisphere, region, subregion
- Sort scouts by region in process options
- Downsample to atlas: allow on timefreq/connect files
Project from one hemisphere to the other using registered spheres/squares (http://neuroimage.usc.edu/forums/t/how-to-create-mirror-roi-in-the-other-hemisphere/5910/8)
- Parcellating volume grids: scikit-learn.cluster.Ward
- Major bug when importing surfaces for an MRI that was re-oriented manually
Surface>Volume interpolation: Use spm_mesh_to_grid
- Bug: Hide scouts in the preview of the grid for volume head models
Geodesic distance calculations:
https://www.mathworks.com/matlabcentral/fileexchange/6110-toolbox-fast-marching
ECOG/SEEG
- Electrodes models: Import / export
- Contact positions: Import / set / detect
- New option: Align on none|inner|cortex to replace ECOG-mid
- Add history: Save modifications and transformations applied to the channel files (Marcel)
- Project contact positions across subjects or templates (Marcel)
- Add menu to import implantation channel file in imported recordings
- SEEG/ECOG: Identify contacts in resected areas / identify ROIs for each contact
- SEEG/ECOG: Identify contacts in a give anatomical region (volume scout, surface mesh, or label in a volume atlas) / allow extracting the signals from all the contacts in an ROI
- Automatic segmentation of CT:
- ECOG:
- Project and display contacts on cortex surface should consider the rigidity of the grids: Contacts cannot rotate, and distance between contacts should remain constant across runs
Method for contacts projection: https://pdfs.semanticscholar.org/f10d/6b899d851f3c4b115404298d7b997cf1d5ab.pdf
ECOG: Brain shift: When creating contact positions on a post-implantation image, the brain shift should be taken into account for creating images of the ECOG contacts on the pre-op brain => iELVis (http://ielvis.pbworks.com/w/page/116347253/FrontPage)
- Display:
- Bad channels: Contacts greyed out instead of ignored (Marcel)
- Display time in H:M:S
- Display curved SEEG electrodes
Export list of contacts with a probability of anatomical regions from various atlases: https://neuroimage.usc.edu/forums/t/seeg-contacts-anatomical-location/14756
Detection CEEP stim artifacts: Use ImaGIN code ImaGIN_StimDetect
Statistics
- ANOVA:
- Which functions to use?
- Write panel similar to Process1 and Process2 to allow the
- Output = 1 file per effect, all grouped in a node "ANOVA"
- Display several ANOVA maps (from several files) on one single figure, using a "graphic accumulator", towards which one can send any type of graphic object
Quality control before statistics, on condition averages across subjects:
mean(baseline)/std(baseline): shows bad subject quickly.Use SurfStat: Impements interesting things, like an analytical cluster-based p-value correction (Random-field theory which is used in SPM) - Peter
- Export to R or SPSS for advanced stat
Input / output
- Bug import multiple files: use same "time" for all files
- BIDS import:
- Read real fiducials (OMEGA)
- Read associated empty room
- Test all the BIDS examples
- BIDS Export:
- Add events tsv, channel tsv, EEG, iEEG
XDF import: Use FieldTRip or the EEGLAB plugin, contact Martin Bleichner (Oldenburg)
https://github.com/sccn/xdf/blob/master/xdf_sample.xdf- DICOM converter:
- Add dcm2nii (MRICron)
- Add MRIConvert
FieldTrip: Import/Export time-frequency:
- 4D file format:
- Use reader from MNE-Python: mne.io.read_raw_kit (doesn't require Yokogawa slow library)
- Reference gradiometers: Keep the orientation of the first or second coil?
- Reference gradiometers: Add the sensor definition from coil_def.dat
- Validate with phantom recordings that noise compensation is properly taken into account
- The noise compensation is considered to be always applied on the recordings, not sure this assumption is always correct
- 4D phantom tutorial (JM Badier?)
- EEG File formats:
EEG CeeGraph
- EGI: Finish support for epoched files (formats 3,5,7)
Persyst .lay: https://github.com/ieeg-portal/Persyst-Reader
Nervus .eeg: https://github.com/ieeg-portal/Nervus-Reader
Biopac .acq: https://github.com/ieeg-portal/Biopac-Reader
- gTec EEG recordings: Read directly from the HDF5 files instead of the Matlab exports.
- BCI2000 Input (via EEGLAB plugin)
- BST-BIN: Add compression to .bst
- Review raw on all the file formats (ASCII EEG and Cartool missing)
- SPM .mat/.dat: Fix the import of the EEG/SEEG coordinates
- Get acquisition date from files: Missing for 4D
Support for OpenJData / JNIfTI: https://github.com/brainstorm-tools/brainstorm3/issues/284
Distribution & documentation
- Tutorial OMEGA/BIDS:
- Update the organization of derivatives folder (same for ECOG tutorial)
- Add review of literature for the resting state MEG
- Download example datasets directly from the OMEGA repository
- Tutorial iEEG:
Rename _coordsystem/_electrodes => space_other
New tutorials:
Other public datasets: https://github.com/INCF/BIDS-examples/tree/bep008_meg/
- EEG/research
FieldTrip ECOG tutorial: http://www.fieldtriptoolbox.org/tutorial/human_ecog
FieldTrip cortico-muscular coherence tutorial: http://www.fieldtriptoolbox.org/tutorial/coherence
Reproduce tutorials from MNE-Python: https://martinos.org/mne/stable/tutorials.html
Cam-CAN database: https://camcan-archive.mrc-cbu.cam.ac.uk/dataaccess/<<BR>>(download new datasets, including maxfiltered files and manual fiducial placements)
- MEG steady-state / high-gamma visual / frequency tagging
- BIDS-EEG example datasets
Reproduce results from "Simultaneous human intracerebral stimulation and HD-EEG, ground-truth for source localization methods": https://www.nature.com/articles/s41597-020-0467-x
- Stand-alone ICA tutorial
- Move all the files to download to the cloud for faster download everywhere in the world
- Provide secure way of sending password over HTTPS for:
- Account creation
- Forum exchanges
org.brainstorm.dialog.CloneControl
Workflows FieldTrip: http://www.fieldtriptoolbox.org/faq/what_types_of_datasets_and_their_respective_analyses_are_used_on_fieldtrip
Count GitHub clones in the the download stats
- Deface the MRIs of all the tutorials
- Clean up the wiki:
- Remove all the wiki pages that are not used
- Check all the links in all the pages
- Check that all the TODO blocks have been properly handled
- Remove useless images from all tutorials
- Update page count on the main tutorials page
Current bugs
- MacOS 10.14.5 (Mojave):
- Toggle buttons do not show their status
- Panel Record: Text is too large for text boxes
- Image viewer:
- Difficult to get to 100%
- Buggy on some systems
- 2DLayout:
- (TF) Units are weird with % values
- (TF) Difficult to navigate in frequencies: Scaling+changing frequency resets the scaling
- Progress bar:
- Doesn't close properly on some Linux systems
- Focus requests change workspace when processing constantly (Linux systems)
- MacOS bugs:
- Buttons {Yes,No,Cancel} listed backwards
- Record tab: Text of epoch number is too big
- Colormap menus: Do not work well on compiled MacOSX 10.9.5 and 10.10
- Canolty maps computation: Fix progress bar
Geeky programming details
- Replace all calls to inpolyhd.m with inpolyhedron.m
- bst_bsxfun: After 2016b, we can use directly the scalar operators (./ .* ...) instead of bsxfun. Update bst_bsxfun to skip the use of bsxfun when possible.
Interface scaling: Rewrite class IconLoader to scale only once the icons at startup instead of at each request of an icon (might improve the speed of the rendering of the tree)
- Hide Java panels instead of deleting them
- Processes with "radio" and "radio_line" options: Replace with "radio_label" and "radio_linelabel"
- Interpolations: Use scatteredInterpolant, griddedInterpolant, triangulation.nearestNeighbor (2014b)
- bst_warp and channel_project: Use tess_parametrize_new instead of tess_parametrize
- Shared kernels: "get bad channels" operation in a different way (reading all the files is too slow)
- Optimize bst_get:
- Now study and subject have necessarily the same folder name
- Replace big switch with separate functions
- Fix all the 'todo' blocks in the code