Import label file from freesurfer

Dear All,

How can I import a custom .label file from Freesurfer that I can visualize on the cortex and use as scout (akin to an annotations file)? I can read it with mne_read_label_file, then convert pos (coordinates) to SCS, however, how can I see it in the GUI and use it as annotation?
Thank you,

Octavian.

Hello:

From the Scout panel, you can import FreeSurfer atlases (.annot annotation files) as scouts by hitting the ‘open file’ icon at the top right of the panel. Then select the Freesurfer file type from the pull-down menu. Let us know if this does not work for you.

Please read the online tutorial “FreeSurfer cortical parcellation”.
It is outdated, it does not reflect the recent changes in the scout interface, but explains the general idea.
The main difference is the way to add the files to the surfaces: use the menu Atlas>Load Atlas in the Scout panel. Or use the “Load scouts file” button, as Sylvain was describing.

Dear All,

I have read the Freesurfer (FS) cortical parcellation tutorial, but this is different. I do not want to import an .annot file, but a custom .label file (a cortical surface patch generated with tksurfer in FS). Again, I can read the file with the mne_read_label_file in BST distrib, but I do not know if it is possible to import it to be able to see it as scout in BST GUI.
Thank you,

Octavian.

Hi Octavian,

I’ve just added the support for those .label files.
It works the same way as for the .annot files, but select the “FreeSurfer .label” file format instead.

Cheers,
Francois

Dear Francois,

Thank you for your very prompt help. When trying to import the .label file, I get the following error:

** Error: Line 2273: line
** Color value contains NaN, or element out of range 0.0 <= value <= 1.0
**
** Call stack:
** >panel_scouts.m>PlotScouts at 2273
** >panel_scouts.m>SetCurrentAtlas at 596
** >panel_scouts.m>SetAtlas at 1160
** >bst_call.m at 28
** >macro_methodcall.m at 39
** >panel_scouts.m at 61
** >import_label.m at 264
** >panel_scouts.m>LoadScouts at 2975
** >panel_scouts.m>@(h,ev)LoadScouts() at 166

Octavian

Can you send me the surface + the .label file ?

Works well, thank you. Now, this label/scout was created on the original rh.pial. Decimating the rh.pial leads to a reduced label as well, however the areas of the original and reduced labels are different (area of the reduced label is smaller with ~ 3 cm2. Is this how it is supposed to work? Thank you,

Octavian.

Dear Francois,

I have the latest version of Brainstorm after the .label file update.
I tried to run the whole pipeline with patient-specific Freesurfer Desikan .annot and .label files importing and visualization on the decimated surfaces. Some of the following may just be due to my ignorance as the Scout menu has changed and deviated from the Tutorial, but some may be real issues, so here I go:

  1. Importing patient-specific Desikan annot files, and my custom label file works superbly, see pictures a and b with labels on the original rh.pial surface in BST.
  2. I had to save each of the two atlases (Desikan .annot files in one atlas, and the .label file in another) as BST scouts in the subject’s anat subfolder, BST does not do it automatically (anymore?)
  3. Is there a way to combine the two atlases in another atlas so that I can see all scouts (prior .annot and .label) at the same time on the same brain, even if overlapping?
  4. Trying to see these patient-specific scouts on preexisting decimated surfaces, such as rh.pial_7500V or cortex (15000V after merging) gives me an error message about the mismatch between the no of vertices between the surface and the scout.
    This is not the case if I double click on the original surfaces (rh.pial and lh.pial) after scout import (in BST format), then decimate them and merge the sampled surfaces into cortex (15000v). However, inspecting the scouts on these decimated surfaces shows errors in brain coverage… see shape changes and white spaces between Desikan files (in BST format, to be sure, picture c), which was not the case when seen on original rh.pial (pic a); also compared morphology of the custom label file in BST format when projected on the original rh.pial (pic b) and downsampled rh.pial_7500V (pic d), as well as the mismatch of the respective label area, smaller by 3 cm2 on the downsampled pial surface.

Thank you,

Octavian.

Dear Octavian,

Decimating the rh.pial leads to a reduced label as well, however the areas of the original and reduced labels are different (area of the reduced label is smaller with ~ 3 cm2

The area information you see in the surface tab in cm3 is calculated based on the surface on which it is. It is the sum of the area of the surrounding triangles. If you decrease the resolution of your surface, you end up replacing curves with straight lines and multiple facets with flat planes. Therefore you decrease the total area of the surface. This diminution of the area of your ROI is an artifact of the spatial downsampling.

Francois

Thank you, Francois,

My concern also is with the decimated, patient-specific Desikan scouts, see the white spaces in between them on pic c, as opposed to the original on the rh.pial (pic a). Are they supposed to schrink and leave those blank spaces in between?
Octavian

  1. Sorry for confusing documentation. I am currently writing all those functions, debugging and adding features (as you could see in the last few weeks). I will update the online tutorials when all this gets somewhat stabilized.

  2. You don’t need to save the scouts as brainstorm .mat files anymore, they will always be saved automatically in the surface file. Now you can chose where to save them, and it will save the path for the next time you save scouts.

  3. I’ve just added a menu “Add scouts to atlas”. So the way to go is:
    a) you select the scouts you want to copy to another atlas
    b) save them as a brainstorm .mat file
    c) switch to the other atlas and
    d) import your scouts in the new atlas using this “Add scouts to atlas” menu

  4. You cannot import freesurfer atlases on anything else but the original freesurfer surfaces.
    The “error in coverage” is an artifact of the method used to display the scouts. A scout = a list of vertices. If you display the edges of the surface in your figure a or c (click on the Edge button in the Surface tab), you would see that there is no discontinuity, and that all the vertices are part of a scout. The grey areas are the faces that are in-between two vertices belonging to different regions.
    At some point, I will probably work on displaying the scouts in a slightly different way (have their border cutting through the faces of the cortex surface), to get rid of this grey border.
    You have this exact same grey line in pics a and c, but it’s much larger on the c because the faces are larger.