You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
setup_source_space(..., surf='...') allow surf to be a list/tuple of names in aseg.mgz, not just surf/ files. The default would stay 'white', which is an alias for (as would be pial and other cortical surfaces) ('lh.white', 'rh.white') to create a cortical surface source space.
Currently we use FIFF.FIFFV_MNE_SURF_LEFT_HEMI = 101 for left, 102 for right; maybe we should use 1000+aseg_value for any non-cortical surface, and left/right hemi would keep their "special" / exceptional values of 101 and 102 (their numbers in aseg.mgz appear to be 2 or 3 and 41 or 42)
The .kind for a SourceSpaces with just these surfaces would be not 'surf' (keep this for cortical surf source spaces only) but instead 'subcortical_surf' or something. And combinations of cortical surf + subcortical surf would be, as usual, 'mixed'.
Figure out morphing somehow. In theory we might be able to do this procedure for fsaverage and use FreeSurfer commands to align the surfaces (make .sphere instead of just .qsphere surfaces). Now that make_morph_maps is not horribly slow anymore, creating the morph maps on the fly might be acceptable since these surfaces in general will have way fewer vertices.
Improve plotting to support multiple surfaces.
The text was updated successfully, but these errors were encountered:
From a meeting with @jasmainak it seems like a tentative workable plan is:
Leave subcortical segmentation to a separate Python package for now (it's a hard problem that takes a while to run, so a separate tool makes sense)
Get that package to output FreeSurfer-compatible .surf files to subjects_dir/subject/... somewhere (surf/subcort.lh.*?)
Build source space support for those files using a variant of the API above. Depending on how FreeSurfer-like the outputs are, it might make sense to create a separate mne.setup_subcortical_source_space, e.g., if the spacing parameter no longer makes sense.
Figure out how to support across-subject smoothing using SourceMorph
Good next steps would be:
@jasmainak share code with me for segmenting cerebellum with me
I run it on sample
Examine outputs
Try hacking something with mne.setup_source_space from it, then forward, then inverse. Then visualize traces with matplotlib for now
It turns out (I think!) you can take just about any subcortical ROI and turn it into a surface using a few FreeSurfer commands:
The
.smooth
surfaces look reasonable for the MNEsample
subject:And they can be inflated to a sphere (so that they can be subdivided via ico/oct) with:
Here is a starting API proposal:
setup_source_space(..., surf='...')
allowsurf
to be a list/tuple of names in aseg.mgz, not justsurf/
files. The default would stay'white'
, which is an alias for (as would bepial
and other cortical surfaces)('lh.white', 'rh.white')
to create a cortical surface source space.FIFF.FIFFV_MNE_SURF_LEFT_HEMI = 101
for left, 102 for right; maybe we should use1000+aseg_value
for any non-cortical surface, and left/right hemi would keep their "special" / exceptional values of 101 and 102 (their numbers inaseg.mgz
appear to be 2 or 3 and 41 or 42).kind
for aSourceSpaces
with just these surfaces would be not'surf'
(keep this for cortical surf source spaces only) but instead'subcortical_surf'
or something. And combinations of cortical surf + subcortical surf would be, as usual,'mixed'
.fsaverage
and use FreeSurfer commands to align the surfaces (make.sphere
instead of just.qsphere
surfaces). Now thatmake_morph_maps
is not horribly slow anymore, creating the morph maps on the fly might be acceptable since these surfaces in general will have way fewer vertices.The text was updated successfully, but these errors were encountered: