Fieldtrip statistics

Dear BST Masters,

I see with great interest that you are implementing Fieldtrip statistics both at the sensor and source level. Is this ongoing work or can we safely start using it?

I have tried the source stats, and I have a couple of questions:

  • How do you define neighbour voxels?
  • How can I plot the significant clusters on cortex? (I see that the resulting stats structure contains the cluster vertices but I cannot find a way to plot them)

Sorry for harassing, I’m eager to test it!

Thanks,

Marco

Hi Marco,

This is currently under development, we are still changing a lot of things in the implementation.
But you can expect it to be finished soon, probably in september. The work is mostly about converting back and forth between Brainstorm and FieldTrip structures, defining a limited set of interesting parameters (out of the dozens that can be modified in FieldTrip) and finding nice ways or representing the results. We won’t work on the validation of the method itself, as it just calls the FieldTrip functions as is.

You’re more than welcome to help us with this. I would primarily need feedback on the inputs to select and the display of the results, as I am definitely not an expert in statistics.

About your two questions:

  • Neighborhood of a grid point: I’m not sure, we need to check what is done in FieldTrip by default.
  • Clusters on the cortex: This is not done yet… For now you can see the t-values for vertices that are part of a significant cluster (default display) but without being able to see to which cluster it belongs. How would you like to have this information presented?

Cheers,
Francois

Hi Marco,

We refined the way the neighborhood is defined for all types of source models.

  • Surface source models: uses the vertex adjacency matrix. Two vertices are neighbors if they are connected in the cortex surface (exactly what you see when you click on the [Edges] button in the Surface tab)
  • Volume source model (and mixed models): uses the Delaunay triangulation as the vertex-vertex connectivity matrix. Two vertices are neighbors if they are connected by a tetrahedron in the Delaunay representation AND if they are less than 2cm apart.

Does this seem reasonable to you?
Update Brainstorm before trying again.

Francois

Hi Francois,

I have tested the source statistics by playing with the parameters, and all runs smoothly so far, including scrolling in time the visualization of the clusters in source space.

The choice of neighbours seems very reasonable to me (though I have little experience in Fieldtrip statistics at the source level, you should get confirmation from the Fieldtrip folks).

Also, the set of parameters that you let the user modify are all the ones that I would wish to modify.

About visualization:

  • it would be nice to have the option add the clusters as scouts in the user’s scout list (I understand that something similar is in your list), and know which one is which. I usually name them as pc1, pc2, … (pc stands for positive cluster, and the order is based on statistical significance) and accordingly nc1, nc2, … for the negative clusters.
  • it would also be nice to overlap the cluster on the cortex activation (i.e. the difference between two conditions). This is easliy done by marking the sensors with dots or stars at the sensor level, but I don’t know what would be the best choice on the cortex.

Other points:

  • I do not understand the “Scout function” option (Mean, PCA or all): is it relative to the use of scouts or something else?
  • I see that it’s possible to perform the analysis on the scouts, and in particular on cortical parcellations, which sound great to me, but for the moment the result is a matrix. Will it be possible to define neighbours also in that case and visualize on the cortex?

Thanks,

Marco

Hi Marco,

Yes, I will work on this in the next few months. Not sure what it's going to look like yet...

it would also be nice to overlap the cluster on the cortex activation (i.e. the difference between two conditions). This is easliy done by marking the sensors with dots or stars at the sensor level, but I don't know what would be the best choice on the cortex.

Scouts would work for this purpose as they are semi-transparent, they can be hidden, and they are saved in the cortex surface and can therefore be overlaid on any source map.
The main technical problem is that the clusters change in time, I'm not sure how to deal with this yet.

I do not understand the "Scout function" option (Mean, PCA or all): is it relative to the use of scouts or something else?

You can check out these two new tutorials (I finished the first one yesterday and am still working on the second one):
http://neuroimage.usc.edu/brainstorm/Tutorials/Scouts
http://neuroimage.usc.edu/brainstorm/Tutorials/TimeFrequency

I see that it's possible to perform the analysis on the scouts, and in particular on cortical parcellations, which sound great to me, but for the moment the result is a matrix. Will it be possible to define neighbours also in that case and visualize on the cortex?

For now it's not possible, I'll have to think about how to deal with this too in the interface.
For now you can do it with a combination of processes to recreate a source map from the thresholded scouts times series:

  • Extract > Apply statistics threshold
  • Simulate > Simulate recordings from scouts, check the option "Save full sources"

Cheers,
Francois