Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Volume-based stratification of the cortical surface #251

Merged
merged 4 commits into from
Mar 27, 2018

Conversation

alexhuth
Copy link
Contributor

@alexhuth alexhuth commented Dec 19, 2017

This branch is not complete yet, but I created the PR to facilitate discussion about these features and related changes.

This adds volume-based cortical surface stratification to the webgl viewer. This changes the behavior of the 'depth' slider, so that for a selected depth (e.g. depth=0.5), the resulting surface is not halfway between the pial and white matter surfaces, but is instead a surface that has half of the cortical volume above it and half of the cortical volume below it. This obeys "Bok's principle", and much more accurately matches actual cortical layers than the current method.

In preliminary testing volume-based straficiation seems to have a modest effect on the mapping of high-resolution data, such as T1-weighted volumes, but I haven't tested lower resolution functional data. In particular, I found that the new method yields T1w maps that are less confounded by surface curvature than the old method, which suggests that it is indeed more accurate.

Currently equivolume-mode is disabled by default, and can be enabled in a webgl viewer by checking a box labeled 'equivolume'. In my opinion there is no reason to prefer the old distance-based cortical surfaces to the new volume-based surfaces, so I think the default should probably be that it is on, but that can be discussed.

The equation for determining the location of a cortical surface using volume-based sampling comes from this paper: http://www.sciencedirect.com/science/article/pii/S1053811913003480

More information about this technique can also be found here: http://brainvoyager.com/bv/doc/UsersGuide/HighResDataAnalysis/EquiVolumeDepthModelling.html

Edit: many thanks to @kwagstyl for discussions and help with the theory & equations here.

@alexhuth
Copy link
Contributor Author

To-dos:

  • Add volume-based stratification to quickflat.
  • Add depth-specific volume-stratified samplers to mapper.

@alexhuth
Copy link
Contributor Author

Things that I think should happen but don't want to do without further discussion:

  • The behavior of the depth parameter in quickflat should be changed to match webgl (and, what I have learned, is preferred by anatomists): depth=0 corresponds to the pial surface, and depth=1 corresponds to the white matter surface. (Interestingly, anatomists prefer this because the pial boundary is extremely clear while the gray/white boundary is somewhat open for interpretation.) This is a pretty minor change and shouldn't affect most people, afaik.
  • I think we should replace the current method for computing the fiducial surface, which is equidistant from the pial and wm surfaces, with a mid-cortical surface that has equal volume above and below. This is a much larger change, but I'm not sure how broad the effects would be. Please give me thoughts.
  • We should consider changing the behavior (or enabling as an alternative) of depth-averaged sampling (in quickflat and webgl) so that it uses volume-based instead of distance-based stratification. This would have the effect of equally weighting data from each cortical layer. The current method overweights deep layers in sulci (because they have larger volume there) and overweights shallow layers on gyri (same).
  • Based on conversations with @kwagstyl I'm leaning more heavily toward the prospect of replacing the smoothwm surfaces that we take from freesurfer with the more standard white surfaces. One potential issue with volume-based stratification (and, to be fair, with the old method as well) is that it relies strongly on the correspondence that freesurfer establishes between vertices on the pial and white matter surfaces. That correspondence is approximate in any case, but seems much more likely to be accurate in the original white surface than in smoothwm.

@alexhuth
Copy link
Contributor Author

alexhuth commented Jan 8, 2018

Btw here is a short presentation about this with some useful links: https://docs.google.com/presentation/d/1akgbYcmkN4XNLKPun0ft86YAgzsK2qDRIfs48o31Ew0/edit?usp=sharing

@alexhuth
Copy link
Contributor Author

This doesn't break anything, just adds a button and import options. And I don't have time to do the to-do's now. I'm gonna just merge it.

@alexhuth alexhuth merged commit b9c3edd into glrework-merged Mar 27, 2018
@alexhuth alexhuth deleted the equivolume branch March 9, 2019 02:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant