Login Immutable Page | Info | Attachments | More actions...
Search:
      

Future developments

Unsolved problems

  • Influence of the software used to extract surfaces (BrainVisa, BrainSuite, FreeSurfer)

  • Type of cortex surface to use: grey/white, grey/csf, midsurface ?
  • How to get good surfaces for BEM ?
  • Group analysis, what to do?
    1) localization on individual brain + interpolation on MNI brain
    2) localization on MNI brain

Source Modeling

  • Use noise covariance: compute or import, store, and integrate in inverse modeling
  • Test EEG forward models with smulations
  • BFS estimation from scalp surfece: use only the vertices that are above the cerebellum
  • BFS estimation from cortex surface: use a convex enveloppe
  • BEM: Alexandre Gramfort / OpenMEEG / INRIA
  • Minimum Norm: Rewrite code => John

  • Minimum Norm: Unconstrained and loose constrain (like in Matti's MNE) => John

  • Dipole fitting
  • RAP-MUSIC
  • FEM Toolbox ?
  • Magnetic extrapolation: use SSP
  • Problem: "Projector" field (SSP vectors) is stored in ChannelFile instead of DataFile, but when we load only ChannelFile=> "Projector" not saved...

  • Overlapping spheres: Somatotopy > S02 > Right-1: algorithm crashes

New interface elements

  • Scripting system: for manipulating the database from a matlab script
  • Time-frequency display
  • Simulation: synthesize pseudo data-files from a cortex patch (duration, amplitude, noise)
  • Add menu to create a new result/data/headmodel file from a single matrix in Matlab workspace
  • Add menu: File > save a brainstorm full protocol (produces a zipped package that can be directly imported in another bst installation). Need: import zipped package

  • Add menu: File> Make a copy of this file

  • Movies: Use JAVE (Java)
  • Screen captures: Use Yair Altman functions (in Matlab Central)
  • Drag'n'drop files in tree
  • Stand-alone version of MRI and surface viewers
  • Display PCA components for scouts => Sheraz, Rey

    D = Kernel(vertices, channel) . Data(ch, time)

    [U,S,V] = svd(D,'econ')

    Dpca = V(:,1) . S(1,1);

Anatomy

  • Warping : deformation of template MRI+surface towards a set of points (eg. EEG electrodes, only fiducials, Polhemus points) to create a pseudo-individual anatomy.=> Integrer fonctions de Lyon

  • Remap results computed on downsampled surfaces to initial surfaces
  • Segmentation of cortex in brodman areas (one scout = one area) => Karim

  • Check Talairach coordinates (MRIViewer)
  • Add a menu : "set as template" on the subject/anat (to let user create default anatomies)
  • 2D/3D recordings topography:
    • Improve tess refine (add point center of face, interp in spherical coordinates)
    • Use Rey's surfaces (registered with each channel file)

Processes / stat

  • Regression based on several topographies: for Lionel Naccache
  • Causality, coherence
  • Expand scout based on correlation: Ask Dimitrios
  • Resample:
    • Import time: remove baseline before, or find another trick. If not, there is a big artifact at the beginning
    • Cannot process by blocks, data block size changes => process_apply crashes

    • Find a free version of Matlab's "resmple" function (Signal Processing Toolbox)
  • Band-pass filtering: Find a free version (that does not requires Signal Processing Toolbox)
  • Averages/differences/stat: process by blocks (like process_apply.m)
  • ANOVA (need a subdivision of the conditions in factors)
  • Segmentation in microstates => Contacter Julien Lefevre et Christoph Michel

  • For long recordings: integrate signal / convolve with HRF function (to create fMRI-like datasets)
  • Extend the "clusters" use to the statistical tests
  • Save the the variance when computing averages
  • Grand-average: adjust to individual lags
  • Optical flow

Group analysis

  • Project on default anatomy: do by blocks
  • Add possibility to filter (temporaly AND spacialy) the sources before comparing subjects
    => Use bst_smooth_fun.m

  • Normalize amplitudes across different subjects ? (subjects can have very different amplitudes of repsonse)
  • Register different MEG runs (recompute fields for a different set of sensors) => Needed to compare recordings from different runs.
    => Use MEGCoregister from old brainstorm

Display

  • Display EEG/MEG time series in columns
  • MRIViewer: add a neurological / radiological radio button
  • Sources on MRI displayed as contact sheet slices (in any orientation)
  • Magnetic extrapolation:
    • Do the same thing with EEG
    • Optimize Rey's function
    • Add waitbar
  • 2DLayout: Display time cursor
  • 2DLayout: Enable channel selection
  • Projection of MEG field on the scalp (with bst_extrapm)
  • Add time markers (viz only) : displayed in all the time series
    => Use automatically these values for in all the fields time values are required (combo-box ?)
    => Generate a list of markers when a stat value is > a given value

  • Replace old waitbars with java ones
    => Add a "Cancel" button on waitbars when the bounds are defined (when we control the process)

  • Better cortex render: interpolate on refined mesh + uniformize dark curvature areas
  • Add an application icon for Brainstorm windows and figures
  • Use a more representative icon for "result" / "sources" (ex. cortex with colors)

I/O

  • Read / visualize / process long recordings (save data in binary format, or matlab files with more than one 'F' matrix)
  • Rewrite all the I/O layer to abstract the file format while reading in a file => Needed for raw viewer

  • Output FreeSurfer

  • Output Fiff
  • In/out 4D/BTi (data: ask Rey, or Christian Benard from Marseille)
  • In/out FieldTrip structures

  • In/out Gifti format
  • In/out MEG160 (KIT)
  • In/out Dicom
  • In/out LENA format (new one)
  • In Brain Products Vision Analyzer
  • In EEG BESA
  • In EEG BrainVision

  • In EEG EEProbe
  • In Analyze: Detect endianness with header size
  • In/out cortical sources <-> 4D Analyze files (for interaction with SPM)

  • Define scouts from SPM / Analyze 3D masks
  • Fix Analyze output functions (cannot be imported in SPM)
  • Import RAW data (Neuroscan, FIF): Remove baseline at importation
  • Group interfaces for all the raw formats (EGI, Neuroscan, FIF, CTF, LENA)

Programming details

  • Single trial studies:
    • when parsing directory, do not read all the files, one is enough
    • using only one shared "linkresults" file for all the trials
  • Clean bst_headmodeler.m/ bst_sourceimaging.m
  • Pluginization for : Forward models, Inverse models, I/O functions, Processes
  • Use parfor instead of for when distributed computed toolbox available
  • Use bsxfun when possible
  • Optimize tree refresh speed: profile tree_createNodeStudy while pressing F5 many times